浏览代码

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

山水共长天一色 3 年之前
父节点
当前提交
44c6dd0342

+ 10 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/CustomerInfoController.java

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -48,6 +49,15 @@ public class CustomerInfoController {
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
+        List<CustomerInfo> customerInfoMapperAll = customerInfoMapper.getAll(user.getCompanyId());
+        List<String> nameList=new ArrayList<>();
+        customerInfoMapperAll.forEach(cu->{
+            nameList.add(cu.getCustomerName());
+        });
+        if(nameList.contains(info.getCustomerName())){
+            msg.setError("客户名称重复");
+            return msg;
+        }
         if (info.getId() == null) {
             info.setCompanyId(user.getCompanyId());
             customerInfoMapper.insert(info);

+ 9 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java

@@ -2,33 +2,22 @@ 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.CustomerInfo;
 import com.management.platform.entity.Project;
 import com.management.platform.entity.ReportExtraDegree;
 import com.management.platform.entity.User;
-import com.management.platform.mapper.CustomerInfoMapper;
 import com.management.platform.mapper.ProjectMapper;
 import com.management.platform.mapper.ReportExtraDegreeMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ProjectService;
-import com.management.platform.service.ReportExtraDegreeService;
-import com.management.platform.service.ReportService;
 import com.management.platform.util.HttpRespMsg;
 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 javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -64,6 +53,15 @@ public class ReportExtraDegreeController {
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
+        List<ReportExtraDegree> reportExtraDegreeMapperAll = reportExtraDegreeMapper.getAll(user.getCompanyId());
+        List<String> nameList=new ArrayList<>();
+        reportExtraDegreeMapperAll.forEach(re->{
+            nameList.add(re.getName());
+        });
+        if(nameList.contains(info.getName())){
+            msg.setError("客户名称重复");
+            return msg;
+        }
         if (info.getId() == null) {
             info.setCompanyId(user.getCompanyId());
             reportExtraDegreeMapper.insert(info);

+ 6 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskGroupController.java

@@ -6,11 +6,13 @@ import com.management.platform.entity.*;
 import com.management.platform.mapper.GroupParticipatorMapper;
 import com.management.platform.mapper.ProjectMapper;
 import com.management.platform.mapper.UserMapper;
-import com.management.platform.service.*;
+import com.management.platform.service.GroupTmpstagesService;
+import com.management.platform.service.StagesService;
+import com.management.platform.service.TaskGroupService;
+import com.management.platform.service.TaskService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -185,8 +187,8 @@ public class TaskGroupController {
 
 
     @RequestMapping("/createFromTemplate")
-    public HttpRespMsg createFromTemplate(GroupTemplate template, Integer projectId) {
-        return taskGroupService.createFromTemplate(template, projectId);
+    public HttpRespMsg createFromTemplate(String templateJson, Integer projectId) {
+        return taskGroupService.createFromTemplate(templateJson, projectId);
     }
 
 

+ 2 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/TaskGroupService.java

@@ -1,8 +1,7 @@
 package com.management.platform.service;
 
-import com.management.platform.entity.GroupTemplate;
-import com.management.platform.entity.TaskGroup;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.TaskGroup;
 import com.management.platform.util.HttpRespMsg;
 
 /**
@@ -17,5 +16,5 @@ public interface TaskGroupService extends IService<TaskGroup> {
 
     void saveGroupIncharger(TaskGroup taskGroup);
 
-    HttpRespMsg createFromTemplate(GroupTemplate template, Integer projectId);
+    HttpRespMsg createFromTemplate(String templateJson, Integer projectId);
 }

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -181,6 +181,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             if (category != null) {
                 queryWrapper.eq("category", category);
             }
+            queryWrapper.orderByDesc("is_public");
             IPage<Project> projectIPage = projectMapper.selectPage(new Page<>(pageIndex, pageSize),
                     queryWrapper);
             List<Project> projectList = projectIPage.getRecords();
@@ -721,6 +722,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<String> headList = new ArrayList<String>();
             headList.add("项目编号");
             headList.add("项目名称");
+            headList.add("项目分类");
             headList.add("人员");
             headList.add("部门");
             headList.add("工时(h)");
@@ -741,6 +743,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 List<String> rowData = new ArrayList<String>();
                 rowData.add((String)map.get("projectCode"));
                 rowData.add((String)map.get("project"));
+                rowData.add((String)map.get("categoryName"));
                 rowData.add("");
                 rowData.add("");
                 rowData.add(((Double)map.get("cost")).toString());
@@ -758,6 +761,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     if (projectSum == null || projectSum == false) {
                         membRowData.add((String)map.get("projectCode"));
                         membRowData.add((String)map.get("project"));
+                        membRowData.add((String)map.get("categoryName"));
                     } else {
                         membRowData.add("");
                         membRowData.add("");
@@ -776,6 +780,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             sumRow.add("");
             sumRow.add("");
             sumRow.add("");
+            sumRow.add("");
             sumRow.add(""+new BigDecimal(totalCostTime).setScale(1, BigDecimal.ROUND_HALF_UP));
             sumRow.add(totalMoneyCost.toString());
             allList.add(sumRow);

+ 6 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -40,7 +40,6 @@ import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
-import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Collectors;
 
 /**
@@ -2502,7 +2501,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             sheet.createFreezePane(0,1);
             List<String> titles = new ArrayList<String>();
             titles.addAll(Arrays.asList(new String[]{
-                    "序号","员工","所在部门","项目名称","子项目名称"
+                    "序号","员工","所在部门","项目名称","项目分类","子项目名称"
             }));
 
             //项目管理专业版以上,包括任务
@@ -2662,10 +2661,11 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 row.createCell(1).setCellValue((String) map.get("name"));
                 row.createCell(2).setCellValue((String) map.get("departmentName"));
                 row.createCell(3).setCellValue((String) map.get("project"));
-                row.createCell(4).setCellValue((String) map.get("subProjectName"));
-                int index = 5;
+                row.createCell(4).setCellValue((String) map.get("categoryName"));
+                row.createCell(5).setCellValue((String) map.get("subProjectName"));
+                int index = 6;
                 if (company.getPackageProject() == 1) {
-                    row.createCell(5).setCellValue((String) map.get("taskName"));
+                    row.createCell(6).setCellValue((String) map.get("taskName"));
                     index++;
                 }
                 HSSFCell cell = row.createCell(index);
@@ -2947,7 +2947,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     if (!list.stream().anyMatch(item->item.get("id").equals(curUser.getId())&&sdf.format((java.sql.Date)item.get("createDate")).equals(dateStr))) {
                         UserDailyWorkItem noRecord = new UserDailyWorkItem();
                         noRecord.userId = curUser.getId();
-                        List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> sdf.format((java.sql.Date)mapList.get("create_date")).equals(dateStr)
+                        List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> mapList.get("create_date").toString().equals(dateStr)
                                 && mapList.get("corpwx_userid").equals(curUser.getCorpwxUserid())).collect(Collectors.toList());
                         if(!userCorpwxListOn.isEmpty()){
                                 noRecord.createDate = dtf.format(date)+"/请假";

+ 43 - 36
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskGroupServiceImpl.java

@@ -1,5 +1,6 @@
 package com.management.platform.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.*;
 import com.management.platform.mapper.*;
@@ -56,48 +57,54 @@ public class TaskGroupServiceImpl extends ServiceImpl<TaskGroupMapper, TaskGroup
 
     @Override
     @Transactional
-    public HttpRespMsg createFromTemplate(GroupTemplate template, Integer projectId) {
+    public HttpRespMsg createFromTemplate(String templateJson, Integer projectId) {
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
-        TaskGroup taskGroup = new TaskGroup();
-        taskGroup.setName(template.getName());
-        taskGroup.setProjectId(projectId);
-        save(taskGroup);
+        List<GroupTemplate> groupTemplates = JSONArray.parseArray(templateJson, GroupTemplate.class);
+        List<TaskGroup> list=new ArrayList<>();
+        for(GroupTemplate template:groupTemplates){
+            TaskGroup taskGroup = new TaskGroup();
+            taskGroup.setName(template.getName());
+            taskGroup.setProjectId(projectId);
+            save(taskGroup);
+            list.add(taskGroup);
 
-        //从模板创建任务列表
-        List<GroupTmpstages> stages = groupTmpstagesMapper.selectList(new QueryWrapper<GroupTmpstages>().eq("template_id", template.getId()));
-        List<Stages> batchList = new ArrayList<>();
-        stages.forEach(s->{
-            Stages item = new Stages();
-            item.setGroupId(taskGroup.getId());
-            item.setStagesName(s.getStagesName());
-            item.setSequence(s.getSequence());
-            item.setProjectId(projectId);
-            batchList.add(item);
-        });
-        stagesService.saveBatch(batchList);
-        //阶段的任务,里程碑,风险
-        List<GtemplateTask> gtemplateTaskList = gtemplateTaskMapper.selectList(
-                new QueryWrapper<GtemplateTask>().eq("gtemplate_id", template.getId())
-                        .orderByAsc("seq"));
-        if (gtemplateTaskList.size() > 0) {
-            List<Task> taskList = new ArrayList<>();
-            gtemplateTaskList.forEach(gt->{
-                Task task = gt.toTask();
-                task.setProjectId(projectId);
-                task.setGroupId(taskGroup.getId());
-                String sName = stages.stream().filter(s->s.getId().equals(gt.getTstagesId())).findFirst().get().getStagesName();
-                Integer realStageId = batchList.stream().filter(bat->bat.getStagesName().equals(sName)).findFirst().get().getId();
-                task.setStagesId(realStageId);
-                task.setCreaterId(user.getId());
-                task.setCreaterName(user.getName());
-                task.setCreatorColor(user.getColor());
-                taskList.add(task);
+            //从模板创建任务列表
+            List<GroupTmpstages> stages = groupTmpstagesMapper.selectList(new QueryWrapper<GroupTmpstages>().eq("template_id", template.getId()));
+            List<Stages> batchList = new ArrayList<>();
+            stages.forEach(s->{
+                Stages item = new Stages();
+                item.setGroupId(taskGroup.getId());
+                item.setStagesName(s.getStagesName());
+                item.setSequence(s.getSequence());
+                item.setProjectId(projectId);
+                batchList.add(item);
             });
-            taskService.saveBatch(taskList);
+            stagesService.saveBatch(batchList);
+            //阶段的任务,里程碑,风险
+            List<GtemplateTask> gtemplateTaskList = gtemplateTaskMapper.selectList(
+                    new QueryWrapper<GtemplateTask>().eq("gtemplate_id", template.getId())
+                            .orderByAsc("seq"));
+            if (gtemplateTaskList.size() > 0) {
+                List<Task> taskList = new ArrayList<>();
+                gtemplateTaskList.forEach(gt->{
+                    Task task = gt.toTask();
+                    task.setProjectId(projectId);
+                    task.setGroupId(taskGroup.getId());
+                    String sName = stages.stream().filter(s->s.getId().equals(gt.getTstagesId())).findFirst().get().getStagesName();
+                    Integer realStageId = batchList.stream().filter(bat->bat.getStagesName().equals(sName)).findFirst().get().getId();
+                    task.setStagesId(realStageId);
+                    task.setCreaterId(user.getId());
+                    task.setCreaterName(user.getName());
+                    task.setCreatorColor(user.getColor());
+                    taskList.add(task);
+                });
+                taskService.saveBatch(taskList);
+            }
         }
+
         HttpRespMsg msg = new HttpRespMsg();
-        msg.data = taskGroup;
+        msg.data = list;
         return msg;
     }
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -94,7 +94,7 @@
 
     <!--获取查询者所在公司每个项目的工时成本-->
     <select id="getTimeCost" resultType="java.util.Map">
-        SELECT a.id, a.project_code as projectCode, a.project_name AS project, SUM(b.working_time) AS cost, SUM(b.cost) AS costMoney
+        SELECT a.id, a.project_code as projectCode, a.project_name AS project, SUM(b.working_time) AS cost, SUM(b.cost) AS costMoney,a.category_name as categoryName
         FROM project AS a
         LEFT JOIN report AS b ON b.project_id = a.id
         JOIN user AS c ON b.creator_id = c.id

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -53,7 +53,7 @@
 
     <!--根据日期获取全部报告信息-->
     <select id="getAllReportByDate" resultType="java.util.Map">
-        SELECT a.id, c.name, b.project_name AS project, a.working_time AS duration, a.content, a.create_time AS time, a.create_date as createDate,
+        SELECT a.id, c.name, b.project_name AS project,b.category_name as categoryName, a.working_time AS duration, a.content, a.create_time AS time, a.create_date as createDate,
         a.state, a.time_type as timeType, a.cost, a.report_time_type as reportTimeType, a.start_time as startTime,
         a.end_time as endTime, d.name as subProjectName,a.task_id as taskId, task.name as taskName, a.is_overtime as isOvertime,a.progress as progress,
         a.department_audit_state as departmentAuditState, a.pic_str as picStr, multi_worktime as multiWorktime
@@ -113,7 +113,7 @@
     </select>
 
     <select id="getProjectMembReportByDate" resultType="java.util.Map">
-        SELECT a.id, c.name, b.project_name AS project, a.working_time AS duration, a.content, a.create_time AS time, a.create_date as createDate,
+        SELECT a.id, c.name, b.project_name AS project, b.category_name as categoryName,a.working_time AS duration, a.content, a.create_time AS time, a.create_date as createDate,
         a.state, a.time_type as timeType, a.cost, a.report_time_type as reportTimeType, a.start_time as startTime,
         a.end_time as endTime, d.name as subProjectName,a.task_id as taskId, task.name as taskName, a.is_overtime as isOvertime,a.progress as progress,
         a.department_audit_state as departmentAuditState, a.pic_str as picStr, multi_worktime as multiWorktime