Ver Fonte

去掉不需要的代码,编写报工接口

seyason há 1 ano atrás
pai
commit
1aaf08eaa3
39 ficheiros alterados com 5785 adições e 22219 exclusões
  1. 0 4
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/CompanyController.java
  2. 0 21
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAddcostItemController.java
  3. 0 56
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAddcostRecordController.java
  4. 0 40
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAuditorController.java
  5. 0 69
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectBasecostController.java
  6. 0 145
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectBasecostSettingController.java
  7. 0 125
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCategoryController.java
  8. 0 1186
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectController.java
  9. 0 86
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCurrentcostController.java
  10. 0 125
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCustomController.java
  11. 0 21
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectDocfolderController.java
  12. 0 70
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectLevelController.java
  13. 0 66
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectMainController.java
  14. 0 74
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectNotifyUserController.java
  15. 0 50
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectPercentageController.java
  16. 0 91
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectStageController.java
  17. 0 152
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectTimerController.java
  18. 0 21
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectUserSalaryController.java
  19. 0 76
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProviderCategoryController.java
  20. 0 241
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProviderInfoController.java
  21. 0 21
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAlogMembdateController.java
  22. 0 139
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAuditLogController.java
  23. 0 21
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAuditorSettingController.java
  24. 1423 1531
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportController.java
  25. 0 220
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java
  26. 0 976
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/TaskController.java
  27. 0 649
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java
  28. 41 262
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/Report.java
  29. 0 1
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/CompanyService.java
  30. 0 22
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ProjectMainService.java
  31. 0 239
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ProjectService.java
  32. 91 89
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ReportService.java
  33. 0 136
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/CompanyServiceImpl.java
  34. 0 12
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java
  35. 0 109
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProjectMainServiceImpl.java
  36. 0 9846
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  37. 4214 4269
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  38. 4 11
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  39. 12 947
      fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

+ 0 - 4
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/CompanyController.java

@@ -57,10 +57,6 @@ public class CompanyController {
         return msg;
     }
 
-    @RequestMapping("/dataMigration")
-    public HttpRespMsg dataMigration(Integer oldCompanyId,Integer targetCompanyId){
-       return companyService.dataMigration(oldCompanyId,targetCompanyId);
-    }
 
     @RequestMapping("/getSyncInfo")
     public HttpRespMsg getSyncInfo(){

+ 0 - 21
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAddcostItemController.java

@@ -1,21 +0,0 @@
-package com.management.platform.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-05-07
- */
-@RestController
-@RequestMapping("/project-addcost-item")
-public class ProjectAddcostItemController {
-
-}
-

+ 0 - 56
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAddcostRecordController.java

@@ -1,56 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.management.platform.entity.ProjectAddcostRecord;
-import com.management.platform.service.ProjectAddcostRecordService;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-05-07
- */
-@RestController
-@RequestMapping("/project-addcost-record")
-public class ProjectAddcostRecordController {
-    @Resource
-    ProjectAddcostRecordService projectAddcostRecordService;
-
-    /**
-     * 下拨预算
-     * @param item
-     * @param itemList
-     * @return
-     */
-    @RequestMapping("/add")
-    public HttpRespMsg add(ProjectAddcostRecord item, String itemList) {
-        return projectAddcostRecordService.add(item, itemList);
-    }
-
-    /**
-     * 撤销下拨
-     * @param id
-     * @return
-     */
-    @RequestMapping("/revert")
-    public HttpRespMsg revert(Integer id) {
-        return projectAddcostRecordService.revert(id);
-    }
-
-    /**
-     *
-     */
-    @RequestMapping("/getAddList")
-    public HttpRespMsg getAddList(Integer companyId, Integer projectId) {
-        return projectAddcostRecordService.getAddList(companyId, projectId);
-    }
-}
-

+ 0 - 40
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectAuditorController.java

@@ -1,40 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProjectAuditor;
-import com.management.platform.mapper.ProjectAuditorMapper;
-import com.management.platform.service.ProjectAuditorService;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-03-13
- */
-@RestController
-@RequestMapping("/project-auditor")
-public class ProjectAuditorController {
-
-    @Resource
-    private ProjectAuditorMapper projectAuditorMapper;
-
-    @RequestMapping("/getList")
-    private HttpRespMsg getList(Integer projectId) {
-        List<ProjectAuditor> auditorList = projectAuditorMapper.selectList(new QueryWrapper<ProjectAuditor>().eq("project_id", projectId));
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.data = auditorList;
-        return msg;
-    }
-}
-

+ 0 - 69
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectBasecostController.java

@@ -1,69 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProjectBasecost;
-import com.management.platform.entity.ProjectBasecostSetting;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.ProjectBasecostMapper;
-import com.management.platform.mapper.ProjectBasecostSettingMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-08-02
- */
-@RestController
-@RequestMapping("/project-basecost")
-public class ProjectBasecostController {
-
-    @Resource
-    ProjectBasecostMapper projectBasecostMapper;
-    @Resource
-    ProjectBasecostSettingMapper projectBasecostSettingMapper;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    HttpServletRequest request;
-
-    @RequestMapping("/get")
-    public HttpRespMsg get(Integer projectId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectBasecost> list = projectBasecostMapper.selectList(new QueryWrapper<ProjectBasecost>().eq("project_id", projectId));
-        //检查最新的字段是否有
-        User user = userMapper.selectById(request.getHeader("TOKEN"));
-        List<ProjectBasecostSetting> allSettings = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", user.getCompanyId()));
-        List<ProjectBasecost> additionalList = new ArrayList<>();
-        allSettings.forEach(all->{
-            if (!list.stream().filter(costItem->costItem.getBaseId().equals(all.getId())).findAny().isPresent()) {
-                ProjectBasecost add = new ProjectBasecost();
-                add.setBaseName(all.getName());
-                add.setBaseId(all.getId());
-                add.setProjectId(projectId);
-                add.setBaseAmount(0.0);
-                additionalList.add(add);
-            }
-        });
-        if (additionalList.size() > 0) {
-            list.addAll(additionalList);
-        }
-        msg.data = list;
-        return msg;
-    }
-
-
-}
-

+ 0 - 145
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectBasecostSettingController.java

@@ -1,145 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.constant.Constant;
-import com.management.platform.entity.ProjectAddcostItem;
-import com.management.platform.entity.ProjectBasecost;
-import com.management.platform.entity.ProjectBasecostSetting;
-import com.management.platform.entity.ProjectCurrentcost;
-import com.management.platform.mapper.*;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-08-02
- */
-@RestController
-@RequestMapping("/project-basecost-setting")
-public class ProjectBasecostSettingController {
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    ProjectBasecostSettingMapper projectBasecostSettingMapper;
-
-    @Resource
-    ProjectBasecostMapper projectBasecostMapper;
-    @Resource
-    ProjectAddcostItemMapper projectAddcostItemMapper;
-    @Resource
-    ProjectCurrentcostMapper projectCurrentcostMapper;
-
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ProjectBasecostSetting setting) {
-        HttpRespMsg msg = new HttpRespMsg();
-        if (StringUtils.isEmpty(setting.getName())) {
-            //msg.setError("名称不能为空");
-            msg.setError(MessageUtils.message("name.nullNameError"));
-            return msg;
-        }
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        if (setting.getId() == null) {
-            setting.setCompanyId(companyId);
-            int count = projectBasecostSettingMapper.selectCount(new QueryWrapper<ProjectBasecostSetting>().eq("name", setting.getName()).eq("company_id", setting.getCompanyId()));
-            if (count > 0) {
-                //msg.setError("该名称已存在");
-                msg.setError(MessageUtils.message("name.nameRepeat"));
-            } else {
-                projectBasecostSettingMapper.insert(setting);
-                msg.data = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId));
-            }
-        } else {
-            int count = projectBasecostSettingMapper.selectCount(new QueryWrapper<ProjectBasecostSetting>().eq("name", setting.getName())
-                    .eq("company_id", companyId).ne("id", setting.getId()));
-            if (count > 0) {
-                //msg.setError("该名称已存在");
-                msg.setError(MessageUtils.message("name.nameRepeat"));
-            } else {
-                //检查名称是否有变化
-                ProjectBasecostSetting oldSetting = projectBasecostSettingMapper.selectById(setting.getId());
-                if (!setting.getName().equals(oldSetting.getName()) || !setting.getAlarmType().equals(oldSetting.getAlarmType())) {
-                    projectBasecostSettingMapper.updateById(setting);
-                    if (!setting.getName().equals(oldSetting.getName())) {
-                        //名称发生变化了,要更新关联表
-                        ProjectBasecost cost = new ProjectBasecost();
-                        cost.setBaseName(setting.getName());
-                        projectBasecostMapper.update(cost, new QueryWrapper<ProjectBasecost>().eq("base_id", setting.getId()));
-                        ProjectAddcostItem addItem = new ProjectAddcostItem();
-                        addItem.setBaseName(setting.getName());
-                        projectAddcostItemMapper.update(addItem, new QueryWrapper<ProjectAddcostItem>().eq("base_id", setting.getId()));
-                        ProjectCurrentcost currentcost = new ProjectCurrentcost();
-                        currentcost.setBaseName(setting.getName());
-                        projectCurrentcostMapper.update(currentcost, new QueryWrapper<ProjectCurrentcost>().eq("base_id", setting.getId()));
-                    }
-                }
-                msg.data = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId));
-            }
-        }
-
-        return msg;
-    }
-
-    @RequestMapping("/list")
-    public HttpRespMsg list() {
-        HttpRespMsg msg = new HttpRespMsg();
-
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        List<ProjectBasecostSetting> list = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId));
-        if (list.size() == 0) {
-            //生成项目的成本基线默认条目
-            String[] array = Constant.DEFAULT_BASE_COST_ITEMS;
-            for (String baseItem : array) {
-                ProjectBasecostSetting setting = new ProjectBasecostSetting();
-                setting.setName(baseItem);
-                setting.setCompanyId(companyId);
-                projectBasecostSettingMapper.insert(setting);
-            }
-            list = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId));
-        }
-        msg.data = list;
-
-        return msg;
-    }
-
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        ProjectBasecostSetting projectBasecostSetting = projectBasecostSettingMapper.selectById(id);
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        if (!projectBasecostSetting.getCompanyId().equals(companyId)) {
-            //msg.setError("无权操作");
-            msg.setError(MessageUtils.message("access.operationError"));
-        } else {
-            projectBasecostSettingMapper.deleteById(id);
-        }
-
-        return msg;
-    }
-
-
-    @RequestMapping("/getReportBasecostList")
-    public HttpRespMsg getReportBasecostList(Integer companyId) {
-        //返回公司的项目工时预警的成本项列表
-        HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectBasecostSetting> timeBasecostList = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId).eq("alarm_type", 1));
-        msg.data = timeBasecostList;
-        return msg;
-    }
-
-}
-

+ 0 - 125
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCategoryController.java

@@ -1,125 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectCategory;
-import com.management.platform.entity.ProjectMain;
-import com.management.platform.mapper.ProjectCategoryMapper;
-import com.management.platform.mapper.ProjectMainMapper;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-03-24
- */
-@RestController
-@RequestMapping("/project-category")
-public class ProjectCategoryController {
-
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    ProjectCategoryMapper projectCategoryMapper;
-    @Resource
-    ProjectMainMapper projectMainMapper;
-
-    @Resource
-    ProjectMapper projectMapper;
-
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ProjectCategory setting) {
-        HttpRespMsg msg = new HttpRespMsg();
-        if (StringUtils.isEmpty(setting.getName())) {
-            //msg.setError("名称不能为空");
-            msg.setError(MessageUtils.message("name.nullNameError"));
-            return msg;
-        }
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        if (setting.getId() == null) {
-            setting.setCompanyId(companyId);
-            int count = projectCategoryMapper.selectCount(new QueryWrapper<ProjectCategory>().eq("name", setting.getName()).eq("company_id", setting.getCompanyId()));
-            if (count > 0) {
-                //msg.setError("该名称已存在");
-                msg.setError(MessageUtils.message("name.nameRepeat"));
-            } else {
-                projectCategoryMapper.insert(setting);
-                msg.data = projectCategoryMapper.selectList(new QueryWrapper<ProjectCategory>().eq("company_id", companyId));
-            }
-        } else {
-            int count = projectCategoryMapper.selectCount(new QueryWrapper<ProjectCategory>().eq("name", setting.getName())
-                    .eq("company_id", companyId).ne("id", setting.getId()));
-            if (count > 0) {
-                //msg.setError("该名称已存在");
-                msg.setError(MessageUtils.message("name.nameRepeat"));
-            } else {
-                //检查名称是否有变化
-                ProjectCategory oldSetting = projectCategoryMapper.selectById(setting.getId());
-                if ((!setting.getName().equals(oldSetting.getName()))||(!setting.getProBuAudit().equals(oldSetting.getProBuAudit()))||(!setting.getProInchargerAudit().equals(oldSetting.getProInchargerAudit()))) {
-                    projectCategoryMapper.updateById(setting);
-                    Project cost = new Project();
-                    cost.setCategoryName(setting.getName());
-                    projectMapper.update(cost, new QueryWrapper<Project>().eq("category", setting.getId()));
-                }
-                msg.data = projectCategoryMapper.selectList(new QueryWrapper<ProjectCategory>().eq("company_id", companyId));
-            }
-        }
-
-        return msg;
-    }
-
-    @RequestMapping("/list")
-    public HttpRespMsg list() {
-        HttpRespMsg msg = new HttpRespMsg();
-
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        List<ProjectCategory> list = projectCategoryMapper.selectList(new QueryWrapper<ProjectCategory>().eq("company_id", companyId));
-        msg.data = list;
-
-        return msg;
-    }
-
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        ProjectCategory ProjectCategory = projectCategoryMapper.selectById(id);
-        Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
-        Integer cut = projectMapper.selectCount(new QueryWrapper<Project>().eq("category", id));
-        Integer cnt = projectMainMapper.selectCount(new QueryWrapper<ProjectMain>().eq("category_id", id));
-        if(cut>0){
-            //msg.setError("删除失败,已绑定项目");
-            msg.setError(MessageUtils.message("project.deleteErrorByProject"));
-            return msg;
-        }
-        if(cnt>0){
-            //msg.setError("删除失败,已绑定主项目");
-            msg.setError(MessageUtils.message("project.deleteErrorByMaster"));
-            return msg;
-        }
-        if (!ProjectCategory.getCompanyId().equals(companyId)) {
-            //msg.setError("无权操作");
-            msg.setError(MessageUtils.message("access.operationError"));
-        } else {
-            projectCategoryMapper.deleteById(id);
-        }
-        return msg;
-    }
-
-}
-

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 1186
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectController.java


+ 0 - 86
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCurrentcostController.java

@@ -1,86 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProjectBasecostSetting;
-import com.management.platform.entity.ProjectCurrentcost;
-import com.management.platform.mapper.ProjectBasecostSettingMapper;
-import com.management.platform.mapper.ProjectCurrentcostMapper;
-import com.management.platform.mapper.ReportMapper;
-import com.management.platform.service.ProjectCurrentcostService;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-05-07
- */
-@RestController
-@RequestMapping("/project-currentcost")
-public class ProjectCurrentcostController {
-    @Resource
-    private ProjectCurrentcostService projectCurrentcostService;
-    @Resource
-    private ReportMapper reportMapper;
-    @Resource
-    ProjectBasecostSettingMapper projectBasecostSettingMapper;
-
-    @RequestMapping("/get")
-    public HttpRespMsg get(Integer companyId, Integer projectId) {
-        List<ProjectCurrentcost> projectCurrentcosts = projectCurrentcostService.list(new QueryWrapper<ProjectCurrentcost>().eq("project_id", projectId));
-        HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectBasecostSetting> basecostSettingList = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId).eq("alarm_type", 1));
-        List<Integer> projectIds = new ArrayList<>();
-        projectIds.add(projectId);
-        List<Map<String, Object>> projectCost = reportMapper.getOneProjectBaseCost(projectId);
-
-        //设置alarmType类型, 实际成本
-        projectCurrentcosts.forEach(cur->{
-            Optional<ProjectBasecostSetting> first = basecostSettingList.stream().filter(base -> base.getId().equals(cur.getBaseId())).findFirst();
-            if (first.isPresent()) {
-                cur.setAlarmType(first.get().getAlarmType());
-            }
-            for (Map<String, Object> map : projectCost) {
-                int bid = (int)map.get("basecostId");
-                if (bid == cur.getBaseId()) {
-                    double cost = ((BigDecimal)map.get("cost")).doubleValue();
-                    cur.setRealCost(cost);
-                    break;
-                }
-            }
-        });
-
-//        double cost = reportMapper.getOneProjectCost(projectId);
-//        HashMap map = new HashMap();
-//        map.put("list", projectCurrentcosts);
-//        map.put("reportCost", cost);
-        msg.data = projectCurrentcosts;
-        return msg;
-    }
-
-    @RequestMapping("/getTimeSheetCostListByProject")
-    public HttpRespMsg getTimeSheetCostListByProject(Integer companyId, Integer projectId) {
-        List<ProjectCurrentcost> projectCurrentcosts = projectCurrentcostService.list(new QueryWrapper<ProjectCurrentcost>().eq("project_id", projectId));
-        HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectBasecostSetting> basecostSettingList = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId).eq("alarm_type", 1));
-        //取alarmType为1的,即是工时预警类型的
-        projectCurrentcosts = projectCurrentcosts.stream().filter(cur->{
-            int alarmType = basecostSettingList.stream().filter(base->base.getId().equals(cur.getBaseId())).findFirst().get().getAlarmType();
-            return alarmType == 1;
-        }).collect(Collectors.toList());
-        msg.data = projectCurrentcosts;
-        return msg;
-    }
-}
-

+ 0 - 125
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectCustomController.java

@@ -1,125 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectCustom;
-import com.management.platform.mapper.ProjectCustomMapper;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectCustomService;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2023-03-20
- */
-@RestController
-@RequestMapping("/project-custom")
-public class ProjectCustomController {
-    @Autowired
-    private ProjectCustomService projectCustomService;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private ProjectCustomMapper projectCustomMapper;
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    private ProjectMapper projectMapper;
-    @RequestMapping("/editProjectCustom")
-    public HttpRespMsg editProjectCustom(ProjectCustom projectCustom){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectCustom> projectCustomList = projectCustomMapper.selectList(new QueryWrapper<ProjectCustom>().eq("company_id", companyId));
-        List<String> nameList=new ArrayList<>();
-        List<ProjectCustom> customList = projectCustomList.stream().filter(pl -> pl.getCustomType().equals(projectCustom.getCustomType())).collect(Collectors.toList());
-        customList.forEach(pc->{
-            nameList.add(pc.getCustomName());
-        });
-        if(nameList.contains(projectCustom.getCustomName())){
-            httpRespMsg.setError("名称已存在");
-            return httpRespMsg;
-        }
-        projectCustomService.saveOrUpdate(projectCustom);
-        return httpRespMsg;
-    }
-    @RequestMapping("/getProjectCustom")
-    public HttpRespMsg getProjectCustom(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectCustom> projectCustomList = projectCustomMapper.selectList(new QueryWrapper<ProjectCustom>().eq("company_id", companyId));
-        httpRespMsg.data=projectCustomList;
-        return httpRespMsg;
-    }
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id,HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectCustom> projectCustomList = projectCustomMapper.selectList(new QueryWrapper<ProjectCustom>().eq("company_id", companyId));
-        Integer num=null;
-        Object result=null;
-        for(int i=0;i<projectCustomList.size();i++){
-            if(id.equals(projectCustomList.get(i).getId())){
-                num=i;
-            }
-        }
-        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
-        for(Project project:projectList) {
-            switch (num){
-                case 0:
-                    result=project.getPlate1();
-                    break;
-                case 1:
-                    result=project.getPlate2();
-                    break;
-                case 2:
-                    result=project.getPlate3();
-                    break;
-                case 3:
-                    result=project.getPlate4();
-                    break;
-                case 4:
-                    result=project.getPlate5();
-                    break;
-                case 5:
-                    result=project.getPlate6();
-                    break;
-                case 6:
-                    result=project.getPlate7();
-                    break;
-                case 7:
-                    result=project.getPlate8();
-                    break;
-                case 8:
-                    result=project.getPlate9();
-                    break;
-                case 9:
-                    result=project.getPlate10();
-                    break;
-            }
-            if(result!=null){
-                httpRespMsg.setError("当前配置下已存在数据");
-                return httpRespMsg;
-            }
-        }
-        projectCustomService.removeById(id);
-        return new HttpRespMsg();
-    }
-
-}
-

+ 0 - 21
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectDocfolderController.java

@@ -1,21 +0,0 @@
-package com.management.platform.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-04-19
- */
-@RestController
-@RequestMapping("/project-docfolder")
-public class ProjectDocfolderController {
-
-}
-

+ 0 - 70
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectLevelController.java

@@ -1,70 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectLevel;
-import com.management.platform.entity.TimeType;
-import com.management.platform.mapper.TimeTypeMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectLevelService;
-import com.management.platform.service.ProjectService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-07-25
- */
-@RestController
-@RequestMapping("/project-level")
-public class ProjectLevelController {
-    @Autowired
-    private ProjectLevelService projectLevelService;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private ProjectService projectService;
-    @Resource
-    private TimeTypeMapper timeTypeMapper;
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(HttpServletRequest request, ProjectLevel projectLevel){
-        return projectLevelService.addOrMod(request,projectLevel);
-    }
-    @RequestMapping("/list")
-    public HttpRespMsg list(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectLevel> projectLevelList = projectLevelService.list(new QueryWrapper<ProjectLevel>().eq("company_id", companyId));
-        httpRespMsg.data=projectLevelList;
-        return httpRespMsg;
-    }
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id,HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        TimeType timeType = timeTypeMapper.selectById(companyId);
-        if(timeType.getProjectLevelState()==1){
-            int cut = projectService.count(new QueryWrapper<Project>().eq("level", id).eq("company_id",companyId));
-            if(cut>0){
-                //httpRespMsg.setError("已绑定项目");
-                httpRespMsg.setError(MessageUtils.message("project.BoundItems"));
-                return httpRespMsg;
-            }
-            projectLevelService.removeById(id);
-        }
-        return httpRespMsg;
-    }
-}
-

+ 0 - 66
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectMainController.java

@@ -1,66 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectMain;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectMainService;
-import com.management.platform.service.ProjectService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-06-28
- */
-@RestController
-@RequestMapping("/project-main")
-public class ProjectMainController {
-    @Autowired
-    private ProjectMainService projectMainService;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private ProjectService projectService;
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(HttpServletRequest request,ProjectMain projectMain){
-       return projectMainService.addOrMod(request,projectMain);
-    }
-    @RequestMapping("/list")
-    public HttpRespMsg list(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectMain> projectMainList = projectMainService.list(new QueryWrapper<ProjectMain>().eq("company_id", companyId));
-        httpRespMsg.data=projectMainList;
-        return httpRespMsg;
-    }
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        int cut = projectService.count(new QueryWrapper<Project>().eq("project_main_id", id));
-        if(cut>0){
-            //httpRespMsg.setError("已绑定项目");
-            httpRespMsg.setError(MessageUtils.message("project.BoundItems"));
-            return httpRespMsg;
-        }
-        projectMainService.removeById(id);
-        return httpRespMsg;
-    }
-    @RequestMapping("/getListByCategory")
-    public HttpRespMsg getListByCategory(Integer categoryId){
-        return projectMainService.getListByCategory(categoryId);
-    }
-}
-

+ 0 - 74
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectNotifyUserController.java

@@ -1,74 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProjectNotifyUser;
-import com.management.platform.service.ProjectNotifyUserService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-09-01
- */
-@RestController
-@RequestMapping("/project-notify-user")
-public class ProjectNotifyUserController {
-    @Resource
-    ProjectNotifyUserService projectNotifyUserService;
-
-    @RequestMapping("/modify")
-    public HttpRespMsg add(Integer projectId, String chosenLeaders) {
-        HttpRespMsg msg = new HttpRespMsg();
-        projectNotifyUserService.remove(new QueryWrapper<ProjectNotifyUser>().eq("project_id", projectId));
-
-        if (chosenLeaders != null && chosenLeaders.length() > 0) {
-            JSONArray array = JSONArray.parseArray(chosenLeaders);
-            List<ProjectNotifyUser> notifyUsers = new ArrayList<>();
-            for (int i = 0;i<array.size(); i++) {
-                JSONObject jsonObject = array.getJSONObject(i);
-                ProjectNotifyUser projectNotifyUser = JSONObject.toJavaObject(jsonObject, ProjectNotifyUser.class);
-                projectNotifyUser.setProjectId(projectId);
-                notifyUsers.add(projectNotifyUser);
-            }
-            projectNotifyUserService.saveBatch(notifyUsers);
-        }
-        return msg;
-
-    }
-
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        boolean success = projectNotifyUserService.removeById(id);
-        if (!success) {
-            //msg.setError("记录不存在,操作失败");
-            msg.setError(MessageUtils.message("project.RecordNotExist"));
-        }
-        return msg;
-    }
-
-    @RequestMapping("/get")
-    public HttpRespMsg get(Integer projectId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.data= projectNotifyUserService.list(new QueryWrapper<ProjectNotifyUser>().eq("project_id", projectId));
-        return msg;
-    }
-
-
-
-}
-

+ 0 - 50
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectPercentageController.java

@@ -1,50 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.management.platform.service.ProjectPercentageService;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-02-26
- */
-@RestController
-@RequestMapping("/project-percentage")
-public class ProjectPercentageController {
-
-    @Resource
-    private ProjectPercentageService projectPercentageService;
-
-    @RequestMapping("/saveMonthSetting")
-    public HttpRespMsg saveMonthSetting(String projectCols, String userSettings, String ymonth) {
-        return projectPercentageService.saveMonthSetting(projectCols, userSettings, ymonth);
-    }
-
-    @RequestMapping("/getMonthSetting")
-    public HttpRespMsg getMonthSetting(String ymonth) {
-        return projectPercentageService.getMonthSetting(ymonth);
-    }
-
-    @RequestMapping("/importData")
-    public HttpRespMsg importData(Integer companyId, Integer withCheckIn,
-                                  MultipartFile file, HttpServletRequest request,String ymonth) throws Exception {
-        return projectPercentageService.importData(companyId,withCheckIn, file, request,ymonth);
-    }
-
-    @RequestMapping("/getTemplate")
-    public HttpRespMsg getTemplate(String ymonth) throws Exception {
-        return projectPercentageService.getTemplate(ymonth);
-    }
-}
-

+ 0 - 91
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectStageController.java

@@ -1,91 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectStage;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectService;
-import com.management.platform.service.ProjectStageService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-07-18
- */
-@RestController
-@RequestMapping("/project-stage")
-public class ProjectStageController {
-    @Autowired
-    private ProjectStageService projectStageService;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private ProjectService projectService;
-
-    @RequestMapping("/list")
-    public HttpRespMsg list(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProjectStage> projectStageList = projectStageService.list(new QueryWrapper<ProjectStage>().eq("company_id", companyId));
-        httpRespMsg.data=projectStageList;
-        return httpRespMsg;
-    }
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ProjectStage projectStage, HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        projectStage.setCompanyId(companyId);
-        if(projectStage.getProjectStageName().equals("")){
-            httpRespMsg.setError(MessageUtils.message("name.nullNameError"));
-        }
-        if(projectStage.getId()!=null){
-            int cut = projectStageService.count(new QueryWrapper<ProjectStage>().eq("project_stage_name", projectStage.getProjectStageName()).eq("company_id",companyId).ne("id",projectStage.getId()));
-            if(cut>0){
-                //httpRespMsg.setError("阶段名称已存在");
-                httpRespMsg.setError(MessageUtils.message("project.StageNameError"));
-                return httpRespMsg;
-            }
-            projectStageService.updateById(projectStage);
-        }else {
-            int cut = projectStageService.count(new QueryWrapper<ProjectStage>().eq("project_stage_name", projectStage.getProjectStageName()).eq("company_id", companyId));
-            if(cut>0){
-                //httpRespMsg.setError("阶段名称已存在");
-                httpRespMsg.setError(MessageUtils.message("project.StageNameError"));
-                return httpRespMsg;
-            }
-            projectStageService.save(projectStage);
-        }
-        return httpRespMsg;
-    }
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id){
-        HttpRespMsg httpRespMsg =new HttpRespMsg();
-        int cut = projectService.count(new QueryWrapper<Project>().eq("current_stage_id", id));
-        if(cut>0){
-            //httpRespMsg.setError("该阶段已被使用");
-            httpRespMsg.setError(MessageUtils.message("project.StageUsedError"));
-            return httpRespMsg;
-        }
-        if(projectStageService.removeById(id)){
-            return httpRespMsg;
-        }
-        //httpRespMsg.setError("参数异常");
-        httpRespMsg.setError(MessageUtils.message("other.parameterError"));
-        return httpRespMsg;
-    }
-
-}
-

+ 0 - 152
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectTimerController.java

@@ -1,152 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProjectTimer;
-import com.management.platform.entity.Report;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.ProjectTimerMapper;
-import com.management.platform.mapper.ReportMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.apache.log4j.helpers.DateTimeDateFormat;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-03-17
- */
-@RestController
-@RequestMapping("/project-timer")
-public class ProjectTimerController {
-    @Resource
-    private ProjectTimerMapper projectTimerMapper;
-    @Resource
-    private ReportMapper reportMapper;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private HttpServletRequest request;
-
-    /**
-     * 获取定时器
-     */
-    @RequestMapping("/getMyTimer")
-    public HttpRespMsg getMyTimer() {
-        QueryWrapper<ProjectTimer> query = new QueryWrapper<ProjectTimer>();
-        String userId = request.getHeader("Token");
-
-        query.eq("user_id", userId);
-        query.orderByDesc("id");
-        HttpRespMsg msg = new HttpRespMsg();
-        List<ProjectTimer> list = projectTimerMapper.selectList(query);
-        LocalDateTime now = LocalDateTime.now();
-        list.forEach(t->{
-            if (t.getEndTime() == null) {
-                t.setTimer(now.toEpochSecond(ZoneOffset.ofHours(8)) - t.getStartTime().toEpochSecond(ZoneOffset.ofHours(8)));
-            } else {
-                t.setTimer(t.getEndTime().toEpochSecond(ZoneOffset.ofHours(8)) - t.getStartTime().toEpochSecond(ZoneOffset.ofHours(8)));
-            }
-        });
-        msg.data = list;
-        return msg;
-    }
-
-    @RequestMapping("/addTimer")
-    public HttpRespMsg addTimer(ProjectTimer timer) {
-        String userId = request.getHeader("Token");
-        timer.setUserId(userId);
-        timer.setStartTime(LocalDateTime.now());
-        projectTimerMapper.insert(timer);
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.data = timer;
-        return msg;
-    }
-
-
-    @RequestMapping("/deleteTimer")
-    public HttpRespMsg deleteTimer(Integer id) {
-        String userId = request.getHeader("Token");
-        HttpRespMsg msg = new HttpRespMsg();
-        ProjectTimer timer = projectTimerMapper.selectById(id);
-        if (!timer.getUserId().equals(userId)) {
-            //msg.setError("非创建人无权删除");
-            msg.setError(MessageUtils.message("access.createDelete"));
-        } else {
-            projectTimerMapper.deleteById(id);
-        }
-        return msg;
-    }
-
-
-    @RequestMapping("/endTimer")
-    public HttpRespMsg endTimer(Integer id) {
-        String userId = request.getHeader("Token");
-        HttpRespMsg msg = new HttpRespMsg();
-        ProjectTimer timer = projectTimerMapper.selectById(id);
-        if (!timer.getUserId().equals(userId)) {
-            //msg.setError("非创建人无权结束");
-            msg.setError(MessageUtils.message("access.createEnd"));
-        } else {
-            timer.setEndTime(LocalDateTime.now());
-            projectTimerMapper.updateById(timer);
-            msg.data = timer;
-        }
-        return msg;
-    }
-
-    @RequestMapping("/tranferToReport")
-    public HttpRespMsg tranferToReport(Integer id, String content) {
-        String userId = request.getHeader("Token");
-        User user = userMapper.selectById(userId);
-        HttpRespMsg msg = new HttpRespMsg();
-        ProjectTimer timer = projectTimerMapper.selectById(id);
-        if (!timer.getUserId().equals(userId)) {
-            //msg.setError("非创建人无权操作");
-            msg.setError(MessageUtils.message("access.createOperation"));
-        } else {
-            //创建日报
-            DateTimeFormatter df = DateTimeFormatter.ofPattern("HH:mm");
-            Report report = new Report();
-            report.setSubProjectId(timer.getSubProjectId());
-            report.setProjectId(timer.getProjectId());
-            report.setCreatorId(timer.getUserId());
-            report.setContent(content);
-            report.setCreateDate(timer.getStartTime().toLocalDate());
-            report.setStartTime(df.format(timer.getStartTime()));
-            report.setEndTime(df.format(timer.getEndTime()));
-            report.setReportTimeType(2);//2-按时间段录入
-            //计算时长
-            long time = timer.getEndTime().toEpochSecond(ZoneOffset.ofHours(8)) - timer.getStartTime().toEpochSecond(ZoneOffset.ofHours(8));
-            int minutes = (int)time/60;
-            double hours = (minutes*1.0f/60);
-            report.setWorkingTime(hours);
-            report.setCost(user.getCost().multiply(new BigDecimal(hours)));
-
-            reportMapper.insert(report);
-            timer.setReportId(report.getId());
-            projectTimerMapper.updateById(timer);
-            msg.data = timer;
-        }
-        return msg;
-    }
-
-}
-

+ 0 - 21
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProjectUserSalaryController.java

@@ -1,21 +0,0 @@
-package com.management.platform.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-05-19
- */
-@RestController
-@RequestMapping("/project-user-salary")
-public class ProjectUserSalaryController {
-
-}
-

+ 0 - 76
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProviderCategoryController.java

@@ -1,76 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.ProviderCategory;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProviderCategoryService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-07-12
- */
-@RestController
-@RequestMapping("/provider-category")
-public class ProviderCategoryController {
-    @Resource
-    private ProviderCategoryService providerCategoryService;
-    @Resource
-    private UserMapper userMapper;
-
-    @RequestMapping("/list")
-    public HttpRespMsg list(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<ProviderCategory> providerCategoryList = providerCategoryService.list(new QueryWrapper<ProviderCategory>().eq("company_id", companyId));
-        httpRespMsg.data=providerCategoryList;
-        return httpRespMsg;
-    }
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ProviderCategory providerCategory,HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        providerCategory.setCompanyId(companyId);
-        if(providerCategory.getId()!=null){
-            int cut = providerCategoryService.count(new QueryWrapper<ProviderCategory>().eq("provider_category_name", providerCategory.getProviderCategoryName()).eq("company_id",companyId).ne("id",providerCategory.getId()));
-            if(cut>0){
-                //httpRespMsg.setError("分类名称已存在");
-                httpRespMsg.setError(MessageUtils.message("name.CategoryNameRepeat"));
-                return httpRespMsg;
-            }
-            providerCategoryService.updateById(providerCategory);
-        }else {
-            int cut = providerCategoryService.count(new QueryWrapper<ProviderCategory>().eq("provider_category_name", providerCategory.getProviderCategoryName()).eq("company_id", companyId));
-            if(cut>0){
-                //httpRespMsg.setError("分类名称已存在");
-                httpRespMsg.setError(MessageUtils.message("name.CategoryNameRepeat"));
-                return httpRespMsg;
-            }
-            providerCategoryService.save(providerCategory);
-        }
-        return httpRespMsg;
-    }
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id){
-        HttpRespMsg httpRespMsg =new HttpRespMsg();
-        if(providerCategoryService.removeById(id)){
-            return httpRespMsg;
-        }
-        //httpRespMsg.setError("参数异常");
-        httpRespMsg.setError(MessageUtils.message("other.parameterError"));
-        return httpRespMsg;
-    }
-}
-

+ 0 - 241
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ProviderInfoController.java

@@ -1,241 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProviderInfo;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.ProviderInfoMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProviderInfoService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-07-07
- */
-@RestController
-@RequestMapping("/provider-info")
-public class ProviderInfoController {
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    ProjectMapper projectMapper;
-    @Resource
-    ProviderInfoMapper providerInfoMapper;
-    @Resource
-    ProviderInfoService providerInfoService;
-
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ProviderInfo info) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-
-        if (info.getId() == null) {
-            if (!StringUtils.isEmpty(info.getProviderCode())) {
-                int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId()).eq("provider_code", info.getProviderCode()));
-                if (cnt > 0) {
-                    //msg.setError("供货商编号已存在");
-                    msg.setError(MessageUtils.message("provider.noRepeat"));
-                    return msg;
-                }
-            }
-            if (!StringUtils.isEmpty(info.getProviderName())) {
-                if (info.getProviderCategoryId() != null) {
-                    int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId()).eq("provider_name", info.getProviderName()).eq("provider_category_id", info.getProviderCategoryId()));
-                    if (cnt > 0) {
-                        //msg.setError("该分类下供货商名称已存在");
-                        msg.setError(MessageUtils.message("provider.classNameRepeat"));
-                        return msg;
-                    }
-                } else {
-                    int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId()).eq("provider_name", info.getProviderName()));
-                    if (cnt > 0) {
-                        //msg.setError("该供货商名称已存在");
-                        msg.setError(MessageUtils.message("provider.NameRepeat"));
-                        return msg;
-                    }
-                }
-
-            }
-            info.setCompanyId(user.getCompanyId());
-            providerInfoMapper.insert(info);
-        } else {
-            if (!StringUtils.isEmpty(info.getProviderCode())) {
-                int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>()
-                        .eq("company_id", user.getCompanyId()).eq("provider_code", info.getProviderCode()).ne("id", info.getId()));
-                if (cnt > 0) {
-                    //msg.setError("供货商编号已存在");
-                    msg.setError(MessageUtils.message("provider.noRepeat"));
-                    return msg;
-                }
-            }
-            if (!StringUtils.isEmpty(info.getProviderName())) {
-                if (info.getProviderCategoryId() != null) {
-                    int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>()
-                            .eq("company_id", user.getCompanyId()).eq("provider_name", info.getProviderName()).eq("provider_category_id", info.getProviderCategoryId()).ne("id", info.getId()));
-                    if (cnt > 0) {
-                        //msg.setError("该分类下供货商名称已存在");
-                        msg.setError(MessageUtils.message("provider.classNameRepeat"));
-                        return msg;
-                    }
-                } else {
-                    int cnt = providerInfoMapper.selectCount(new QueryWrapper<ProviderInfo>()
-                            .eq("company_id", user.getCompanyId()).eq("provider_name", info.getProviderName()).ne("id", info.getId()));
-                    if (cnt > 0) {
-                        //msg.setError("该分类下供货商名称已存在");
-                        msg.setError(MessageUtils.message("provider.classNameRepeat"));
-                        return msg;
-                    }
-                }
-
-
-            }
-
-            if(StringUtils.isEmpty(info.getProviderCategoryName())){
-                info.setProviderCategoryId(0);
-            }
-            info.setCompanyId(user.getCompanyId());
-            providerInfoMapper.updateById(info);
-            //更新项目表中的客户名称
-            Project p = new Project();
-            p.setCustomerName(info.getProviderName());
-            projectMapper.update(p, new QueryWrapper<Project>().eq("customer_id", info.getId()));
-        }
-        return msg;
-    }
-
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        ProviderInfo providerInfo = providerInfoMapper.selectById(id);
-        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, project_name, provider_ids, provider_names").like("provider_ids", id+"").like("provider_names", providerInfo.getProviderName()));
-        if (projectList.size() > 0) {
-            String containProjectNames = projectList.stream().filter(p->{
-                String[] split = p.getProviderIds().split(",");
-                boolean containId = Arrays.stream(split).anyMatch(s->s.equals(id+""));
-                return containId;
-            }).map(Project::getProjectName).collect(Collectors.joining(","));
-            if (!StringUtils.isEmpty(containProjectNames)) {
-                //msg.setError("无法删除,以下项目已关联此供应商:"+containProjectNames);
-                msg.setError(MessageUtils.message("provider.deleteError",containProjectNames));
-                return msg;
-            }
-        }
-        int r = providerInfoMapper.delete(new QueryWrapper<ProviderInfo>().eq("id", id).eq("company_id", user.getCompanyId()));
-        if (r <= 0) {
-            //msg.setError("无权删除");
-            msg.setError(MessageUtils.message("access.deleteError"));
-        }
-        return msg;
-    }
-    @RequestMapping("/batchDelete")
-    public HttpRespMsg batchDelete(String batchIds) {
-        HttpRespMsg msg = new HttpRespMsg();
-        if(!StringUtils.isEmpty(batchIds)){
-            String[] split = batchIds.split(",");
-            List<String> list = Arrays.asList(split);
-            String token = request.getHeader("TOKEN");
-            User user = userMapper.selectById(token);
-
-            List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, project_name, provider_ids, provider_names").eq("company_id", user.getCompanyId()).isNotNull("provider_ids"));
-            if(projectList.size()>0){
-                String str = null;
-                for (String providerId: list) {
-                    String names = projectList.stream().filter(p->{
-                        String[] hasIds = p.getProviderIds().split(",");
-                        boolean containId = Arrays.stream(hasIds).anyMatch(s->s.equals(providerId+""));
-                        return containId;
-                    }).map(Project::getProjectName).collect(Collectors.joining(","));
-                    if (!StringUtils.isEmpty(names)) {
-                        //str = providerInfoMapper.selectById(Integer.valueOf(providerId)).getProviderName()+"已被以下项目关联:"+ names;
-                        str = MessageUtils.message("project.alreadyRelation",providerInfoMapper.selectById(Integer.valueOf(providerId)).getProviderName(),names);
-                        break;
-                    }
-                }
-                if (str != null) {
-                    msg.setError(str);
-                    return msg;
-                }
-            }
-            providerInfoMapper.deleteBatchIds(list);
-        }
-        return msg;
-    }
-
-
-    @RequestMapping("/list")
-    public HttpRespMsg list(@RequestParam Integer pageIndex, @RequestParam Integer pageSize, String keyword, String sortProp, Integer sortOrder) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        QueryWrapper<ProviderInfo> queryWrapper = new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId());
-        if (!StringUtils.isEmpty(keyword)) {
-            queryWrapper.like("provider_name", keyword);
-        }
-        if (StringUtils.isEmpty(sortProp)) {
-            queryWrapper.orderByDesc("id");
-        } else {
-            if (sortOrder == 0) {
-                //降序
-                queryWrapper.orderByDesc(sortProp);
-            } else {
-                queryWrapper.orderByAsc(sortProp);
-            }
-        }
-        IPage<ProviderInfo> projectIPage = providerInfoMapper.selectPage(new Page<>(pageIndex, pageSize),
-                queryWrapper);
-        List<ProviderInfo> list = projectIPage.getRecords();
-        Long total = projectIPage.getTotal();
-        Map<String, Object> map = new HashMap<>();
-        map.put("records", list);
-        map.put("total", total);
-        msg.data = map;
-        return msg;
-    }
-
-    @RequestMapping("/getAll")
-    public HttpRespMsg getAll() {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        List<ProviderInfo> all = providerInfoMapper.selectList(new QueryWrapper<ProviderInfo>().select("id, provider_name,provider_code").eq("company_id", user.getCompanyId()).orderByDesc("id"));
-        msg.data = all;
-        return msg;
-    }
-
-    @RequestMapping("/importData")
-    public HttpRespMsg importData(HttpServletRequest request, MultipartFile file){
-        return providerInfoService.importData(request,file);
-    }
-
-    @RequestMapping("/exportData")
-    public HttpRespMsg exportData(HttpServletRequest request){
-        return providerInfoService.exportData(request);
-    }
-
-}
-

+ 0 - 21
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAlogMembdateController.java

@@ -1,21 +0,0 @@
-package com.management.platform.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-03-24
- */
-@RestController
-@RequestMapping("/report-alog-membdate")
-public class ReportAlogMembdateController {
-
-}
-

+ 0 - 139
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAuditLogController.java

@@ -1,139 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.management.platform.entity.LocaleInformation;
-import com.management.platform.entity.ReportAlogMembdate;
-import com.management.platform.entity.ReportAuditLog;
-import com.management.platform.entity.User;
-import com.management.platform.entity.vo.SysRichFunction;
-import com.management.platform.mapper.*;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-03-24
- */
-@RestController
-@RequestMapping("/report-audit-log")
-public class ReportAuditLogController {
-
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    ReportAuditLogMapper reportAuditLogMapper;
-    @Resource
-    ReportAlogMembdateMapper reportAlogMembdateMapper;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    SysFunctionMapper sysFunctionMapper;
-    @Resource
-    LocaleInformationMapper localeInformationMapper;
-    @Resource
-    CompanyMapper companyMapper;
-
-    @RequestMapping("getImportAuditLog")
-    public HttpRespMsg getImportAuditLog(Integer companyId, @RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        HttpRespMsg msg = new HttpRespMsg();
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看导审记录");
-        if (functionList.size() > 0) {
-            QueryWrapper<ReportAuditLog> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("company_id", companyId).eq("audit_channel", 0).orderByDesc("indate");
-            IPage<ReportAuditLog> iPage = reportAuditLogMapper.selectPage(new Page<>(pageIndex, pageSize),
-                    queryWrapper);
-            List<ReportAuditLog> list = iPage.getRecords();
-            if (list.size() > 0) {
-                //还有获取各项的人员日期名单
-                List<Integer> ids = list.stream().map(ReportAuditLog::getId).collect(Collectors.toList());
-
-                List<ReportAlogMembdate> membList = reportAlogMembdateMapper.selectList(new QueryWrapper<ReportAlogMembdate>().in("rlog_id", ids));
-                list.forEach(l->{
-                    l.setMembdateList(membList.stream().filter(m->m.getRlogId().equals(l.getId())).collect(Collectors.toList()));
-                });
-            }
-            if (companyMapper.selectById(companyId).getIsInternational() == 1) {
-                //国际化版本
-                LocaleInformation locale = localeInformationMapper.selectById(companyId);
-                TimeZone curZone = TimeZone.getTimeZone(locale.getTimezone());
-                int offsetSeconds = (curZone.getRawOffset() - TimeZone.getTimeZone("GMT+8").getRawOffset())/1000;
-                //时区转换,默认数据库存的是GMT+8
-                DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
-                for (ReportAuditLog reportAuditLog : list) {
-                    String inDate = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(reportAuditLog.getIndate());
-                    LocalDateTime time = LocalDateTime.parse(inDate, dtf);
-                    time = time.plusSeconds(offsetSeconds);
-                    reportAuditLog.setIndate(time);
-                }
-            }
-            Long total = iPage.getTotal();
-            Map<String, Object> map = new HashMap<>();
-            map.put("records", list);
-            map.put("total", total);
-            msg.data = map;
-        } else {
-            Map<String, Object> map = new HashMap<>();
-            map.put("records", new ArrayList<>());
-            map.put("total", 0);
-            msg.data = map;
-        }
-        return msg;
-    }
-
-
-    @RequestMapping("getProjectReportAuditLog")
-    public HttpRespMsg getProjectReportAuditLog(Integer companyId, @RequestParam Integer pageIndex, @RequestParam Integer pageSize) {
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        HttpRespMsg msg = new HttpRespMsg();
-        QueryWrapper<ReportAuditLog> queryWrapper = new QueryWrapper<>();
-        //检查权限,是否可以看全部的
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部审核记录");
-        if (functionList.size() == 0) {
-            //每个人看自己的
-            queryWrapper.eq("company_id", companyId).eq("audit_channel", 1).eq("user_id", user.getId()).orderByDesc("indate");
-        } else {
-            queryWrapper.eq("company_id", companyId).eq("audit_channel", 1).orderByDesc("indate");
-        }
-
-        IPage<ReportAuditLog> iPage = reportAuditLogMapper.selectPage(new Page<>(pageIndex, pageSize),
-                queryWrapper);
-        List<ReportAuditLog> list = iPage.getRecords();
-        if (list.size() > 0) {
-            //还有获取各项的人员日期名单
-            List<Integer> ids = list.stream().map(ReportAuditLog::getId).collect(Collectors.toList());
-
-            List<ReportAlogMembdate> membList = reportAlogMembdateMapper.selectList(new QueryWrapper<ReportAlogMembdate>().in("rlog_id", ids));
-            list.forEach(l->{
-                l.setMembdateList(membList.stream().filter(m->m.getRlogId().equals(l.getId())).collect(Collectors.toList()));
-            });
-        }
-
-        Long total = iPage.getTotal();
-        Map<String, Object> map = new HashMap<>();
-        map.put("records", list);
-        map.put("total", total);
-        msg.data = map;
-        return msg;
-    }
-}
-

+ 0 - 21
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportAuditorSettingController.java

@@ -1,21 +0,0 @@
-package com.management.platform.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-09-28
- */
-@RestController
-@RequestMapping("/report-auditor-setting")
-public class ReportAuditorSettingController {
-
-}
-

Diff do ficheiro suprimidas por serem muito extensas
+ 1423 - 1531
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportController.java


+ 0 - 220
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java

@@ -1,220 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ReportExtraDegree;
-import com.management.platform.entity.TimeType;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.ReportExtraDegreeMapper;
-import com.management.platform.mapper.TimeTypeMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectService;
-import com.management.platform.service.ReportExtraDegreeService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.apache.poi.util.StringUtil;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-12-16
- */
-@RestController
-@RequestMapping("/report-extra-degree")
-public class ReportExtraDegreeController {
-
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    ReportExtraDegreeMapper reportExtraDegreeMapper;
-    @Resource
-    ProjectMapper projectMapper;
-    @Resource
-    ProjectService projectService;
-    @Resource
-    ReportExtraDegreeService reportExtraDegreeService;
-    @Resource
-    TimeTypeMapper timeTypeMapper;
-
-    /**
-     * addOrMod添加或者修改
-     * @param info
-     * @return
-     */
-    @RequestMapping("/addOrMod")
-    public HttpRespMsg addOrMod(ReportExtraDegree info) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
-        if (info.getId() == null) {
-            info.setCompanyId(user.getCompanyId());
-            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()).eq("company_id", user.getCompanyId()));
-            if(cut>0){
-                //msg.setError(timeType.getCustomDegreeName()+"名称重复");
-                msg.setError(MessageUtils.message("name.nameRepeatByParam",timeType.getCustomDegreeName()));
-                return msg;
-            }
-            info.setCompanyId(user.getCompanyId());
-            reportExtraDegreeMapper.insert(info);
-        } else {
-            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()).ne("id",info.getId()).eq("company_id", user.getCompanyId()));
-            if(cut>0){
-                //msg.setError(timeType.getCustomDegreeName()+"名称重复");
-                msg.setError(MessageUtils.message("name.nameRepeatByParam",timeType.getCustomDegreeName()));
-                return msg;
-            }
-            //检查名字是否发生变化
-            int id = info.getId();
-            List<Project> existsProjects = projectMapper.selectList(new QueryWrapper<Project>()
-                    .eq("company_id", user.getCompanyId())
-                    .and(wrapper->wrapper.eq("associate_degrees", id)
-                            .or().likeRight("associate_degrees", id+",")
-                            .or().like("associate_degrees", ","+id+",")
-                            .or().likeLeft("associate_degrees", ","+id)));
-            if (existsProjects.size() > 0) {
-                List<Project> updateList = new ArrayList<>();
-                for (Project p : existsProjects) {
-                    String associateDegrees = p.getAssociateDegrees();
-                    String[] split = associateDegrees.split("\\,");
-                    String[] names = p.getAssociateDegreeNames().split("\\,");
-
-                    for (int i=0;i<split.length; i++) {
-                        if (split[i].equals(id+"")) {
-                            names[i] = info.getName();//更换新名字
-                        }
-                    }
-                    String replaceNames = StringUtil.join(names, ",");
-                    Project newP = new Project();
-                    newP.setId(p.getId());
-                    newP.setAssociateDegreeNames(replaceNames);
-                    updateList.add(newP);
-                }
-                projectService.updateBatchById(updateList);
-            }
-            reportExtraDegreeMapper.updateById(info);
-        }
-        return msg;
-    }
-
-    /**
-     * delete删除
-     * @param id
-     * @return
-     */
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        //检查是否已经被使用
-        List<Project> existsProjects = projectMapper.selectList(new QueryWrapper<Project>()
-                        .eq("associate_degrees", id)
-                        .or().likeRight("associate_degrees", id+",")
-                        .or().like("associate_degrees", ","+id+",")
-                        .or().likeLeft("associate_degrees", ","+id));
-        if (existsProjects.size() > 0) {
-            String names = existsProjects.stream().map(Project::getProjectName).collect(Collectors.joining(","));
-            //msg.setError("该数据已经被以下项目关联,无法删除:"+names);
-            msg.setError(MessageUtils.message("project.DateRelation",names));
-            return msg;
-        }
-        int r = reportExtraDegreeMapper.delete(new QueryWrapper<ReportExtraDegree>().eq("id", id).eq("company_id", user.getCompanyId()));
-        if (r <= 0) {
-            //msg.setError("无权删除");
-            msg.setError(MessageUtils.message("access.deleteError"));
-        }
-        return msg;
-    }
-
-    @RequestMapping("/batchDelete")
-    public HttpRespMsg batchDelete(String batchIds) {
-        HttpRespMsg msg = new HttpRespMsg();
-        if(!StringUtils.isEmpty(batchIds)&&!batchIds.equals("")){
-            String[] split = batchIds.split(",");
-            List<String> list = Arrays.asList(split);
-            String token = request.getHeader("TOKEN");
-            User user = userMapper.selectById(token);
-            //检查是否已经被使用
-            QueryWrapper<Project> queryWrapper=new QueryWrapper<>();
-            queryWrapper.in("associate_degrees", list);
-            list.forEach(li->{
-                queryWrapper.or().likeRight("associate_degrees", li+",")
-                        .or().like("associate_degrees", ","+li+",")
-                        .or().likeLeft("associate_degrees", ","+li);
-            });
-            List<Project> existsProjects = projectMapper.selectList(queryWrapper);
-            if (existsProjects.size() > 0) {
-                String names = existsProjects.stream().map(Project::getProjectName).collect(Collectors.joining(","));
-                //msg.setError("该数据已经被以下项目关联,无法删除:"+names);
-                msg.setError(MessageUtils.message("project.DateRelation",names));
-                return msg;
-            }
-            int r = reportExtraDegreeMapper.delete(new QueryWrapper<ReportExtraDegree>().eq("id", list.get(0)).eq("company_id", user.getCompanyId()));
-            if (r <= 0) {
-                //msg.setError("无权删除");
-                msg.setError(MessageUtils.message("access.deleteError"));
-                return msg;
-            }
-            reportExtraDegreeMapper.deleteBatchIds(list);
-        }
-        return msg;
-    }
-
-    /**
-     * 获取全部getAll
-     * @return
-     */
-    @RequestMapping("/getAll")
-    public HttpRespMsg getAll(@RequestParam(required = false, defaultValue = "0") Integer withProjects) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-
-        List<ReportExtraDegree> all = reportExtraDegreeMapper.getAll(user.getCompanyId()); 
-        if (withProjects == 1) {
-            List<Project> allProjects = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", user.getCompanyId()));
-            for (ReportExtraDegree degree : all) {
-                degree.setProjects(allProjects.stream().filter(pro->pro.getAssociateDegreeNames() != null &&
-                        (pro.getAssociateDegreeNames().equals(degree.getName()) || pro.getAssociateDegreeNames().startsWith(degree.getName()+",")
-                            || pro.getAssociateDegreeNames().contains(","+degree.getName()+",")
-                            || pro.getAssociateDegreeNames().endsWith(","+degree.getName()))).map(Project::getProjectName).collect(Collectors.joining(",")));
-                degree.setProjectNum((int) allProjects.stream().filter(pro->pro.getAssociateDegreeNames() != null &&
-                        (pro.getAssociateDegreeNames().equals(degree.getName()) || pro.getAssociateDegreeNames().startsWith(degree.getName()+",")
-                                || pro.getAssociateDegreeNames().contains(","+degree.getName()+",")
-                                || pro.getAssociateDegreeNames().endsWith(","+degree.getName()))).count());
-            }
-        }
-
-        msg.data = all;
-        return msg;
-    }
-    @RequestMapping("/importData")
-    public HttpRespMsg importData(HttpServletRequest request, MultipartFile file){
-       return reportExtraDegreeService.importData(request,file);
-    }
-    @RequestMapping("/exportData")
-    public HttpRespMsg exportData(HttpServletRequest request){
-        return reportExtraDegreeService.exportData(request);
-    }
-}
-

+ 0 - 976
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/TaskController.java

@@ -1,976 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.github.pagehelper.IPage;
-import com.management.platform.entity.*;
-import com.management.platform.entity.vo.SysRichFunction;
-import com.management.platform.mapper.*;
-import com.management.platform.service.*;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.assertj.core.util.Lists;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.time.Duration;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2021-04-19
- */
-@RestController
-@RequestMapping("/task")
-public class TaskController {
-    @Resource
-    private HttpServletRequest request;
-    @Resource
-    private TaskService taskService;
-    @Resource
-    private ReportMapper reportMapper;
-    @Resource
-    private StagesService stagesService;
-    @Resource
-    private ProjectService projectService;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private TaskLogService taskLogService;
-    @Resource
-    private TaskCommentService taskCommentService;
-    @Resource
-    private InformationService informationService;
-    @Resource
-    private TaskProgressService taskProgressService;
-    @Resource
-    private SysFunctionMapper sysFunctionMapper;
-    @Resource
-    private TprogressPaticipatorsService tprogressPaticipatorsService;
-    @Resource
-    private TaskCommentMapper taskCommentMapper;
-    @Resource
-    private TaskMapper taskMapper;
-    @Resource
-    private TaskExecutorMapper taskExecutorMapper;
-    @Resource
-    private ParticipationMapper participationMapper;
-    @Resource
-    private TaskExecutorService taskExecutorService;
-//    @Resource
-//    private CompanyDingdingService companyDingdingService;
-    @Resource
-    private WxCorpInfoService wxCorpInfoService;
-    @Resource
-    private ProjectSeparateMapper projectSeparateMapper;
-    @Resource
-    private GroupParticipatorMapper groupParticipatorMapper;
-    @Resource
-    private DepartmentService departmentService;
-    @Resource
-    private TaskGroupService taskGroupService;
-    @Resource
-    private TaskAddCtrlMapper taskAddCtrlMapper;
-    @Resource
-    private TaskRestartMapper taskRestartMapper;
-    @Resource
-    private TaskPersonLiableMapper taskPersonLiableMapper;
-
-    @RequestMapping("/save")
-    @Transactional
-    public HttpRespMsg save(Task task) throws Exception {
-        String userId = request.getHeader("Token");
-        String executorListStr = task.getExecutorListStr();
-
-        //当前用户
-        User user = userMapper.selectById(userId);
-        HttpRespMsg msg = new HttpRespMsg();
-
-        //新建的任务,需要设置创建人,创建时间
-        if (task.getId() == null) {
-            task.setCreateDate(LocalDate.now());
-            task.setCreaterId(userId);
-            task.setCreaterName(user.getName());
-            task.setCreatorColor(user.getColor());
-            task.setCompanyId(user.getCompanyId());
-        }
-        if (!StringUtils.isEmpty(executorListStr)) {
-            List<User> allUsers = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()));
-            List<TaskExecutor> executorList = JSONArray.parseArray(executorListStr, TaskExecutor.class);
-            task.setExecutorList(executorList);
-            executorList.stream().filter(ex->!StringUtils.isEmpty(ex.getExecutorId())).forEach(ex->{
-                User exeUser = allUsers.stream().filter(al->al.getId().equals(ex.getExecutorId())).findFirst().get();
-                ex.setExecutorName(exeUser.getName());
-                ex.setExecutorColor(exeUser.getColor());
-            });
-            executorList.stream().forEach(ex->{
-                ex.setProjectId(task.getProjectId());
-            });
-            String ids = executorList.stream().filter(f->!StringUtils.isEmpty(f.getExecutorId())).map(TaskExecutor::getExecutorId).collect(Collectors.joining(","));
-            task.setExecutorId(StringUtils.isEmpty(ids)?null:ids);
-            String names = executorList.stream().filter(f->!StringUtils.isEmpty(f.getExecutorId())).map(TaskExecutor::getExecutorName).collect(Collectors.joining(","));
-            task.setExecutorName(StringUtils.isEmpty(names)?null:names);
-            String colors = executorList.stream().filter(f->!StringUtils.isEmpty(f.getExecutorId())).map(TaskExecutor::getExecutorColor).collect(Collectors.joining(","));
-            task.setExecutorColor(StringUtils.isEmpty(colors)?null:colors);
-            //总时长
-            task.setPlanHours(executorList.stream().filter(f->f.getPlanHours() != null).mapToInt(TaskExecutor::getPlanHours).sum());
-            //检查执行人是否在当前分组的参与人当中
-            List<GroupParticipator> groupParticipatorList = groupParticipatorMapper.selectList(new QueryWrapper<GroupParticipator>().eq("group_id", task.getGroupId()));
-            List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().eq("project_id", task.getProjectId()));
-            for (TaskExecutor executor : executorList) {
-                if(!StringUtils.isEmpty(executor.getExecutorId())){
-                    boolean b = groupParticipatorList.stream().anyMatch(gp -> gp.getUserId() != null && gp.getUserId().equals(executor.getExecutorId()));
-                    if(!b){
-                        GroupParticipator g=new GroupParticipator();
-                        g.setGroupId(task.getGroupId());
-                        g.setUserId(executor.getExecutorId());
-                        groupParticipatorMapper.insert(g);
-                    }
-                    boolean b1 = participationList.stream().anyMatch(pl -> pl.getUserId() != null && pl.getUserId().equals(executor.getExecutorId()));
-                    if(!b1){
-                        Participation participation=new Participation();
-                        participation.setUserId(executor.getExecutorId());
-                        participation.setProjectId(task.getProjectId());
-                        participationMapper.insert(participation);
-                    }
-                }
-            }
-        }
-        //有父任务,需要设置名称
-        if (task.getParentTid() != null && task.getParentTname() == null) {
-            task.setParentTname(taskService.getById(task.getParentTid()).getName());
-        }
-        boolean isNew = false;
-        boolean needRecalculateProgress = false;
-        List<String> msgRecepientList = new ArrayList<>();
-        List<Task> needReOrderList = new ArrayList<>();
-        //新建的任务需要计算排序
-        if (task.getId() == null) {
-            isNew = true;
-            QueryWrapper<Task> queryWrapper = new QueryWrapper<Task>();
-            queryWrapper.eq("stages_id", task.getStagesId()).eq("task_status", 0).orderByDesc("seq").last("limit 1");
-            List<Task> taskList = taskService.list(queryWrapper);
-            if (taskList.size() == 0) {
-                task.setSeq(1);
-            } else {
-                task.setSeq(taskList.get(0).getSeq() + 1);
-            }
-            //比当前创建的这条task的seq大于或者等于的,都要往后排一位
-            queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("stages_id", task.getStagesId()).ge("seq", task.getSeq());
-            List<Task> oldTaskList = taskMapper.selectList(queryWrapper);
-            for (Task t : oldTaskList) {
-                Task newT = new Task();
-                newT.setId(t.getId());
-                newT.setSeq(t.getSeq() + 1);
-                needReOrderList.add(newT);
-            }
-            if (task.getExecutorId() != null) {
-                msgRecepientList = task.getExecutorList().stream().filter(exe->!StringUtils.isEmpty(exe.getExecutorId())).map(TaskExecutor::getExecutorId).collect(Collectors.toList());
-            }
-            if (task.getTaskType() == 1) {
-                needRecalculateProgress = true;
-            }
-        } else {
-            //更新的情况,需要对比是否修改了任务标题,更新子任务的parentTname
-            Task oldTask = taskService.getById(task.getId());
-            if (!oldTask.getName().equals(task.getName())) {
-                Task sample = new Task();
-                sample.setParentTname(task.getName());
-                taskService.update(sample, new QueryWrapper<Task>().eq("parent_tid", task.getId()));
-            }
-            List<TaskExecutor> oldExeList = taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", task.getId()));
-            //计算需要移除的执行人
-            List<Integer> ids = oldExeList.stream().filter(old->!task.getExecutorList().stream().anyMatch(newT->newT.getId()!=null&&newT.getId().equals(old.getId())))
-                        .map(TaskExecutor::getId).collect(Collectors.toList());
-            if (ids.size() > 0) {
-                taskExecutorService.removeByIds(ids);
-            }
-            if (task.getExecutorList().size() > 0) {
-                task.getExecutorList().forEach(exe->exe.setTaskId(task.getId()));
-                taskExecutorService.saveOrUpdateBatch(task.getExecutorList());
-                //新增的执行人
-                msgRecepientList = task.getExecutorList().stream().filter(newT->!StringUtils.isEmpty(newT.getExecutorId()) && !oldExeList.stream().anyMatch(old->newT.getExecutorId().equals(old.getExecutorId())))
-                        .map(TaskExecutor::getExecutorId).collect(Collectors.toList());
-            }
-            if(task.getStartDate()==null){
-                taskMapper.updateStartDate(task.getId());
-            }
-            if(task.getEndDate()==null){
-                taskMapper.updateEndDate(task.getId());
-            }
-            if(task.getFinishDate()==null){
-                taskMapper.updateFinishDate(task.getId());
-            }
-            if ((oldTask.getTaskType() == 1 && task.getTaskType() != 1) || (oldTask.getTaskType() != 1 && task.getTaskType() == 1)) {
-                needRecalculateProgress = true;
-            }
-        }
-        System.out.println(task.getStartDate());
-        System.out.println(task.getEndDate());
-        System.out.println(task.getFinishDate());
-        taskService.saveOrUpdate(task);
-        if (task.getExecutorId() == null) {
-            //清空执行人
-            if (!isNew) {
-                taskMapper.removeTaskExecutor(task.getId());
-            }
-        }
-        if (isNew) {
-            //保存任务执行人
-            task.getExecutorList().forEach(exe->exe.setTaskId(task.getId()));
-            taskExecutorService.saveBatch(task.getExecutorList());
-            //重新调整其他任务的手动排序
-            if (needReOrderList.size() > 0) {
-                taskService.updateBatchById(needReOrderList);
-            }
-        }
-
-
-        TaskComment comment = new TaskComment();
-        comment.setTaskId(task.getId());
-        comment.setUserId(user.getId());
-        comment.setUserName(user.getName());
-        comment.setType(isNew?1:2);
-        //comment.setContent(user.getName()+(isNew?"创建":"编辑")+"了任务");
-        comment.setContent(user.getName()+(isNew?MessageUtils.message("entry.create"):MessageUtils.message("entry.editedTask"))+MessageUtils.message("entry.task"));
-        taskCommentMapper.insert(comment);
-
-        //需要重新计算项目进度
-        if (needRecalculateProgress) {
-            updateProjectProgress(task.getProjectId());
-        }
-        if (msgRecepientList.size() > 0) {
-            //发消息通知执行人, 带项目id
-            msgRecepientList.forEach(msgRecepient->{
-                informationService.save(new Information().setType(1).setContent(String.valueOf(task.getProjectId())).setUserId(msgRecepient));
-            });
-            List<User> recpUserList = userMapper.selectList(new QueryWrapper<User>().in("id", msgRecepientList));
-            if (recpUserList.size() > 0) {
-                if (recpUserList.get(0).getDingdingUserid() != null) {
-                    //钉钉用户
-//                    CompanyDingding dingding = companyDingdingService.getOne(new QueryWrapper<CompanyDingding>().eq("company_id", user.getCompanyId()));
-//                    LocalDate endDate = task.getEndDate();
-//                    String endStr = "";
-//                    if (endDate != null) {
-//                        endStr = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(endDate);
-//                    }
-//                    companyDingdingService.sendNewTaskMsg(dingding, recpUserList.stream().map(User::getDingdingUserid).collect(Collectors.joining(",")),
-//                            task.getName(), endStr);
-                } else if (recpUserList.get(0).getCorpwxUserid() != null) {
-                    //企业微信用户
-                    WxCorpInfo wxCorpInfo = wxCorpInfoService.getOne(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
-                    String corpUid = recpUserList.stream().map(User::getCorpwxUserid).distinct().collect(Collectors.joining("|"));
-                    JSONObject json=new JSONObject();
-                    JSONArray dataJson=new JSONArray();
-                    JSONObject jsonObj=new JSONObject();
-                    jsonObj.put("key", "任务内容");
-                    jsonObj.put("value",task.getName());
-                    dataJson.add(jsonObj);
-                    json.put("template_id","tty9TkCAAAovv416zsWtn0e06CJ635HA");
-                    json.put("url", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=task#wechat_redirect");
-                    json.put("content_item",dataJson);
-                    //todo:发送消息提醒任务
-                    wxCorpInfoService.sendWXCorpTemplateMsg(wxCorpInfo, corpUid, json);
-                }
-            }
-        }
-        return msg;
-    }
-
-    private void updateProjectProgress(Integer projectId) {
-        //只有里程碑才更新项目进度, 非已撤销状态的
-        List<Task> all = taskMapper.simpleList(new QueryWrapper<Task>().eq("project_id", projectId).ne("task_status", 2).eq("task_type",1),null,null);
-        Project project = new Project();
-        project.setId(projectId);
-        if (all.size() > 0) {
-            long running = all.stream().filter(a -> a.getTaskStatus() == 1).count();
-            int progress = ((int) running) * 100 / all.size();
-            project.setProgress(progress);
-        } else {
-            project.setProgress(0);
-        }
-        projectService.updateById(project);
-    }
-
-    @RequestMapping("/finish")
-    public HttpRespMsg finish(Task task,String personLiableIds,String reason) {
-        HttpRespMsg msg = new HttpRespMsg();
-        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        //进行完成操作时需要检查子任务是否全部完成
-        if (task.getTaskStatus() == 0) {
-            QueryWrapper<Task> subQuery = new QueryWrapper<Task>();
-            subQuery.eq("parent_tid", task.getId()).eq("task_status", 0);
-            int count = taskService.count(subQuery);
-            if (count > 0) {
-                //msg.setError("请先完成全部子任务");
-                msg.setError(MessageUtils.message("Stages.SubTasksError"));
-                return msg;
-            }
-        }
-        boolean isFinishTask = false;
-        if (task.getTaskStatus() == 0) {
-            task.setTaskStatus(1);
-            isFinishTask = true;
-            //计算排序,需要移动到最后
-            Task old = taskService.getById(task.getId());
-            if (old.getFinishDate() == null) {
-                //仅对没有完成日期的任务设置完成日期
-                task.setFinishDate(LocalDate.now());
-            }
-
-            if (task.getParentTid() == null) {
-                QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("stages_id", old.getStagesId()).isNull("parent_tid").orderByDesc("seq").last("limit 1");
-                List<Task> afterList = taskService.list(queryWrapper);
-                if (afterList.size() > 0) {
-                    //取第一个,也就是正序排序的最后一个
-                    Task lastItem = afterList.get(0);
-                    if (!lastItem.getId().equals(old.getId())) {
-                        task.setSeq(lastItem.getSeq() + 1);//当前操作的任务不是最后一个的情况下,需要把它排到最后,+1
-                    }
-                }
-            }
-            TaskComment taskComment=new TaskComment();
-            taskComment.setUserName(user.getName());
-            taskComment.setContent(user.getName()+ df.format(LocalDateTime.now())+MessageUtils.message("entry.completeTask"));
-            taskComment.setTaskId(task.getId());
-            taskComment.setUserId(user.getId());
-            taskComment.setCreateTime(LocalDateTime.now());
-            taskComment.setType(3);
-            taskCommentMapper.insert(taskComment);
-        } else if (task.getTaskStatus() == 1) {
-            task.setTaskStatus(0);
-            TaskComment taskComment=new TaskComment();
-            taskComment.setUserName(user.getName());
-            taskComment.setContent(user.getName()+ df.format(LocalDateTime.now())+MessageUtils.message("entry.restartTask"));
-            taskComment.setTaskId(task.getId());
-            taskComment.setUserId(user.getId());
-            taskComment.setCreateTime(LocalDateTime.now());
-            taskComment.setType(4);
-            taskCommentMapper.insert(taskComment);
-            TaskRestart taskRestart=new TaskRestart();
-            taskRestart.setOperatorId(user.getId());
-            taskRestart.setRestartDate(LocalDateTime.now());
-            taskRestart.setTaskId(task.getId());
-            taskRestart.setRestartReason(reason);
-            taskRestart.setTaskCommentId(taskComment.getId());
-            taskRestartMapper.insert(taskRestart);
-            if(personLiableIds!=null&&!personLiableIds.equals("")){
-                String[] split = personLiableIds.split(",");
-                List<String> list = Arrays.asList(split);
-                for (String s : list) {
-                    TaskPersonLiable taskPersonLiable=new TaskPersonLiable();
-                    taskPersonLiable.setPersonLiableId(s);
-                    taskPersonLiable.setTaskId(task.getId());
-                    taskPersonLiable.setTaskRestartId(taskRestart.getId());
-                    taskPersonLiable.setTaskCommentId(taskComment.getId());
-                    taskPersonLiableMapper.insert(taskPersonLiable);
-                }
-            }
-        } else {
-            //msg.setError("状态不对,无法操作");
-            msg.setError(MessageUtils.message("other.stateError"));
-            return msg;
-        }
-
-        taskService.updateById(task);
-        ArrayList<Integer> finishedTaskIds = Lists.list(task.getId());
-        if (isFinishTask) {
-            List<Task> finishedMileStoneList = taskMapper.selectList(new QueryWrapper<Task>().select("id, name, project_id, finish_date").in("id", finishedTaskIds).eq("task_type", 1));
-            taskService.notifyMileStoneFinish(user.getCompanyId(), finishedMileStoneList);
-        }
-
-        //如果是里程碑,需要更新项目完成度
-        task = taskMapper.selectById(task.getId());
-        if (task.getTaskType() == 1) {
-            Integer projectId = task.getProjectId();
-            updateProjectProgress(projectId);
-        }
-        return msg;
-    }
-
-
-    @RequestMapping("/changeOrder")
-    public HttpRespMsg changeOrder(Integer id, Integer oldIndex, Integer newIndex, Integer oldStagesId, Integer newStagesId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        Task curItem = new Task();
-        curItem.setId(id);
-        if (!oldStagesId.equals(newStagesId)) {
-            //获取移动到的目标位置上一个数据的seq,计算当前任务的新seq
-            //跨stage移动,旧的stage上移除,切换stages后,旧的任务列表自动会重新排序,不需要再操作
-            curItem.setStagesId(newStagesId);
-            curItem.setStagesName(stagesService.getById(newStagesId).getStagesName());
-        }
-
-        QueryWrapper<Task> queryWrapper = new QueryWrapper<Task>();
-        int startSeq = 0;
-        if (newIndex > 0) {
-            int beforeItemIndex = 0;
-            if (oldStagesId.equals(newStagesId)) {
-                beforeItemIndex = newIndex > oldIndex?newIndex:newIndex-1;
-            } else {
-                //跨stages移动,相当于从下往上移动
-                beforeItemIndex = newIndex-1;
-            }
-            queryWrapper.eq("stages_id", newStagesId).isNull("parent_tid").orderByAsc("seq").last("limit " +beforeItemIndex+", 1");
-            List<Task> taskList = taskService.list(queryWrapper);
-            if (taskList.size() > 0) {
-                Task beforeItem = taskList.get(0);
-                startSeq = beforeItem.getSeq() + 1;
-            } else {
-                startSeq = 1;
-            }
-        } else {
-            //移动到了第一个位置
-            startSeq = 1;
-        }
-
-        curItem.setSeq(startSeq);
-        //在新位置下面的包括原来占据新位置的,全部调整,从startSeq开始递增
-        queryWrapper = new QueryWrapper<Task>();
-        queryWrapper.eq("stages_id", newStagesId).isNull("parent_tid").ge("seq", startSeq).orderByAsc("seq");
-        List<Task> taskList = taskService.list(queryWrapper);
-        if (taskList.size() > 0) {
-            List<Task> batchList = new ArrayList<>();
-            for (Task t:taskList) {
-                Task item = new Task();
-                item.setId(t.getId());
-                startSeq++;
-                item.setSeq(startSeq);
-                batchList.add(item);
-            }
-            taskService.updateBatchById(batchList);
-        }
-
-        taskService.updateById(curItem);
-        return msg;
-    }
-
-
-    @RequestMapping("/list")
-    public HttpRespMsg list(Task task, Integer viewId, String order, boolean isDesc,Integer pageIndex,Integer pageSize) {
-        HttpRespMsg msg = new HttpRespMsg();
-        Integer size=pageSize;
-        Integer start=(pageIndex-1)*pageSize;
-        String userId = request.getHeader("Token");
-        User user = userMapper.selectById(userId);
-        Project project = projectService.getById(task.getProjectId());
-        QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("project_id", task.getProjectId());
-        List<Stages> stagesList = stagesService.list(new QueryWrapper<Stages>().eq("project_id", task.getProjectId()));
-        if (isDesc) {
-            queryWrapper.orderByDesc(order);
-        } else {
-            queryWrapper.orderByAsc(order);
-        }
-
-        //按视图查看
-        if (viewId == 1) {
-            //全部任务
-        } else if (viewId == 2) {
-            //进行中的任务
-            queryWrapper.eq("task_status", 0);
-        } else if (viewId == 3) {
-            //已完成的任务
-            queryWrapper.eq("task_status", 1);
-        } else if (viewId == 4) {
-            //待安排的任务
-            queryWrapper.isNull("executor_id");
-        } else if (viewId == 5) {
-            //我创建的任务
-            queryWrapper.eq("creater_id", userId);
-        } else if (viewId == 6) {
-            //我执行的任务
-            queryWrapper.like("executor_id", userId);
-        } else if (viewId == 7) {
-            //今天的任务
-            queryWrapper.eq("end_date", LocalDate.now());
-        } else if (viewId == 8) {
-            //已超期的任务,未完成的任务
-            queryWrapper.lt("end_date", LocalDate.now()).eq("task_status", 0);
-        }
-        List<Task> list = taskService.simpleList(queryWrapper,start,size);
-        int total = taskMapper.selectCount(queryWrapper);
-        //没有权限只能看到自己创建的,负责的和待分配的任务
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部任务");
-        if (functionList.size() == 0 && !userId.equals(project.getInchargerId())) {
-            list = list.stream().filter(t->t.getExecutorId() == null || t.getExecutorId().contains(userId) || userId.equals(t.getCreaterId())).collect(Collectors.toList());
-        }
-        //设置列表名称
-        list.forEach(item->{
-            Optional<Stages> first = stagesList.stream().filter(s -> s.getId().equals(item.getStagesId())).findFirst();
-            if (first.isPresent()) {
-                item.setStagesName(first.get().getStagesName());
-            }
-
-        });
-        Map map=new HashMap();
-        map.put("records",list);
-        map.put("total",total);
-        msg.data = map;
-        return msg;
-    }
-
-    @RequestMapping("/getTaskOnlyList")
-    public HttpRespMsg getTaskOnlyList(Integer projectId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-        User user = userMapper.selectById(userId);
-        QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
-        //只看任务类型的
-        queryWrapper.eq("project_id", projectId).eq("task_type", 0);
-        queryWrapper.orderByDesc("id");
-        List<Task> list = taskService.nameList(queryWrapper);
-        Project project = projectService.getById(projectId);
-
-        //没有权限只能看到自己创建的,负责的和待分配的任务
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部任务");
-        if (functionList.size() == 0 && !userId.equals(project.getInchargerId())) {
-            list = list.stream().filter(t->t.getExecutorId() == null || t.getExecutorId().contains(userId) || t.getCreaterId().equals(userId)).collect(Collectors.toList());
-        }
-
-        msg.data = list;
-        return msg;
-    }
-
-    /**
-     * 添加关联的任务
-     * @param milestoneId
-     * @param taskIds
-     * @return
-     */
-    @RequestMapping("/addMileStoneTask")
-    public HttpRespMsg addMileStoneTask(Integer milestoneId, String taskIds) {
-        return taskService.addMileStoneTask(milestoneId, taskIds);
-    }
-
-    /**
-     * 删除关联的任务
-     * @param id
-     * @return
-     */
-    @RequestMapping("/removeMileStoneTask")
-    public HttpRespMsg removeMileStoneTask(Integer id) {
-        return taskService.removeMileStoneTask(id);
-    }
-
-    /**
-     * 获取关联的任务列表
-     * @param milestoneId
-     * @return
-     */
-    @RequestMapping("/getMilestoneTaskList")
-    public HttpRespMsg getMilestoneTaskList(Integer milestoneId) {
-        return taskService.getMilestoneTaskList(milestoneId);
-    }
-
-
-    /**
-     * 认领任务
-     * @param id
-     * @return
-     */
-    @RequestMapping("/addAsMyTask")
-    public HttpRespMsg addAsMyTask(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-        Task task = new Task();
-        //检查是否已经被认领
-        Task t = taskService.getById(id);
-        if (t.getExecutorId() != null) {
-            if (t.getExecutorId().contains(userId)) {
-                //msg.setError("您已认领过该任务,请勿重复操作");
-                msg.setError(MessageUtils.message("Stages.repeatedCollection"));
-            } else {
-                //msg.setError("该任务已被其他人认领");
-                msg.setError(MessageUtils.message("Stages.receiveError"));
-            }
-        } else {
-            task.setId(id);
-            task.setExecutorId(userId);
-            User user = userMapper.selectById(userId);
-            task.setExecutorName(user.getName());
-            task.setExecutorColor(user.getColor());
-            taskService.updateById(task);
-            //加入执行人表
-            List<TaskExecutor> executorList = taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", id));
-            if (executorList.size() > 0) {
-                TaskExecutor oldExe = executorList.get(0);
-                TaskExecutor.fromTask(task, oldExe);
-                taskExecutorMapper.updateById(oldExe);
-            } else {
-                //不存在,新增一条
-                List<TaskExecutor> executors = TaskExecutor.fromTask(task);
-                taskExecutorService.saveBatch(executors);
-            }
-        }
-        return msg;
-    }
-
-    /**
-     * 获取任务详情
-     * @param id
-     * @return
-     */
-    @RequestMapping("/getTask")
-    public HttpRespMsg getTask(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-        User user = userMapper.selectById(userId);
-        Task t = taskService.getById(id);
-        if (t == null) {
-            //msg.setError("该任务已不存在");
-            msg.setError(MessageUtils.message("Stages.noExist"));
-            return msg;
-        }
-        //查询直接子任务
-        QueryWrapper<Task> subQuery = new QueryWrapper<Task>().eq("parent_tid", id).orderByAsc("end_date");
-        t.setSubTaskList(taskService.list(subQuery));
-
-        //查询最新的一条任务进展
-        List<TaskProgress> list = taskProgressService.list(new QueryWrapper<TaskProgress>().eq("task_id", id).orderByDesc("id").last("limit 1"));
-        if (list.size() > 0) {
-            t.setProgress(list.get(0));
-            //设置创建人姓名
-            String name = userMapper.selectById(list.get(0).getCreatorId()).getName();
-            list.get(0).setCreatorName(name);
-        }
-        //查询任务的执行人
-        t.setExecutorList(taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", t.getId())));
-        //查询项目负责人id以及所属任务分组负责人id
-        Project project = projectService.getOne(new QueryWrapper<Project>().eq("id", t.getProjectId()));
-        TaskGroup group = taskGroupService.getOne(new QueryWrapper<TaskGroup>().eq("id", t.getGroupId()));
-        t.setProjectInchargerId(project.getInchargerId()==null?"":project.getInchargerId());
-        t.setGroupInchargerId(group.getInchargerId()==null?"":group.getInchargerId());
-        //判断当前用户是否有权限创建任务: 有权限的包括管理全部项目,项目创建人,项目PM, 分组负责人,分组参与人
-        List<SysRichFunction> manageAllProjects = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "管理全部项目");
-        boolean canAddTask = false;
-        Integer companyId = user.getCompanyId();
-        TaskAddCtrl taskAddCtrl = taskAddCtrlMapper.selectById(companyId);
-        if (taskAddCtrl == null) {
-            //没有的话,默认生成一个
-            taskAddCtrl = new TaskAddCtrl();
-            taskAddCtrl.setCompanyId(companyId);
-            taskAddCtrl.setCtrlType(1);//0-普通项目参与人不可添加任务,1-项目参与人可添加,2-仅分组参与人可添加
-            taskAddCtrlMapper.insert(taskAddCtrl);
-        }
-        if (manageAllProjects.size() > 0 || userId.equals(project.getCreatorId()) || userId.equals(project.getInchargerId())) {
-            canAddTask = true;
-        }
-        if (!canAddTask) {
-            //进一步判断是否是分组的负责人,参与人
-            if (userId.equals(group.getInchargerId())) {
-                canAddTask = true;
-            }
-            if (!canAddTask) {
-                Integer ctrlType = taskAddCtrl.getCtrlType();
-                if (ctrlType == 1) {
-                    canAddTask = true;
-                } else if (ctrlType == 2) {
-                    //分组参与人可以创建任务
-                    int count = groupParticipatorMapper.selectCount(new QueryWrapper<GroupParticipator>().eq("user_id", userId).eq("group_id", group.getId()));
-                    if (count > 0) {
-                        canAddTask = true;
-                    }
-                }
-            }
-        }
-        t.setCanAddTask(canAddTask);
-        msg.data = t;
-        return msg;
-    }
-
-    @RequestMapping("/getSubTask")
-    public HttpRespMsg getSubTask(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-
-        //查询直接子任务
-        QueryWrapper<Task> subQuery = new QueryWrapper<Task>().eq("parent_tid", id).orderByAsc("end_date");
-        msg.data = taskService.list(subQuery);
-        return msg;
-    }
-
-    @RequestMapping("/getRecentTask")
-    public HttpRespMsg getRecentTask(Integer projectId,
-                                     @RequestParam(required = false, defaultValue = "0") Integer isSubstitude) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-        if (isSubstitude == 0) {
-            msg.data = taskMapper.recentSimpleList(projectId, userId);
-        } else {
-            //代填的情况,获取的是项目中的所有任务
-            msg.data = taskMapper.recentSimpleList(projectId, null);
-        }
-
-        return msg;
-    }
-
-
-    @RequestMapping("/getMileStoneList")
-    public HttpRespMsg getMileStoneList(Integer projectId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-
-        QueryWrapper<Task> queryWrapper = new QueryWrapper<Task>().eq("project_id", projectId).eq("task_type", 1);
-        queryWrapper.orderByAsc("end_date is null").orderByAsc("end_date");
-        msg.data = taskService.list(queryWrapper);
-        return msg;
-    }
-
-
-    @RequestMapping("/getExecutorPanel")
-    public HttpRespMsg getExecutorPanel(Integer projectId) {
-        return taskService.getExecutorPanel(projectId);
-    }
-
-    @RequestMapping("/getExecutorPlanHour")
-    public HttpRespMsg getExecutorPlanHour(Integer projectId){
-        return taskService.getExecutorPlanHour(projectId);
-    }
-
-    @RequestMapping("/getStagesPanel")
-    public HttpRespMsg getStagesPanel(Integer projectId) {
-        return taskService.getStagesPanel(projectId);
-    }
-    @RequestMapping("/getTopCostTask")
-    public HttpRespMsg getTopCostTask(Integer projectId) {
-        return taskService.getTopCostTask(projectId);
-    }
-
-    @RequestMapping("/delete")
-    public HttpRespMsg delete(Integer id) {
-        Task task = taskService.getById(id);
-        if (task == null) {
-            HttpRespMsg msg = new HttpRespMsg();
-            //msg.setError("该任务不存在,请刷新查看");
-            msg.setError(MessageUtils.message("Stages.noExistAndRefresh"));
-            return msg;
-        }
-
-        if (task.getParentTid() == null) {
-            //删除的是第一级任务,需要调整顺序
-            List<Task> afterList = taskService.list(new QueryWrapper<Task>().eq("stages_id", task.getStagesId()).isNull("parent_tid").gt("seq", task.getSeq()));
-            if (afterList.size() > 0) {
-                List<Task> finalList = new ArrayList<>();
-                afterList.forEach(a->{
-                    Task t = new Task();
-                    t.setId(a.getId());
-                    t.setSeq(a.getSeq() -1);
-                    finalList.add(t);
-                });
-                taskService.updateBatchById(finalList);
-            }
-        }
-        long cnt = reportMapper.selectCount(new QueryWrapper<Report>().eq("task_id", id));
-        if (cnt > 0) {
-            reportMapper.deleteReportTask(id);
-        }
-        taskService.removeById(id);
-        //删除任务日志
-        taskLogService.remove(new QueryWrapper<TaskLog>().eq("task_id",  id));
-        //删除留言
-        taskCommentService.remove(new QueryWrapper<TaskComment>().eq("task_id", id));
-        deleteSubTask(task);
-
-
-        //删除里程碑,需要重新计算项目进度
-        if (task.getTaskType() == 1) {
-            updateProjectProgress(task.getProjectId());
-        }
-        return new HttpRespMsg();
-    }
-
-    private void deleteSubTask(Task task) {
-        List<Task> subTasks = taskService.list(new QueryWrapper<Task>().eq("parent_tid", task.getId()));
-        if (subTasks.size() > 0) {
-            taskService.remove(new QueryWrapper<Task>().eq("parent_tid", task.getId()));
-            List<Integer> collect = subTasks.stream().map(Task::getId).collect(Collectors.toList());
-            //删除任务日志
-            taskLogService.remove(new QueryWrapper<TaskLog>().in("task_id",  collect));
-            //删除留言
-            taskCommentService.remove(new QueryWrapper<TaskComment>().in("task_id", collect));
-            subTasks.forEach(s->{
-                deleteSubTask(s);
-            });
-        }
-    }
-
-    @RequestMapping("/getTaskTimeCompare")
-    public HttpRespMsg getTaskTimeCompare(Integer projectId) {
-        return taskService.getTaskTimeCompare(projectId);
-    }
-
-    @RequestMapping("/exportTaskTimeCompare")
-    public HttpRespMsg exportTaskTimeCompare(Integer projectId) {
-        return taskService.exportTaskTimeCompare(projectId);
-    }
-
-    @RequestMapping("exportTask")
-    public HttpRespMsg exportTask(Integer projectId, Integer taskType) {
-        return taskService.exportTask(projectId, taskType);
-    }
-
-    @RequestMapping("/importTask")
-    public HttpRespMsg importUser(Integer projectId, Integer groupId, @RequestParam MultipartFile file) {
-        return taskService.importTask(projectId, groupId, file, request);
-    }
-
-
-    /**
-     * task/listByPage获取待办任务列表
-     * @param status 0-进行中,1-已完成
-     * @param viewId 1-我执行的任务, 2-我创建的任务
-     * @param pageIndex
-     * @param pageSize
-     * @return
-     */
-    @RequestMapping("/listByPage")
-    public HttpRespMsg listByPage(Integer status, Integer viewId, Integer pageIndex, Integer pageSize,Integer type,Integer dateType,String startDate,String endDate,Integer deptId) {
-        HttpRespMsg msg = new HttpRespMsg();
-        String userId = request.getHeader("Token");
-        User user = userMapper.selectById(userId);
-        Integer companyId = user.getCompanyId();
-        QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
-
-        //任务状态
-        queryWrapper.eq("task_status", status).eq("task.company_id", companyId);
-        if (viewId == 1) {
-            //我执行的任务
-            queryWrapper.like("executor_id", userId);
-        } else if (viewId == 2) {
-            //我创建的任务
-            queryWrapper.eq("creater_id", userId);
-        }
-        if(type!=null){
-            queryWrapper.eq("task_type",type);
-        }
-        if(dateType!=null){
-            switch (dateType){
-                case 0:
-                    queryWrapper.ge("start_date",startDate).le("start_date",endDate);
-                    break;
-                case 1:
-                    queryWrapper.ge("task.end_date",startDate).le("task.end_date",endDate);
-                    break;
-            }
-        }
-//        else if (viewId == 3) {
-//            //今天的任务
-//            queryWrapper.eq("end_date", LocalDate.now());
-//        } else if (viewId == 4) {
-//            //已超期的任务,未完成的任务
-//            queryWrapper.lt("end_date", LocalDate.now()).eq("task_status", 0);
-//        }
-        List<Integer> branchDepartment=null;
-        if(deptId!=null){
-            List<Department> departmentList=departmentService.list(new QueryWrapper<Department>().eq("company_id",companyId));
-            branchDepartment= getBranchDepartment(deptId, departmentList);
-        }
-        List<Task> list = taskMapper.getTaskWithProjectName(queryWrapper, (pageIndex-1)*pageSize, pageSize,companyId,branchDepartment);
-        List<Integer> collect = list.stream().map(l -> l.getId()).distinct().collect(Collectors.toList());
-        collect.add(-1);
-        List<TaskExecutor> taskExecutorList = taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().in("task_id", collect));
-        list.forEach(l->{
-            List<TaskExecutor> executorList = taskExecutorList.stream().filter(tl -> tl.getTaskId().equals(l.getId())&&tl.getExecutorId()!=null).collect(Collectors.toList());
-            l.setExecutorList(executorList);
-        });
-        int total = taskMapper.selectCount(queryWrapper);
-        Map<String, Object> map = new HashMap<>();
-        map.put("records", list);
-        map.put("total", total);
-        msg.data = map;
-        return msg;
-    }
-    private List<Integer> getBranchDepartment(Integer departmentId, List<Department> departmentList) {
-        List<Integer> list = new ArrayList<>();
-        list.add(departmentId);
-        //搜到子部门进行添加
-        for (Department department : departmentList) {
-            if (departmentId.equals(department.getSuperiorId())) {
-                list.addAll(getBranchDepartment(department.getDepartmentId(), departmentList));
-            }
-        }
-        return list;
-    }
-    @RequestMapping("/getGroupNameList")
-    public HttpRespMsg getGroupNameList(HttpServletRequest request){
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<Project> projectList = projectService.list(new QueryWrapper<Project>().eq("company_id", companyId));
-        List<Integer> collect = projectList.stream().map(Project::getId).distinct().collect(Collectors.toList());
-        List<ProjectSeparate> projectSeparateList = projectSeparateMapper.selectList(new QueryWrapper<ProjectSeparate>().in("id", collect));
-        List<String> nameList = projectSeparateList.stream().map(ProjectSeparate::getProjectCategorySub).distinct().collect(Collectors.toList());
-        httpRespMsg.data=nameList;
-        return httpRespMsg;
-    }
-
-    @RequestMapping("/operateMeeting")
-    public HttpRespMsg operateMeeting(HttpServletRequest request,Integer taskId,String startTime,String endTime) throws Exception {
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        User user = userMapper.selectById(request.getHeader("token"));
-        WxCorpInfo wxCorpInfo = wxCorpInfoService.list(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId())).get(0);
-        Task task = taskMapper.selectById(taskId);
-        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        LocalDateTime start = LocalDateTime.parse(startTime, df);
-        if(start.isBefore(LocalDateTime.now())){
-            httpRespMsg.setError("开始时间必须大于当前时间");
-            return httpRespMsg;
-        }
-        LocalDateTime end = LocalDateTime.parse(endTime, df);
-        if(end.isBefore(start)){
-            httpRespMsg.setError("结束时间必须大于开始时间");
-            return httpRespMsg;
-        }
-        Duration between = Duration.between(start, end);
-        List<TaskExecutor> taskExecutorList = taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", task.getId()));
-        if(taskExecutorList.size()>0){
-            List<String> list = taskExecutorList.stream().map(TaskExecutor::getExecutorId).distinct().collect(Collectors.toList());
-            String userIds = userMapper.selectList(new QueryWrapper<User>().in("id", list)).stream().map(User::getCorpwxUserid).distinct().collect(Collectors.joining("|"));
-            String meetingResp;
-            if(!StringUtils.isEmpty(task.getMeetingId())){
-                meetingResp = wxCorpInfoService.operateMeeting(userIds, "工时管家任务", task.getName(), startTime, between.getSeconds(),wxCorpInfo, "update", task.getMeetingId());
-            }else {
-                meetingResp =  wxCorpInfoService.operateMeeting(userIds,"工时管家任务",task.getName(),startTime,between.getSeconds(),wxCorpInfo,"create",null);
-                if(!meetingResp.contains("invalid")){
-                    task.setMeetingId(meetingResp);
-                    taskMapper.updateById(task);
-                }
-            }
-            httpRespMsg.data=meetingResp;
-        }else httpRespMsg.setError("该任务无执行人");
-        return httpRespMsg;
-    }
-    @RequestMapping("/getMeeting")
-    public HttpRespMsg getMeeting(Integer taskId) throws Exception {
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        User user = userMapper.selectById(request.getHeader("token"));
-        WxCorpInfo wxCorpInfo = wxCorpInfoService.list(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId())).get(0);
-        Task task = taskMapper.selectById(taskId);
-        String meetingInfo = wxCorpInfoService.operateMeeting(null, null, null, null, 300, wxCorpInfo, "get_info", task.getMeetingId());
-        httpRespMsg.data=meetingInfo;
-        return httpRespMsg;
-    }
-}
-

+ 0 - 649
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java

@@ -1,649 +0,0 @@
-package com.management.platform.controller;
-
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.*;
-import com.management.platform.entity.vo.SysRichFunction;
-import com.management.platform.entity.vo.WorktimeItem;
-import com.management.platform.mapper.*;
-import com.management.platform.service.*;
-import com.management.platform.util.*;
-import org.apache.commons.io.FileUtils;
-import org.apache.poi.EncryptedDocumentException;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.ss.usermodel.*;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.*;
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
-import java.time.format.TextStyle;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author Seyason
- * @since 2022-01-04
- */
-@RestController
-@RequestMapping("/user-corpwx-time")
-public class UserCorpwxTimeController {
-
-    @Value(value = "${upload.path}")
-    private String path;
-    @Resource
-    UserCorpwxTimeMapper userCorpwxTimeMapper;
-    @Resource
-    HttpServletRequest request;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    ParticipationMapper participationMapper;
-    @Resource
-    DepartmentService departmentService;
-    @Resource
-    ProjectMapper projectMapper;
-    @Resource
-    ReportService reportService;
-    @Resource
-    DepartmentMapper departmentMapper;
-    @Resource
-    CompanyMapper companyMapper;
-    @Resource
-    SysFunctionMapper sysFunctionMapper;
-    @Resource
-    WxCorpInfoMapper wxCorpInfoMapper;
-    @Resource
-    ExcelExportService excelExportService;
-    @Resource
-    WxCorpInfoService wxCorpInfoService;
-    @Resource
-    UserCorpwxTimeService userCorpwxTimeService;
-
-    @RequestMapping("/getMyDeptMembsData")
-    public HttpRespMsg getMyDeptMembsData(String startDate, String endDate) {
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        List<Map> list = new ArrayList<Map>();
-        int onlyWorkDays = 1;//只要工作日
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
-        if (functionList.size() > 0) {
-            //查看全部人员的
-            list = userCorpwxTimeMapper.getUserDataList(user.getCompanyId(), startDate, endDate, null);
-        } else {
-            Integer manageDeptId = user.getManageDeptId();
-            if (manageDeptId != null && manageDeptId != 0) {
-                //一个人可能担任多个部门负责人
-                List<Department> departments = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
-                if (departments.size() == 1) {
-                    list = userCorpwxTimeMapper.getUserDataList(user.getCompanyId(), startDate, endDate, manageDeptId);
-                } else {
-                    for (Department d:departments) {
-                        list.addAll(userCorpwxTimeMapper.getUserDataList(user.getCompanyId(), startDate, endDate, d.getDepartmentId()));
-                    }
-                }
-            }
-        }
-
-        //工作日处理,排除常规周末和法定节假日
-        if (onlyWorkDays == 1) {
-            DateTimeFormatter dtf =  DateTimeFormatter.ofPattern("yyyy/MM/dd");
-            list = list.stream().filter(time->{
-                String date = (String)time.get("createDate");
-                if (WorkDayCalculateUtils.isWorkDay(LocalDate.parse(date, dtf))) {
-                    return true;
-                } else {
-                    return false;
-                }
-            }).collect(Collectors.toList());
-        }
-        DateTimeFormatter standFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        HashMap item = new HashMap();
-        item.put("list", list);
-        if (list.size() > 0) {
-            List<String> userIdList = new ArrayList<>();
-            for (int i=0;i<list.size(); i++) {
-                Map map = list.get(i);
-                String userId = (String)map.get("userId");
-                userIdList.add(userId);
-            }
-            //员工参与的项目
-            List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().in("user_id", userIdList));
-            List<String> names = new ArrayList<>();
-            LocalDate localStart = LocalDate.parse(startDate, standFormatter);
-            LocalDate localEnd = LocalDate.parse(endDate, standFormatter);
-            if (participationList.size() > 0) {
-                List<Integer> collect = participationList.stream().map(Participation::getProjectId).collect(Collectors.toList());
-                List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect).eq("is_public", 0).eq("company_id", user.getCompanyId()).orderByAsc("id"));
-
-                names = projectList.stream().filter(p->{
-                    if (p.getPlanStartDate() != null) {
-                        if (p.getPlanStartDate().isAfter(localEnd)) {
-                            return false;
-                        }
-                    }
-                    if (p.getPlanEndDate() != null) {
-                        if (p.getPlanEndDate().isBefore(localStart)) {
-                            return false;
-                        }
-                    }
-                    return true;
-                }).map(Project::getProjectName).collect(Collectors.toList());
-            }
-            //添加公共项目
-            List<Project> publicProjects = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", user.getCompanyId()).eq("is_public", 1));
-            if (publicProjects.size() > 0) {
-                List<String> collect = publicProjects.stream().filter(p->{
-                    if (p.getPlanStartDate() != null) {
-                        if (p.getPlanStartDate().isAfter(localEnd)) {
-                            return false;
-                        }
-                    }
-                    if (p.getPlanEndDate() != null) {
-                        if (p.getPlanEndDate().isBefore(localStart)) {
-                            return false;
-                        }
-                    }
-                    return true;
-                }).map(Project::getProjectName).collect(Collectors.toList());
-                names.addAll(collect);
-            }
-            item.put("projects", names);
-        } else {
-            item.put("projects", new ArrayList<String>());
-        }
-
-        //获取该时间段已经审核通过的报告
-        List<Report> reportList = reportService.list(new QueryWrapper<Report>()
-                .eq("company_id", user.getCompanyId()).between("create_date", startDate, endDate).eq("state", 1));
-
-        DateTimeFormatter splashDtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
-        //数据填充
-        for (Map dataItem : list) {
-            List<String> dataList = new ArrayList<>();
-            String userId = (String)dataItem.get("userId");
-            String createDate = (String)dataItem.get("createDate");
-            //检查该人员当天是否已经有审核通过的
-            boolean hasPassed = reportList.stream().anyMatch(r->r.getCreatorId().equals(userId) && splashDtf.format(r.getCreateDate()).equals(createDate));
-            dataItem.put("hasPassed", hasPassed);
-        }
-
-        //返回数据
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.data = item;
-        return msg;
-    }
-
-    @RequestMapping("/submitProjectTime")
-    public HttpRespMsg submitProjectTime(String json, String projectColumns) {
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        JSONArray array = JSONArray.parseArray(json);
-        JSONArray columnsArray = JSONArray.parseArray(projectColumns);
-        List<String> pnames = new ArrayList<>();
-        for (int i=0;i<columnsArray.size(); i++) {
-            System.out.println(columnsArray.getString(i));
-            pnames.add(columnsArray.getString(i));
-        }
-        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("project_name", pnames).eq("company_id", user.getCompanyId()));
-
-        List<Report> reportList = new ArrayList<>();
-
-        for (int i=0;i<array.size(); i++) {
-            JSONObject jsonObject = array.getJSONObject(i);
-            System.out.println(jsonObject);
-            LocalDate createDate = LocalDate.parse(jsonObject.getString("createDate"), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-            String userId = jsonObject.getString("userId");
-            //获取该员工的各个项目分配的工时
-
-            for (int j=0;j<projectList.size(); j++) {
-                Project p = projectList.get(j);
-                String key = p.getProjectName();
-                if (jsonObject.containsKey(key)) {
-                    double time = jsonObject.getDouble(key);
-                    if (time > 0) {
-                        Report report = new Report();
-                        report.setWorkingTime(time);
-                        report.setCreatorId(userId);
-                        report.setCreateDate(createDate);
-                        report.setProjectId(p.getId());
-                        reportList.add(report);
-                    }
-
-                }
-            }
-        }
-
-        return reportService.saveProjectTime(user.getCompanyId(), reportList, array);
-    }
-
-    //导出带考勤数据的模板
-    @RequestMapping("/exportCheckInExcel")
-    public HttpRespMsg exportCheckInExcel(String startDate, String endDate) throws Exception {
-        HttpRespMsg msg = new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        Integer companyId = user.getCompanyId();
-        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
-        Integer manageDeptId = user.getManageDeptId();
-
-        HttpRespMsg ret = getMyDeptMembsData(startDate, endDate);
-        HashMap map = (HashMap)ret.data;
-        List<Map> list = (List<Map>) map.get("list");
-        List<String> projects = (List) map.get("projects");
-        if (projects == null) {
-           // msg.setError("员工无参与的项目,请先到项目管理中进行设置项目参与人");
-            msg.setError(MessageUtils.message("project.joinError"));
-        }
-        List<String> titles = new ArrayList<>();
-        //titles.add("工作日期");
-        titles.add(MessageUtils.message("entry.workDate"));
-        //titles.add("星期");
-        titles.add(MessageUtils.message("entry.week"));
-        //titles.add("员工姓名");
-        titles.add(MessageUtils.message("entry.staffName"));
-        titles.add("部门");
-        //titles.add("上班时间");
-        titles.add(MessageUtils.message("entry.goWorkTime"));
-        //titles.add("下班时间");
-        titles.add(MessageUtils.message("entry.offWorkTime"));
-//        titles.add("打卡时长");
-//        titles.add("请假时长");
-//        titles.add("补卡/外出时长");
-        //titles.add("实际工作时长");
-        titles.add(MessageUtils.message("entry.actualWorkTime"));
-        //添加项目名称作为列名
-        for (String p : projects) {
-            titles.add(p);
-        }
-        List<List<String>> allData = new ArrayList<>();
-        allData.add(titles);
-
-        //数据填充
-        for (Map dataItem : list) {
-            List<String> dataList = new ArrayList<>();
-            boolean hasPassed = (boolean)dataItem.get("hasPassed");
-            if (hasPassed) {
-                continue;
-            }
-            Double workHours = (Double) dataItem.get("workHours");
-            System.out.println((String)dataItem.get("username") + " workHours:" + workHours);
-            if (workHours == null  || workHours.doubleValue() <= 0.0) {
-                continue;
-            }
-            String createDate = (String)dataItem.get("createDate");
-            dataList.add(createDate);
-            dataList.add((String)dataItem.get("weekDayTxt"));
-            if(wxCorpInfo.getSaasSyncContact()==1){
-                dataList.add("$userName="+(String)dataItem.get("corpwxUserid")+"$");
-            }else{
-                dataList.add((String)dataItem.get("username"));
-            }
-            dataList.add((String)dataItem.get("departmentName"));
-            dataList.add((String)dataItem.get("startTime"));
-            dataList.add((String)dataItem.get("endTime"));
-//            dataList.add(""+(Double)dataItem.get("cardTime"));
-//            dataList.add(""+(Double)dataItem.get("askLeaveTime"));
-//            dataList.add(""+(Double)dataItem.get("outdoorTime"));
-
-            dataList.add(""+workHours);
-            for (String p : projects) {
-                dataList.add("");
-            }
-            allData.add(dataList);
-        }
-        String fileName = companyMapper.selectById(user.getCompanyId()).getCompanyName();
-        if (manageDeptId != null && manageDeptId != 0) {
-            List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
-            String departmentName = allDeptList.stream().map(Department::getDepartmentName).collect(Collectors.joining("+"));
-            fileName = departmentName;
-        }
-        //fileName += "_人员工时统计模板"+startDate+"至"+endDate;
-        fileName += MessageUtils.message("fileName.workHour",startDate,endDate);
-        return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo, fileName, allData, path);
-    }
-
-    //导出填报工时在考勤工时的占比
-    @RequestMapping("/exportProjectTimeRatio")
-    public HttpRespMsg exportProjectTimeRatio(String ymonth) throws Exception {
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        Integer companyId = user.getCompanyId();
-        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
-        Integer manageDeptId = user.getManageDeptId();
-
-        List<Map> list = new ArrayList<Map>();
-        List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
-        //只取当月中工作日的数据
-        DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMdd");
-        LocalDate sDate = LocalDate.parse(ymonth + "01", dtf2);
-        LocalDate eDate = sDate.plusMonths(1).minusDays(1);
-        String startDate = sDate.format(dtf1);
-        String endDate = eDate.format(dtf1);
-        List<LocalDate> workDateList = WorkDayCalculateUtils.getWorkDaysListInRange(startDate, endDate, 0);
-        if (functionList.size() > 0) {
-            //查看全部人员的
-            list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), workDateList, ymonth, null);
-        } else {
-            if (manageDeptId != null && manageDeptId != 0) {
-                //一个人可能担任多个部门负责人
-                List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
-                List<Integer> allManagedDeptIdList = departmentService.getAllManagedDeptIdList(user, allDeptList);
-                list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), workDateList, ymonth, allManagedDeptIdList);
-            }
-        }
-
-
-        List<String> titles = new ArrayList<>();
-        titles.add("年月");
-        //titles.add("员工姓名");
-        titles.add(MessageUtils.message("entry.staffName"));
-        titles.add("部门");
-        //titles.add("实际工作时长");
-        titles.add(MessageUtils.message("entry.actualWorkTime"));
-        titles.add("填报项目时长");
-        titles.add("填报项目时长占比");
-        List<List<String>> allData = new ArrayList<>();
-        allData.add(titles);
-
-        //数据填充
-        DecimalFormat decimalFormat = new DecimalFormat("#0.0%");
-        for (Map dataItem : list) {
-            List<String> dataList = new ArrayList<>();
-            dataList.add(ymonth);
-            if(wxCorpInfo.getSaasSyncContact()==1){
-                dataList.add("$userName="+(String)dataItem.get("corpwxUserid")+"$");
-            }else{
-                dataList.add((String)dataItem.get("username"));
-            }
-            dataList.add((String)dataItem.get("departmentName"));
-            double wt = (Double)dataItem.get("workHours");
-            double pt = (Double)dataItem.get("projectTime");
-            dataList.add(""+wt);
-            dataList.add(""+pt);
-            if (wt == 0) {
-                dataList.add(decimalFormat.format(0));
-            } else {
-                dataList.add(decimalFormat.format(pt/wt));
-            }
-
-            allData.add(dataList);
-        }
-        String fileName = companyMapper.selectById(user.getCompanyId()).getCompanyName();
-        if (manageDeptId != null && manageDeptId != 0) {
-            List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
-            String departmentName = allDeptList.stream().map(Department::getDepartmentName).collect(Collectors.joining("+"));
-            fileName = departmentName;
-        }
-        //fileName += "_人员工时统计模板"+startDate+"至"+endDate;
-        fileName = ymonth + fileName;
-        fileName += "项目工时占比_" + System.currentTimeMillis();
-        return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo, fileName, allData, path);
-    }
-    @RequestMapping("/getPunchRecordBySelf")
-    public HttpRespMsg getUserPunchRecord(String date, String userId){
-        HttpRespMsg msg=new HttpRespMsg();
-        User user = null;
-        if (StringUtils.isEmpty(userId)) {
-            user = userMapper.selectById(request.getHeader("token"));
-        } else {
-            user = userMapper.selectById(userId);
-        }
-
-        Map<String,Object> resultMap =new HashMap<>();
-        List<UserCorpwxTime> oldCorpwxTimes = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>()
-                .eq("corpwx_userid", user.getCorpwxUserid()).eq("create_date", date));
-        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        LocalDate localDate = LocalDate.parse(date, df);
-        if(!localDate.isEqual(LocalDate.now())&&oldCorpwxTimes.size()>0 && oldCorpwxTimes.get(0).getWorkHours() > 0){
-            UserCorpwxTime time = oldCorpwxTimes.get(0);
-            resultMap.put("time", time);
-            msg.data=resultMap;
-            return msg;
-        }
-        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN);
-        LocalDateTime end = LocalDateTime.of(localDate, LocalTime.MAX).withSecond(0).withNano(0);
-        wxCorpInfoService.getUserPunchRecord(user.getCompanyId(),user.getId(),start,end,false);
-        List<UserCorpwxTime> chengedCorpwxTimes = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>()
-                .eq("corpwx_userid", user.getCorpwxUserid()).eq("create_date", date));
-
-        if (chengedCorpwxTimes.size() > 0) {
-            UserCorpwxTime time = chengedCorpwxTimes.get(0);
-            resultMap.put("time", time);
-        }
-        msg.data=resultMap;
-        return msg;
-    }
-
-    @RequestMapping("/importCardTime")
-    public HttpRespMsg importCardTime(Integer companyId, MultipartFile multipartFile, HttpServletRequest request){
-        HttpRespMsg msg=new HttpRespMsg();
-        String token = request.getHeader("TOKEN");
-        User user = userMapper.selectById(token);
-        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
-        //然后处理文件
-        String fileName = multipartFile.getOriginalFilename();
-        File file = new File(fileName == null ? "file" : fileName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-        try {
-            inputStream = multipartFile.getInputStream();
-            outputStream = new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
-            //然后解析表格
-            Workbook workbook = WorkbookFactory.create(new FileInputStream(file));
-
-            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/M/d");
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M/d");
-            //获取公司全部成员
-            List<User> allUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
-
-            Sheet sheet = workbook.getSheetAt(0);
-            //由于第一行需要指明列对应的标题
-            int rowNum = sheet.getLastRowNum();
-            if (rowNum == 0) {
-                //msg.setError("请填写工时数据");
-                msg.setError(MessageUtils.message("report.data"));
-                return msg;
-            }
-            List<String> userNameList=new ArrayList<>();
-            boolean hasDept = false;
-            for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
-                Row row = sheet.getRow(rowIndex);
-                if (row == null) {
-                    continue;
-                }
-                if (ExcelUtil.isRowEmpty(row)) {
-                    continue;
-                }
-                String username = row.getCell(2).getStringCellValue().trim();
-
-                if (rowIndex == 0) {
-                    String deptName = row.getCell(3).getStringCellValue().trim();
-                    if (deptName.equals("部门")) {
-                        hasDept = true;
-                    }
-                    if(username.equals("员工")){
-                        continue;
-                    }
-                }
-
-                if(!userNameList.contains(username)&&!username.equals("")){
-                    userNameList.add(username);
-                }
-            }
-            HttpRespMsg respMsg=new HttpRespMsg();
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1&&userNameList.size()>0){
-                System.out.println("参与搜素的人员列表"+userNameList);
-                respMsg = wxCorpInfoService.getBatchSearchUserInfo(wxCorpInfo, userNameList,null);
-                if(respMsg.code.equals("0")){
-                    msg.setError("姓名为["+String.valueOf(respMsg.data)+"]的人员存在重复,请使用工号!");
-                    return msg;
-                }
-            }
-            List<User> targetUserList= (List<User>) respMsg.data;
-            List<UserCorpwxTime> userCorpwxTimeList = new ArrayList<>();
-            int dataCount = 0;
-            for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
-                Row row = sheet.getRow(rowIndex);
-                if (row == null) {
-                    continue;
-                }
-                if (ExcelUtil.isRowEmpty(row)) {
-                    continue;
-                }
-                if (rowIndex == 0) {
-                    //第一行是标题,获取项目名称
-                    row.getCell(0).setCellType(CellType.STRING);
-
-                } else {
-                    dataCount++;
-                    int deptColumnExtra = hasDept?1:0;
-                    //数据行
-                    for (int i=1;i<=5 + deptColumnExtra; i++) {
-                        if (row.getCell(i) != null) {
-                            row.getCell(i).setCellType(CellType.STRING);
-                        }
-                    }
-
-                    if (row.getCell(0) == null) {
-                        //msg.setError("第"+dataCount+"行缺少日期");
-                        msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
-                        return msg;
-                    }
-                    boolean isDateFormat = row.getCell(0).getCellTypeEnum() == CellType.NUMERIC;
-                    String reportDate = isDateFormat?sdf.format(row.getCell(0).getDateCellValue()):row.getCell(0).getStringCellValue();
-                    if (StringUtils.isEmpty(reportDate)) {
-                        msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
-                        return msg;
-                    }
-                    String username =row.getCell(2).getStringCellValue().trim();
-                    //检查人员是否存在
-                    Optional<User> any;
-                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findAny();
-                    }else {
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
-                    }
-                    if (!any.isPresent()) {
-                        //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
-                        msg.setError(MessageUtils.message("staff.peopleNullAndAdd",username));
-                        return msg;
-                    }
-                    User reportCreator = any.get();
-                    String startTime = row.getCell(3 + deptColumnExtra).getStringCellValue().trim();
-                    String endTime = row.getCell(4 + deptColumnExtra).getStringCellValue().trim();
-                    if (!startTime.contains(":")) {
-                        double t1 = Double.valueOf(startTime) * 24;
-                        //把以小时为单位的时间转化为时分格式, 类似09:00
-                        startTime = String.format("%02d:%02d", (int) t1, (int) ((t1 - (int) t1) * 60));
-                        double t2 = Double.valueOf(endTime) * 24;
-                        endTime = String.format("%02d:%02d", (int) t2, (int) ((t2 - (int) t2) * 60));
-                    }
-
-                    String workHours = row.getCell(5 + deptColumnExtra).getStringCellValue().trim();
-                    double workHoursDouble = Double.valueOf(workHours);
-                    UserCorpwxTime corpwxTime = new UserCorpwxTime();
-                    corpwxTime.setCorpwxUserid(reportCreator.getCorpwxUserid());
-                    corpwxTime.setName(reportCreator.getName());
-                    corpwxTime.setCreateDate(LocalDate.parse(reportDate, dtf));
-                    corpwxTime.setWorkHours(workHoursDouble);
-                    corpwxTime.setCardTime(workHoursDouble);
-                    corpwxTime.setStartTime(startTime);
-                    corpwxTime.setEndTime(endTime);
-                    corpwxTime.setCompanyId(reportCreator.getCompanyId());
-                    corpwxTime.setWxCorpid(wxCorpInfo.getCorpid());
-                    //计算周几
-                    corpwxTime.setWeekDay(corpwxTime.getCreateDate().getDayOfWeek().getValue());
-                    corpwxTime.setWeekDayTxt(DateTimeUtil.getWeekDayTxt(corpwxTime.getWeekDay()));
-                    userCorpwxTimeList.add(corpwxTime);
-                }
-            }
-            if (userCorpwxTimeList.size() > 0) {
-                long l1 = System.currentTimeMillis();
-
-                userCorpwxTimeList.forEach(u->{
-                    if (u.getCorpwxUserid() == null) {
-                        userCorpwxTimeMapper.delete(new QueryWrapper<UserCorpwxTime>().isNull("corpwx_userid").eq("name", u.getName())
-                                .eq("create_date", u.getCreateDate())
-                                .eq("wx_corpid", wxCorpInfo.getCorpid()));
-                    } else {
-                        userCorpwxTimeMapper.delete(new QueryWrapper<UserCorpwxTime>().eq("corpwx_userid", u.getCorpwxUserid())
-                                .eq("create_date", u.getCreateDate())
-                                .eq("wx_corpid", wxCorpInfo.getCorpid()));
-                    }
-                });
-                long l2 = System.currentTimeMillis();
-                System.out.println("删除耗时="+(l2-l1));
-                userCorpwxTimeService.saveBatch(userCorpwxTimeList);
-                long l3 = System.currentTimeMillis();
-                System.out.println("插入耗时="+(l3-l2));
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-            //msg.setError("文件处理出错");
-            msg.setError(MessageUtils.message("file.error"));
-            return msg;
-        } catch (NullPointerException e) {
-            e.printStackTrace();
-            //msg.setError("数据格式有误或存在空数据 导入失败");
-            msg.setError(MessageUtils.message("file.dataFormatError"));
-            return msg;
-        }catch (InvalidFormatException e) {
-            e.printStackTrace();
-            //msg.setError("文件格式错误,如果安装了加密软件需要先解密再上传");
-            msg.setError(MessageUtils.message("file.FormatErrorAndDecrypt"));
-            return msg;
-        }catch (EncryptedDocumentException e) {
-            e.printStackTrace();
-            //msg.setError("文件加密状态,需要先解除加密状态再上传");
-            msg.setError(MessageUtils.message("file.encryption"));
-            return msg;
-        } catch (Exception e) {
-            e.printStackTrace();
-            //msg.setError("发生其他错误:"+e.getMessage());
-            msg.setError(MessageUtils.message("other.errorByParameter",e.getMessage()));
-            return msg;
-        } finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            file.delete();
-        }
-        return msg;
-    }
-}
-

+ 41 - 262
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/Report.java

@@ -1,22 +1,16 @@
 package com.management.platform.entity;
 
+import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.management.platform.entity.vo.WorktimeItem;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.HashMap;
-import java.util.List;
 
 /**
  * <p>
@@ -24,7 +18,7 @@ import java.util.List;
  * </p>
  *
  * @author Seyason
- * @since 2022-08-23
+ * @since 2023-07-27
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -46,17 +40,9 @@ public class Report extends Model<Report> {
     private String creatorId;
 
     /**
-     * project表外键 相关项目
-     */
-    @TableField("project_id")
-    private Integer projectId;
-
-    /**
-     * 工作日期
+     * 日期
      */
     @TableField("create_date")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate createDate;
 
     /**
@@ -65,32 +51,12 @@ public class Report extends Model<Report> {
     @TableField("working_time")
     private Double workingTime;
 
-    /**
-     * 报告内容; 根据multi_worktime的取值,形式有差别
-     */
-    @TableField("content")
-    private String content;
-
-    /**
-     * 审查状态 0-未审核 1-已通过 2-未通过, -1-导入待审核, 3草稿
-     */
-    @TableField("state")
-    private Integer state;
-
     /**
      * 创建时间
      */
     @TableField("create_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
     private LocalDateTime createTime;
 
-    /**
-     * 0-全天, 1-上午,2-下午
-     */
-    @TableField("time_type")
-    private Integer timeType;
-
     /**
      * 成本
      */
@@ -98,271 +64,84 @@ public class Report extends Model<Report> {
     private BigDecimal cost;
 
     /**
-     * 开始时间
-     */
-    @TableField("start_time")
-    private String startTime;
-
-    /**
-     * 结束时间
-     */
-    @TableField("end_time")
-    private String endTime;
-
-    /**
-     * 员工填写时长类型
-     */
-    @TableField("report_time_type")
-    private Integer reportTimeType;
-
-    /**
-     * 子项目id
-     */
-    @TableField("sub_project_id")
-    private Integer subProjectId;
-
-    /**
-     * 任务id
-     */
-    @TableField("task_id")
-    private Integer taskId;
-
-    /**
-     * 是否是加班
-     */
-    @TableField("is_overtime")
-    private Integer isOvertime;
-
-    /**
-     * 用时占比
-     */
-    @TableField("progress")
-    private Integer progress;
-
-
-    @TableField(exist = false)
-    private List<SubProject> subProjectList;
-    @TableField(exist = false)
-    private List<UserRecentTask> taskList;
-    @TableField(exist = false)
-    private List<ReportProfessionProgress> professionProgressList;
-    @TableField(exist = false)
-    private List<Stages> stages;
-
-    /**
-     * 部门审核状态: -1 专业未审核,0-部门未审核,1-已通过,2-未通过
-     */
-    @TableField("department_audit_state")
-    private Integer departmentAuditState;
-
-
-    /**
-     * 阶段/岗位/工序
-     */
-    @TableField("stage")
-    private String stage;
-
-
-    /**
-     * 图片的数组字符串
-     */
-    @TableField("pic_str")
-    private String picStr;
-
-
-    @TableField(exist = false)
-    private String picAdd;
-
-    /**
-     * 传给客户端的图片数组
-     */
-    @TableField(exist = false)
-    private List<String> pics;
-    /**
-     * 是否是多个时间工作事项
-     */
-    @TableField("multi_worktime")
-    private Integer multiWorktime;
-
-
-    @TableField(exist = false)
-    private List<WorktimeItem> worktimeList;
-    /**
-     * 驳回原因
-     */
-    @TableField("reject_reason")
-    private String rejectReason;
-
-    /**
-     * 驳回人姓名
-     */
-    @TableField("reject_username")
-    private String rejectUsername;
-
-    /**
-     * 驳回人id
-     */
-    @TableField("reject_userid")
-    private String rejectUserid;
-
-
-    /**
-     * 选择的自定义维度
+     * 工时日报所属部门id
      */
-    @TableField("degree_id")
-    private Integer degreeId;
-
+    @TableField("dept_id")
+    private Integer deptId;
 
-    @TableField(exist = false)
-    private List<HashMap> degreeList;
     /**
      * 公司id
      */
     @TableField("company_id")
     private Integer companyId;
 
-    /**
-     * 代填或者导入的用户id
-     */
-    @TableField("fill_userid")
-    private String fillUserid;
-
-    /**
-     * 审核流程:当前审核的部门id
-     */
-    @TableField("audit_deptid")
-    private Integer auditDeptid;
-
-    /**
-     * 审核流程: 是否是部门审核
-     */
-    @TableField("is_dept_audit")
-    private Integer isDeptAudit;
-
-    /**
-     * 审核流程:当前审核的部门负责人id
-     */
-    @TableField("audit_dept_managerid")
-    private String auditDeptManagerid;
-
-    /**
-     * 是否是最后一步审核
-     */
-    @TableField("is_final_audit")
-    private Integer isFinalAudit;
-
-    /**
-     * 审核流程:审核过程中,项目的审核状态; 0-待审核,1-审核通过
-     */
-    @TableField("project_audit_state")
-    private Integer projectAuditState;
-
-
     /**
      * 任务分组id
      */
     @TableField("group_id")
     private Integer groupId;
 
-    @TableField(exist = false)
-    private String groupName;
-
-    @TableField(exist = false)
-    private List<TaskGroup> taskGroups;
     /**
-     * 自定义的数值
+     * 任务id
      */
-    @TableField("custom_data")
-    private Double customData;
+    @TableField("plan_id")
+    private Integer planId;
 
     /**
-     * 项目审核人id
+     * 工序完成度
      */
-    @TableField("project_auditor_id")
-    private String projectAuditorId;
-
-    @TableField(exist = false)
-    private List<ProjectAuditor> auditUserList;
-
-    @TableField(exist = false)
-    private String projectAuditorName;
-
-
-    /**
-     * 工时日报所属部门id
-     */
-    @TableField("dept_id")
-    private Integer deptId;
+    @TableField("progress")
+    private Integer progress;
 
     /**
-     * 加班时长
+     * project表外键 相关项目
      */
-    @TableField("overtime_hours")
-    private Double overtimeHours;
-
+    @TableField("product_id")
+    private Integer productId;
 
     /**
-     * 加班薪资
+     * 计划中工序id
      */
-    @TableField("overtime_cost")
-    private BigDecimal overtimeCost;
-
-
-    @TableField(exist = false)
-    private Integer taskFinish;
+    @TableField("prod_procedure_id")
+    private Integer prodProcedureId;
 
     /**
-     * 自定义文本信息内容
+     * 自检类型
      */
-    @TableField("custom_text")
-    private String customText;
+    @TableField("check_type")
+    private Integer checkType;
 
     /**
-     * 对应成本项的id
+     * 检查人id
      */
-    @TableField("basecost_id")
-    private Integer basecostId;
-
+    @TableField("checker_id")
+    private String checkerId;
 
     /**
-     * 项目日报审核时间
+     * 任务变更通知号
      */
-    @TableField("project_audit_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
-    private LocalDateTime projectAuditTime;
-
+    @TableField("task_change_notice_num")
+    private String taskChangeNoticeNum;
 
     /**
-     * 任务分组负责人审核状态: 0-待审核,1-审核通过
+     * 任务名称
      */
-    @TableField("group_audit_state")
-    private Integer groupAuditState;
+    @TableField("task_name")
+    private String taskName;
 
     /**
-     * 评价
+     * 任务类型id
      */
-    @TableField("evaluate")
-    private String evaluate;
+    @TableField("task_type_id")
+    private Integer taskTypeId;
 
     /**
-     * 是否属于自动审核通过  0-不属于 1-属于
+     * 任务类型名称
      */
-    @TableField("report_auto_approve")
-    private Integer reportAutoApprove;
-
+    @TableField("task_type_name")
+    private String taskTypeName;
 
-    @TableField(exist = false)
-    private ReportAuditorSetting auditorSetting;
 
-    @TableField(exist = false)
-    private User auditorFirst;
-    @TableField(exist = false)
-    private User auditorSec;
-    @TableField(exist = false)
-    private User auditorThird;
-    @TableField(exist = false)
-    private User ccUserid;
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 0 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/CompanyService.java

@@ -13,5 +13,4 @@ import com.management.platform.util.HttpRespMsg;
  * @since 2020-01-13
  */
 public interface CompanyService extends IService<Company> {
-    HttpRespMsg dataMigration(Integer oldCompanyId, Integer targetCompanyId);
 }

+ 0 - 22
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ProjectMainService.java

@@ -1,22 +0,0 @@
-package com.management.platform.service;
-
-import com.management.platform.entity.ProjectMain;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.management.platform.util.HttpRespMsg;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author Seyason
- * @since 2022-06-28
- */
-public interface ProjectMainService extends IService<ProjectMain> {
-
-    HttpRespMsg addOrMod(HttpServletRequest request,ProjectMain projectMain);
-
-    HttpRespMsg getListByCategory(Integer categoryId);
-}

+ 0 - 239
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ProjectService.java

@@ -1,239 +0,0 @@
-package com.management.platform.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectSeparate;
-import com.management.platform.entity.vo.OvertimeListVO;
-import com.management.platform.util.HttpRespMsg;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDate;
-
-/**
- * <p>
- * 服务类
- * </p>
- *
- * @author 吴涛涛
- * @since 2020-01-03
- */
-public interface ProjectService extends IService<Project> {
-    HttpRespMsg getProjectList(Integer forReport, HttpServletRequest request);
-
-    HttpRespMsg getProjectPage(Integer pageIndex, Integer pageSize, String keyword, Integer searchField,
-                               Integer status, Integer category, Integer projectId,Integer projectMainId,Integer deptId, String sortProp, Integer sortOrder,String inchagerId,String participation,String startDate,String endDate, HttpServletRequest request);
-
-    HttpRespMsg editProject(Integer id, String name, String code, String[] userIds, String inchargerId,
-                            Integer isPublic,
-                            String planStartDate,
-                            String planEndDate,
-                            Integer level,
-                            Double contractAmount,
-                            String changeContractReason,
-                            String projectBaseCostData,
-                            String projectKeyNodesData,
-                            Double budget,
-                            Integer customerId,
-                            String chosenLeaders,
-                            String associateDegrees,
-                            String associateDegreeNames,
-                            Integer taskGpIncharge,
-                            String auditUserIds,
-                            Integer category,
-                            String projectDesc,
-                            Integer projectMainId,
-                            String providerIds,
-                            String providerNames,
-                            HttpServletRequest request,
-                            ProjectSeparate projectSeparate,Double outputValue,Integer deptId,boolean onlyChangeParticipate,String buId,Integer manDay,String manDayStartDate,String plate1,
-                            String plate2,
-                            String plate3,
-                            String plate4,
-                            String plate5,
-                            String plate6,
-                            String plate7,
-                            String plate8,
-                            String plate9,
-                            String plate10);
-
-    HttpRespMsg deleteProject(Integer id, Integer force);
-
-    HttpRespMsg getTimeCost(String startDate, String endDate, String userIds,Integer projectId, Integer type,HttpServletRequest request);
-
-    HttpRespMsg getProjectCost(String startDate, String endDate, Integer projectId,Integer stateKey, HttpServletRequest request);
-
-    HttpRespMsg getCostInStage(String startDate, String endDate, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg getAllMembCost(String startDate, String endDate, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg exportTimeCost(String exportContent,String startDate, String endDate, Integer projectId,String userIds, Boolean projectSum,Integer type,Integer deptId,Integer stateKey,HttpServletRequest request);
-
-    HttpRespMsg updateProgress(Integer id, Integer progress, HttpServletRequest request);
-
-    HttpRespMsg updateStatus(Integer id, Integer status, LocalDate finishDate, HttpServletRequest request);
-
-    HttpRespMsg detail(Integer id, HttpServletRequest request);
-
-    HttpRespMsg detailTwo(Integer id, HttpServletRequest request);
-
-    HttpRespMsg taskSum(Integer id, HttpServletRequest request);
-
-    HttpRespMsg restartProject(Integer id);
-
-    HttpRespMsg addMemb(Integer id, String[] userId);
-
-    HttpRespMsg adjustBase(String baseCostData, Project project, String remark, HttpServletRequest request);
-
-    HttpRespMsg exportProfit(HttpServletRequest request);
-
-    HttpRespMsg exportProject(HttpServletRequest request);
-
-    HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request,Integer taskType);
-
-    HttpRespMsg exportProjectTask(HttpServletRequest request,Integer taskType);
-
-    HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, Integer projectId,HttpServletRequest request);
-
-    HttpRespMsg exportAllProjectCost(HttpServletRequest request);
-
-    HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg exportProjectInAndOut(HttpServletRequest request);
-
-    HttpRespMsg importData(String userId, MultipartFile file,Integer key, HttpServletRequest request);
-
-    HttpRespMsg getCustomerProjectInAndOut(Integer pageIndex, Integer pageSize, HttpServletRequest request,Integer customerId,Integer projectId);
-
-    HttpRespMsg exportCustomerProjectInAndOut(HttpServletRequest request);
-
-//    HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String userId, Integer projectId, String groupName,Integer taskType, HttpServletRequest request);
-
-    HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request,String stageNames,String startDate,String endDate);
-
-    HttpRespMsg exportProjectStagesCost( HttpServletRequest request,String stageNames,String startDate,String endDate, Integer projectId);
-
-    HttpRespMsg getOvertimeList(OvertimeListVO overtimeListVO);
-
-    HttpRespMsg exportOvertimeList(OvertimeListVO overtimeListVO, HttpServletRequest request);
-
-    HttpRespMsg getDegreeCost(String startDate, String endDate, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg exportData(String keyword,
-                           @RequestParam(required = false, defaultValue = "1") Integer searchField,
-                           Integer projectId, //可以直接传projectId来进行匹配
-                           Integer status, Integer category,Integer projectMainId,Integer deptId,String inchagerId,String participation,HttpServletRequest request);
-
-    HttpRespMsg exportGroupData(HttpServletRequest request);
-
-    HttpRespMsg getCustomDataSum(String startDate, String endDate, String userId, HttpServletRequest request);
-
-    HttpRespMsg exportCustomDataSum(String startDate, String endDate, Integer projectId, String userId, HttpServletRequest request);
-
-    HttpRespMsg getMyUsers(HttpServletRequest request);
-
-    HttpRespMsg getMyParticiPMList(HttpServletRequest request);
-
-    HttpRespMsg getOvertimeDetail(String userId, Integer projectId, String startDate, String endDate, HttpServletRequest request);
-
-    HttpRespMsg saveBatchAccoDegrees(String ids, String associateDegrees, String associateDegreeNames, HttpServletRequest request);
-
-    HttpRespMsg getProjectCostAlarm(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg addBatchAccoDegrees(String ids, String associateDegrees, String associateDegreeNames, HttpServletRequest request);
-
-    HttpRespMsg getBaseCostAndRealCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg exportBaseCostAndRealCost(HttpServletRequest request);
-
-    HttpRespMsg getProjectsGroups(String projectIdArray);
-
-    HttpRespMsg batchAddMembToGroup(String membIdArray, String groupIds);
-
-    HttpRespMsg getProjectByCustomer(Integer customerId, HttpServletRequest request);
-
-    HttpRespMsg getTimeCostByCategory(String startDate, String endDate, String userIds, HttpServletRequest request);
-
-    HttpRespMsg exportTimeCostByCategory(String exportContent,String startDate, String endDate, Integer projectCategoryId, String userIds, Boolean projectSum, Integer type, HttpServletRequest request);
-
-    HttpRespMsg getUserWorkingTimeList(String userId, Integer projectId, String startDate, String endDate, Integer pageIndex, Integer pageSize,HttpServletRequest request,Integer departmentId);
-
-    HttpRespMsg exportUserWorkingTimeList(String userId, Integer projectId, String startDate, String endDate,HttpServletRequest request,Integer departmentId);
-
-
-
-    HttpRespMsg getWaitingReviewList(HttpServletRequest request, Integer stateKey, String userId,Integer pageIndex,Integer pageSize,String startDate,String endDate,Integer departmentId);
-
-    HttpRespMsg exportWaitingReviewList(HttpServletRequest request, Integer stateKey, String userId,String startDate,String endDate);
-
-    HttpRespMsg batchSetParticipation(HttpServletRequest request,String projectIdArray , String userIds);
-
-    HttpRespMsg suspendProject(Integer id);
-
-    HttpRespMsg getUserWorkingTimeStatic(String startDate, String endDate, Integer pageIndex, Integer pageSize, HttpServletRequest request,String userId,Integer departmentId);
-
-    HttpRespMsg exportUserWorkingTimeStatic(String startDate, String endDate, HttpServletRequest request, String userId, Integer departmentId);
-
-    HttpRespMsg batchDeleteProject(String projectIdArray, HttpServletRequest request);
-
-    HttpRespMsg modifyContract(Integer projectId, Double oldContractAmount, Double newContractAmount,String reason,HttpServletRequest request);
-
-    HttpRespMsg getTimeCostByMainProject(String startDate, String endDate, String userId, HttpServletRequest request);
-
-    HttpRespMsg getCostByGroup(String startDate, String endDate, Integer id, HttpServletRequest request);
-
-    HttpRespMsg getTimeCostByGroup(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,HttpServletRequest request);
-
-    HttpRespMsg getTimeCostByGroupProject(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg exportGroupWithProjectTimeCost(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request);
-
-    HttpRespMsg getProjectBaseCost(Integer projectId, HttpServletRequest request, Integer pageIndex, Integer pageSize);
-
-    HttpRespMsg exportProjectBaseCost(HttpServletRequest request);
-
-    HttpRespMsg getTimeCostByUserCustom(String startDate, String endDate, String subCustomName, Integer customId,HttpServletRequest request,String fieldName);
-
-    HttpRespMsg exportTimeCostByUserCustom(String startDate, String endDate, String subCustomName, Integer customId, HttpServletRequest request, String fieldName);
-
-    HttpRespMsg importPersonnelWithGroup(MultipartFile file, HttpServletRequest request);
-
-    HttpRespMsg batchExchangeIncharger(String projectIds, String inchargerId, HttpServletRequest request);
-
-    HttpRespMsg fixParticipators(Integer companyId, HttpServletRequest request);
-
-    HttpRespMsg removeDuplicateParticipators(Integer companyId, HttpServletRequest request);
-
-    HttpRespMsg synchronizationProject(String dataJson);
-
-    HttpRespMsg testRead(String jobId);
-
-    HttpRespMsg testAdd(String jobId);
-
-
-    HttpRespMsg deptPartInProjects(Integer pageIndex, Integer pageSize, String month, Integer departmentId, HttpServletRequest request);
-
-    HttpRespMsg exportDeptPartInProjects(String month, Integer departmentId, HttpServletRequest request);
-
-
-//    HttpRespMsg getGanttDataNew(Integer type, String startDate, String endDate, String userId, Integer projectId, String groupName, Integer taskType, HttpServletRequest request);
-
-    HttpRespMsg projectGroupAndCategoryWorkTime(HttpServletRequest request, String startDate, String endDate, Integer projectId,Integer pageIndex,Integer pageSize);
-
-    HttpRespMsg exportProjectGroupAndCategoryWorkTime(HttpServletRequest request, String startDate, String endDate, Integer projectId);
-
-    HttpRespMsg getSubProjectTimeCost(HttpServletRequest request, String startDate, String endDate, Integer projectId,Integer pageIndex,Integer pageSize);
-
-    HttpRespMsg exportSubProjectTimeCost(HttpServletRequest request,String startDate,String endDate, Integer projectId);
-
-    HttpRespMsg exportDegreeCost(String startDate, String endDate, Integer projectId,Integer deptId, HttpServletRequest request);
-
-    HttpRespMsg timeCostAndExpenseByProject(HttpServletRequest request, String startDate, String endDate, Integer projectId);
-
-    HttpRespMsg nearProject(HttpServletRequest request);
-
-    HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize, String month, String area, HttpServletRequest request);
-
-    HttpRespMsg exportFTEData(String month, String area, HttpServletRequest request);
-}

+ 91 - 89
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ReportService.java

@@ -23,93 +23,95 @@ import java.util.Map;
  * @since 2019-12-31
  */
 public interface ReportService extends IService<Report> {
-    HttpRespMsg getReportList(String date, Integer deptId, String userId, HttpServletRequest request);
-
-    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey,Integer departmentId, HttpServletRequest request);
-
-    HttpRespMsg getReport(String date, HttpServletRequest request);
-
-    HttpRespMsg getCardTime(String date, HttpServletRequest request);
-
-    HttpRespMsg editReport(List<Report> reportList, String date, List<User> userList, BigDecimal hourCost, Integer companyId);
-
-    HttpRespMsg deleteReport(String userId, String date);
-
-    HttpRespMsg getListByState(Integer state, Integer departmentId,
-                               Integer projectId,
-                               String date,
-                               String startDate,
-                               String endDate,
-                               String userId,
-                               HttpServletRequest request);
-
-
-    HttpRespMsg getMembList(String date, HttpServletRequest request);
-
-    HttpRespMsg cancelReport(String userId, String reportIds, HttpServletRequest request);
-
-    HttpRespMsg getReportFillStatus(String startDate, String endDate, String userId, HttpServletRequest request);
-
-    HttpRespMsg listByStateProfession(Integer state, Integer departmentId, Integer projectId, String date, HttpServletRequest request);
-
-    HttpRespMsg listByStateDepartment(Integer state, Integer projectId, String date, HttpServletRequest request);
-
-    HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
-
-    HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
-
-    HttpRespMsg importData(Integer companyId, Integer withCheckIn, MultipartFile file, HttpServletRequest request);
-
-    HttpRespMsg saveProjectTime(Integer companyId, List<Report> reportList, JSONArray userReportArray);
-
-    HttpRespMsg listDeptImportByState(String leaderId,
-                               Integer projectId,
-                               Integer dateType,
-                               String date,
-                                      Integer pageIndex, Integer pageSize,
-                                      Integer deprarmtentId, HttpServletRequest request);
-
-    HttpRespMsg getlastWeekFillTime(String userId);
-
-    HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate);
-
-    HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate);
-
-    HttpRespMsg approveAllImport(HttpServletRequest request);
-
-    HttpRespMsg denyHisReport(Integer hisId, String reason, HttpServletRequest request);
-
-    HttpRespMsg getReportListByToken(String json);
-
-    HttpRespMsg getWeeklyCardTime(String dateStr, HttpServletRequest request);
-
-    HttpRespMsg getWeeklyWorkTime(String dateStr, HttpServletRequest request);
-
-    HttpRespMsg getProcessErrorData();
-
-    HttpRespMsg uploadThirdReportData(String yearMonth,HttpServletRequest request);
-
-    HttpRespMsg pushReportDataToThird(String yearMonth,HttpServletRequest request);
-
-    List<Map<String, Object>> getTaskReportList(Integer taskId);
-
-    HttpRespMsg correctWorkingTime(String userIds, String startDate, String endDate);
-
-    HttpRespMsg defaultDegree(Integer projectId, HttpServletRequest request);
-
-	HttpRespMsg approveDeptAuditReport(User user, String auditDeptId);
-
-    void moveReport(User sourceUser,User targetUser);
-
-    HttpRespMsg fillWorkingHours(String yearMonth, MonthWorkingTimeVO monthVO, HttpServletRequest request);
-
-    HttpRespMsg fillAll(String month, String userId, Integer departmentId, Integer whether,HttpServletRequest request);
-
-    HttpRespMsg getAIReport(HttpServletRequest request);
-
-    HttpRespMsg getWeeklyReportData(String targetDate, HttpServletRequest request);
-
-    HttpRespMsg batchDelete(String userIds, String startDate, String endDate, HttpServletRequest request);
-
-    HttpRespMsg batchApproveByDate(String startDate, String endDate, HttpServletRequest request);
+//    HttpRespMsg getReportList(String date, Integer deptId, String userId, HttpServletRequest request);
+//
+//    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey,Integer departmentId, HttpServletRequest request);
+//
+//    HttpRespMsg getReport(String date, HttpServletRequest request);
+//
+//    HttpRespMsg getCardTime(String date, HttpServletRequest request);
+//
+//    HttpRespMsg editReport(List<Report> reportList, String date, List<User> userList, BigDecimal hourCost, Integer companyId);
+//
+//    HttpRespMsg deleteReport(String userId, String date);
+//
+//    HttpRespMsg getListByState(Integer state, Integer departmentId,
+//                               Integer projectId,
+//                               String date,
+//                               String startDate,
+//                               String endDate,
+//                               String userId,
+//                               HttpServletRequest request);
+//
+//
+//    HttpRespMsg getMembList(String date, HttpServletRequest request);
+//
+//    HttpRespMsg cancelReport(String userId, String reportIds, HttpServletRequest request);
+//
+//    HttpRespMsg getReportFillStatus(String startDate, String endDate, String userId, HttpServletRequest request);
+//
+//    HttpRespMsg listByStateProfession(Integer state, Integer departmentId, Integer projectId, String date, HttpServletRequest request);
+//
+//    HttpRespMsg listByStateDepartment(Integer state, Integer projectId, String date, HttpServletRequest request);
+//
+//    HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
+//
+//    HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
+//
+//    HttpRespMsg importData(Integer companyId, Integer withCheckIn, MultipartFile file, HttpServletRequest request);
+//
+//    HttpRespMsg saveProjectTime(Integer companyId, List<Report> reportList, JSONArray userReportArray);
+//
+//    HttpRespMsg listDeptImportByState(String leaderId,
+//                               Integer projectId,
+//                               Integer dateType,
+//                               String date,
+//                                      Integer pageIndex, Integer pageSize,
+//                                      Integer deprarmtentId, HttpServletRequest request);
+//
+//    HttpRespMsg getlastWeekFillTime(String userId);
+//
+//    HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate);
+//
+//    HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate);
+//
+//    HttpRespMsg approveAllImport(HttpServletRequest request);
+//
+//    HttpRespMsg denyHisReport(Integer hisId, String reason, HttpServletRequest request);
+//
+//    HttpRespMsg getReportListByToken(String json);
+//
+//    HttpRespMsg getWeeklyCardTime(String dateStr, HttpServletRequest request);
+//
+//    HttpRespMsg getWeeklyWorkTime(String dateStr, HttpServletRequest request);
+//
+//    HttpRespMsg getProcessErrorData();
+//
+//    HttpRespMsg uploadThirdReportData(String yearMonth,HttpServletRequest request);
+//
+//    HttpRespMsg pushReportDataToThird(String yearMonth,HttpServletRequest request);
+//
+//    List<Map<String, Object>> getTaskReportList(Integer taskId);
+//
+//    HttpRespMsg correctWorkingTime(String userIds, String startDate, String endDate);
+//
+//    HttpRespMsg defaultDegree(Integer projectId, HttpServletRequest request);
+//
+//	HttpRespMsg approveDeptAuditReport(User user, String auditDeptId);
+//
+//    void moveReport(User sourceUser,User targetUser);
+//
+//    HttpRespMsg fillWorkingHours(String yearMonth, MonthWorkingTimeVO monthVO, HttpServletRequest request);
+//
+//    HttpRespMsg fillAll(String month, String userId, Integer departmentId, Integer whether,HttpServletRequest request);
+//
+//    HttpRespMsg getAIReport(HttpServletRequest request);
+//
+//    HttpRespMsg getWeeklyReportData(String targetDate, HttpServletRequest request);
+//
+//    HttpRespMsg batchDelete(String userIds, String startDate, String endDate, HttpServletRequest request);
+//
+//    HttpRespMsg batchApproveByDate(String startDate, String endDate, HttpServletRequest request);
+
+    HttpRespMsg submitReport(Report report, HttpServletRequest request);
 }

+ 0 - 136
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/CompanyServiceImpl.java

@@ -33,8 +33,6 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     @Resource
     private ProjectMapper projectMapper;
     @Resource
-    private ProjectService projectService;
-    @Resource
     private ReportMapper reportMapper;
     @Resource
     private CustomerInfoMapper customerInfoMapper;
@@ -54,138 +52,4 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     private UserService userService;
     @Resource
     private ReportService reportService;
-    @Override
-    public HttpRespMsg dataMigration(Integer oldCompanyId,Integer targetCompanyId) {
-        HttpRespMsg msg=new HttpRespMsg();
-        List<User> oldUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", oldCompanyId));
-        List<User> targetUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", targetCompanyId));
-        List<Department> oldDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", oldCompanyId));
-        List<Department> targetDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", targetCompanyId));
-        //处理部门负责人
-        List<User> updateUserList=new ArrayList<>();
-        List<Department> updateDepartmentList=new ArrayList<>();
-        for (Department oldDepartment : oldDepartmentList) {
-            for (Department targetDepartment : targetDepartmentList) {
-                if(oldDepartment.getDepartmentName().equals(targetDepartment.getDepartmentName())){
-                    if(oldDepartment.getManagerId()!=null){
-                        Optional<User> oldUser = oldUserList.stream().filter(ou -> ou.getId().equals(oldDepartment.getManagerId())).findFirst();
-                        Optional<User> targetUser = targetUserList.stream().filter(tu -> tu.getDingdingUserid().equals(oldUser.get().getDingdingUserid())).findFirst();
-                        targetDepartment.setManagerId(targetUser.get().getId());
-                        targetUser.get().setDepartmentId(targetDepartment.getDepartmentId());
-                        targetUser.get().setDepartmentName(targetDepartment.getDepartmentName());
-                        updateUserList.add(targetUser.get());
-                        updateDepartmentList.add(targetDepartment);
-                    }
-                }
-            }
-        }
-        userService.updateBatchById(updateUserList);
-        departmentService.updateBatchById(updateDepartmentList);
-        List<String> ids=new ArrayList<>();
-        //获取在目标公司也存在的人员
-        for (User targetUser : targetUserList) {
-            for (User oldUser : oldUserList) {
-                if(targetUser.getDingdingUserid().equals(oldUser.getDingdingUserid())){
-                    ids.add(oldUser.getId());
-                }
-            }
-        }
-        List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().in("user_id", ids));
-        //取项目id  按照项目参与人
-        List<Integer> projectIds = participationList.stream().map(pc -> pc.getProjectId()).collect(Collectors.toList());
-        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
-        List<Project> targetProjectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", targetCompanyId));
-        List<String> list = targetProjectList.stream().map(tp -> tp.getProjectCode()).collect(Collectors.toList());
-        List<ProjectAuditor> oldProjectAuditorList = projectAuditorMapper.selectList(new QueryWrapper<ProjectAuditor>().in("project_id", projectIds));
-        //处理相关项目
-        List<Project> newProjectList=new ArrayList<>();
-        List<ProjectAuditor> newProjectAuditorList=new ArrayList<>();
-        List<Participation> newParticipationList=new ArrayList<>();
-        for (Project pro: projectList) {
-            //此前的项目负责人不存在当前组织架构
-            Optional<User> inchargerUser = oldUserList.stream().filter(ou -> ou.getId().equals(pro.getInchargerId())).findFirst();
-            boolean flag = targetUserList.stream().anyMatch(tu -> tu.getDingdingUserid().equals(inchargerUser.get().getDingdingUserid()));
-            if(!flag){
-                //msg.setError("当前项目["+pro.getProjectName()+"]负责人["+inchargerUser.get().getName()+"]不存在");
-                msg.setError(MessageUtils.message("project.masterNull",pro.getProjectName(),inchargerUser.get().getName()));
-                return msg;
-            }else {
-                Optional<User> targetInchargerUser = targetUserList.stream().filter(tu -> tu.getDingdingUserid().equals(inchargerUser.get().getDingdingUserid())).findFirst();
-                pro.setInchargerId(targetInchargerUser.get().getId());
-            }
-            //在新公司创建相同的客户信息
-            /*CustomerInfo customerInfo = customerInfoMapper.selectById(pro.getCustomerId());
-            customerInfo.setId(null);
-            customerInfo.setCompanyId(targetCompanyId);
-            customerInfoMapper.insert(customerInfo);
-            pro.setCustomerId(customerInfo.getId());*/
-            List<ProjectAuditor> projectAuditorList = oldProjectAuditorList.stream().filter(pa -> pa.getProjectId().equals(pro.getId())).collect(Collectors.toList());
-            Optional<User> creatorUser = oldUserList.stream().filter(ou -> ou.getName().equals("李婷婷")).findFirst();
-            Optional<User> targetCreatorUser = targetUserList.stream().filter(tu -> tu.getDingdingUserid().equals(creatorUser.get().getDingdingUserid())).findFirst();
-            pro.setCreatorId(targetCreatorUser.get().getId());
-            //当前项目的相关参与人
-            List<String> userList = participationList.stream().filter(pc -> pc.getProjectId().equals(pro.getId())).collect(Collectors.toList()).stream().map(o -> o.getUserId()).collect(Collectors.toList());
-            pro.setId(null);
-            pro.setCompanyId(targetCompanyId);
-            if(list.contains(pro.getProjectCode())){
-                continue;
-            }
-            newProjectList.add(pro);
-            //处理项目审核人
-            for (ProjectAuditor projectAuditor : projectAuditorList) {
-                projectAuditor.setProjectId(pro.getId());
-                projectAuditor.setId(null);
-                Optional<User> first = targetUserList.stream().filter(tu -> tu.getName().equals(projectAuditor.getAuditorName())).findFirst();
-                if(first.isPresent()){
-                    projectAuditor.setAuditorId(first.get().getId());
-                    projectAuditor.setAuditorName(first.get().getName());
-                    newProjectAuditorList.add(projectAuditor);
-                }
-            }
-            for(String s:userList){
-               Participation participation=new Participation();
-               participation.setProjectId(pro.getId());
-                Optional<User> user = oldUserList.stream().filter(ou -> ou.getId().equals(s)).findFirst();
-                Optional<User> targetUser = targetUserList.stream().filter(tu -> tu.getDingdingUserid().equals(user.get().getDingdingUserid())).findFirst();
-                participation.setUserId(targetUser.get().getId());
-                newParticipationList.add(participation);
-            }
-        }
-        projectService.saveBatch(newProjectList);
-        projectAuditorService.saveBatch(newProjectAuditorList);
-        participationService.saveBatch(newParticipationList);
-        List<Project> oldProjectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
-        //处理日报
-        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().in("creator_id", ids));
-        List<Report> changeReportList=new ArrayList<>();
-        for (Report report : reportList) {
-            //项目关联
-            Optional<Project> oldProject = oldProjectList.stream().filter(op -> op.getId().equals(report.getProjectId())).findFirst();
-            Optional<Project> targetProject = projectList.stream().filter(pro -> pro.getProjectCode().equals(oldProject.get().getProjectCode())).findFirst();
-            report.setProjectId(targetProject.get().getId());
-            Optional<User> oldUser = oldUserList.stream().filter(ou -> ou.getId().equals(report.getCreatorId())).findFirst();
-            Optional<User> targetUser = targetUserList.stream().filter(tu -> tu.getDingdingUserid().equals(oldUser.get().getDingdingUserid())).findFirst();
-            report.setCreatorId(targetUser.get().getId());
-            //部门数据
-            Optional<Department> oldDepart = oldDepartmentList.stream().filter(od -> od.getDepartmentId().equals(report.getDeptId())).findFirst();
-            Optional<Department> targetDepart = targetDepartmentList.stream().filter(td -> td.getDepartmentName().equals(oldDepart.get().getDepartmentName())).findFirst();
-            report.setDeptId(targetDepart.get().getDepartmentId());
-            //当前审核部门数据
-            Optional<Department> oldAuditDepart = oldDepartmentList.stream().filter(od -> od.getDepartmentId().equals(report.getAuditDeptid())).findFirst();
-            if(oldAuditDepart.isPresent()){
-                Optional<Department> targetAuditDepart =targetDepartmentList.stream().filter(td -> td.getDepartmentName().equals(oldAuditDepart.get().getDepartmentName())).findFirst();
-                report.setAuditDeptid(targetAuditDepart.get().getDepartmentId());
-                report.setAuditDeptManagerid(targetAuditDepart.get().getManagerId());
-            }
-            //是否被驳回
-            if(!StringUtils.isNullOrEmpty(report.getRejectUsername())){
-                Optional<User> rejectUser = targetUserList.stream().filter(tu -> tu.getName().equals(report.getRejectUsername())).findFirst();
-                report.setRejectUserid(rejectUser.get().getId());
-            }
-            report.setCompanyId(targetCompanyId);
-            changeReportList.add(report);
-        }
-        reportService.updateBatchById(changeReportList);
-        return msg;
-    }
 }

+ 0 - 12
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -183,18 +183,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
                                     userMapper.updateById(manageDeptOldUser);
                                 }
-
-                                //如果存在审核中的日报,需要切换部门的审核人为新的负责人
-                                List<Report> oldReportList = reportMapper.selectList(new QueryWrapper<Report>().select("id")
-                                        .eq("audit_dept_managerid", manageDeptOldUser.getId())
-                                        .eq("audit_deptid", departmentId)
-                                        .eq("state", 0)
-                                        .eq("company_id", companyId));
-                                if (oldReportList.size() > 0) {
-                                    Report r = new Report();
-                                    r.setAuditDeptManagerid(managerId);
-                                    reportMapper.update(r, new QueryWrapper<Report>().in("id", oldReportList.stream().map(Report::getId).collect(Collectors.toList())));
-                                }
                             }
                         }
                     } else {

+ 0 - 109
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProjectMainServiceImpl.java

@@ -1,109 +0,0 @@
-package com.management.platform.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ProjectCategory;
-import com.management.platform.entity.ProjectMain;
-import com.management.platform.entity.ProjectSeparate;
-import com.management.platform.mapper.ProjectCategoryMapper;
-import com.management.platform.mapper.ProjectMainMapper;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.ProjectMainService;
-import com.management.platform.service.ProjectService;
-import com.management.platform.util.HttpRespMsg;
-import com.management.platform.util.MessageUtils;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author Seyason
- * @since 2022-06-28
- */
-@Service
-public class ProjectMainServiceImpl extends ServiceImpl<ProjectMainMapper, ProjectMain> implements ProjectMainService {
-
-    @Resource
-    private ProjectMainMapper projectMainMapper;
-    @Resource
-    private UserMapper userMapper;
-    @Resource
-    private ProjectCategoryMapper projectCategoryMapper;
-    @Resource
-    private ProjectMapper projectMapper;
-    @Resource
-    private ProjectService projectService;
-    @Override
-    public HttpRespMsg addOrMod(HttpServletRequest request,ProjectMain projectMain) {
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        projectMain.setCompanyId(companyId);
-        ProjectCategory projectCategory = projectCategoryMapper.selectById(projectMain.getCategoryId());
-        projectMain.setCategoryName(projectCategory.getName());
-        if(projectMain.getId()!=null){
-            ProjectMain oldProject = projectMainMapper.selectById(projectMain.getId());
-            Integer count = projectMainMapper.selectCount(new QueryWrapper<ProjectMain>().eq("company_id", projectMain.getCompanyId())
-                    .eq("code", projectMain.getCode()).ne("id", projectMain.getId()));
-            if(count>0){
-                //httpRespMsg.setError("编号已存在");
-                httpRespMsg.setError(MessageUtils.message("other.NumAlreadyExists"));
-                return httpRespMsg;
-            }
-            Integer count1 = projectMainMapper.selectCount(new QueryWrapper<ProjectMain>().eq("company_id", projectMain.getCompanyId())
-                    .eq("name", projectMain.getName()).ne("id", projectMain.getId()));
-            if(count1>0){
-                //httpRespMsg.setError("名称已存在");
-                httpRespMsg.setError(MessageUtils.message("name.nameRepeat"));
-                return httpRespMsg;
-            }
-            boolean nameChanged = !oldProject.getName().equals(projectMain.getName());
-            boolean categoryChanged = !oldProject.getCategoryId().equals(projectMain.getCategoryId());
-            projectMainMapper.updateById(projectMain);
-            //修改主项目名称  更新项目表
-            Project updateP = new Project();
-            if (nameChanged) {
-                updateP.setProjectMainName(projectMain.getName());
-            }
-            if (categoryChanged) {
-                updateP.setCategory(projectMain.getCategoryId());
-                updateP.setCategoryName(projectMain.getCategoryName());
-            }
-            if (nameChanged || categoryChanged) {
-                projectService.update(updateP, new QueryWrapper<Project>().eq("project_main_id", projectMain.getId()));
-            }
-        }else {
-            Integer count2 = projectMainMapper.selectCount(new QueryWrapper<ProjectMain>().eq("company_id", projectMain.getCompanyId())
-                    .eq("code", projectMain.getCode()));
-            Integer count3 = projectMainMapper.selectCount(new QueryWrapper<ProjectMain>().eq("company_id", projectMain.getCompanyId())
-                    .eq("name", projectMain.getName()));
-            if(count2>0){
-                //httpRespMsg.setError("编号已存在");
-                httpRespMsg.setError(MessageUtils.message("other.NumAlreadyExists"));
-                return httpRespMsg;
-            }
-            if(count3>0){
-                //httpRespMsg.setError("名称已存在");
-                httpRespMsg.setError(MessageUtils.message("name.nameRepeat"));
-                return httpRespMsg;
-            }
-            projectMainMapper.insert(projectMain);
-        }
-        return httpRespMsg;
-    }
-
-    @Override
-    public HttpRespMsg getListByCategory(Integer categoryId) {
-        HttpRespMsg httpRespMsg=new HttpRespMsg();
-        List<ProjectMain> projectMainList = projectMainMapper.selectList(new QueryWrapper<ProjectMain>().eq("category_id", categoryId));
-        httpRespMsg.data=projectMainList;
-        return httpRespMsg;
-    }
-}

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 9846
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java


Diff do ficheiro suprimidas por serem muito extensas
+ 4214 - 4269
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java


+ 4 - 11
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -196,8 +196,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Resource
     private ReportFormMapper reportFormMapper;
     @Resource
-    private ProjectService projectService;
-    @Resource
     private ProjectAuditorService projectAuditorService;
     @Resource
     private TaskService taskService;
@@ -1332,11 +1330,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                                 .eq("state", 0)
                                 .eq("project_auditor_id", oldSuperiorId);
                         Integer count = reportMapper.selectCount(queryWrapper);
-                        if (count > 0) {
-                            //更新日报审核人为新的superiorId
-                            Report updateReport = new Report().setProjectAuditorId(superiorId).setProjectAuditorName(userMapper.selectById(superiorId).getName());
-                            reportMapper.update(updateReport, queryWrapper);
-                        }
                     }
                 }
                 //更新人员专业证书表
@@ -2626,8 +2619,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         User sourceUser = userMapper.selectById(sourceId);
         //目标
         User targetUser = userMapper.selectById(targetId);
-        //转移日报
-        reportService.moveReport(sourceUser,targetUser);
+//        //转移日报
+//        reportService.moveReport(sourceUser,targetUser);
 
         //转移用户负责的项目
         List<Project> projectInchargerList = projectMapper.selectList(new QueryWrapper<Project>().eq("incharger_id", sourceUser.getId()));
@@ -2635,7 +2628,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             for (Project project : projectInchargerList) {
                 project.setInchargerId(targetUser.getId());
             }
-            projectService.updateBatchById(projectInchargerList);
+//            projectService.updateBatchById(projectInchargerList);
         }
 
         //转移用户创建的项目
@@ -2645,7 +2638,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 project.setCreatorId(targetUser.getId());
                 project.setCreatorName(targetUser.getName());
             }
-            projectService.updateBatchById(projectCreatorList);
+//            projectService.updateBatchById(projectCreatorList);
         }
 
         //转移项目审核人

Diff do ficheiro suprimidas por serem muito extensas
+ 12 - 947
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml