Browse Source

项目任务报表导出 修改 按照查询条件导出
分组耗用工时表 修改格式化小数
系统内消息记录新增预估工时审核记录 企业微信消息内容修改

Min 1 year ago
parent
commit
8b2ebeebaa

+ 14 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/GroupBudgetReviewController.java

@@ -20,6 +20,7 @@ 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.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
@@ -60,6 +61,8 @@ public class GroupBudgetReviewController {
     private WxCorpInfoService wxCorpInfoService;
     @Resource
     private TimeTypeMapper timeTypeMapper;
+    @Resource
+    private InformationMapper informationMapper;
 
     @RequestMapping("/add")
     public HttpRespMsg add(Integer groupId,Integer oldManDay,Integer changeManDay,Integer nowManDay,String remark){
@@ -110,6 +113,7 @@ public class GroupBudgetReviewController {
         }
         Integer groupId = groupBudgetReview.getGroupId();
         TaskGroup taskGroup = taskGroupMapper.selectById(groupId);
+        Project project = projectMapper.selectById(taskGroup.getProjectId());
         if(checkType==1){
             //审核通过计算到任务分组的项目人天
             Double manDay = taskGroup.getManDay();
@@ -118,7 +122,6 @@ public class GroupBudgetReviewController {
             taskGroup.setManDay(bigDecimal.doubleValue());
             taskGroupMapper.updateById(taskGroup);
             //项目人天按照分组工时增加
-            Project project = projectMapper.selectById(taskGroup.getProjectId());
             double day = project.getManDay();
             day=day+groupBudgetReview.getChangeManDay();
             project.setManDay(day);
@@ -130,10 +133,10 @@ public class GroupBudgetReviewController {
             sb.append("$userName="+checker.getCorpwxUserid()+"$");
             if(checkType==1){
                 sb.append("通过了");
-                sb.append("您预估工时修改申请");
+                sb.append("您项目["+project.getProjectName()+"]下分组["+taskGroup.getName()+"]的预估工时修改申请");
             }else{
                 sb.append("驳回了");
-                sb.append("您预估工时修改申请");
+                sb.append("您项目["+project.getProjectName()+"]下分组["+taskGroup.getName()+"]的预估工时修改申请");
                 sb.append(",驳回理由:"+groupBudgetReview.getRejectReason());
             }
             String corpwxUserid = user.getCorpwxUserid();
@@ -141,6 +144,14 @@ public class GroupBudgetReviewController {
                 WxCorpInfo info = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id",checker.getCompanyId()));
                 wxCorpInfoService.sendWXCorpMsg(info, corpwxUserid,sb.toString(), "projectInside/"+taskGroup.getProjectId()+"@adjustBudget-"+taskGroup.getId(), WxCorpInfoServiceImpl.TEXT_CARD_MSG_REPORT_DENY);
             }
+            //系统消息
+            Information information=new Information();
+            information.setType(10);
+            information.setUserId(groupBudgetReview.getCreatorId());
+            information.setTime(LocalDateTime.now());
+            information.setContent(String.valueOf(groupBudgetReview.getProjectId())+"@adjustBudget-"+groupBudgetReview.getGroupId());
+            information.setMsg("您在项目["+project.getProjectName()+"]下分组["+taskGroup.getName()+"]的预估工时修改申请被"+(checkType==1?"通过了":("驳回了,驳回理由")+groupBudgetReview.getRejectReason()));
+            informationMapper.insert(information);
         }
         return  httpRespMsg;
     }

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -450,8 +450,8 @@ public class ProjectController {
     }
     //导出项目任务报表
     @RequestMapping("/exportProjectTask")
-    public HttpRespMsg exportProjectTask(Integer taskType) {
-        return projectService.exportProjectTask(request,taskType);
+    public HttpRespMsg exportProjectTask(Integer projectId,Integer groupId,Integer taskType) {
+        return projectService.exportProjectTask(request,projectId,groupId,taskType);
     }
 
     //分页查询项目成本报表

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -94,7 +94,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId,Integer groupId, HttpServletRequest request,Integer taskType);
 
-    HttpRespMsg exportProjectTask(HttpServletRequest request,Integer taskType);
+    HttpRespMsg exportProjectTask(HttpServletRequest request,Integer projectId,Integer groupId,Integer taskType);
 
     HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, Integer projectId,HttpServletRequest request);
 

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

@@ -2823,7 +2823,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg exportProjectTask(HttpServletRequest request,Integer taskType) {
+    public HttpRespMsg exportProjectTask(HttpServletRequest request,Integer projectId,Integer groupId,Integer taskType) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
 
         User user = userMapper.selectById(request.getHeader("Token"));
@@ -2849,7 +2849,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 inchagerIds.add(-1);
             }
         }
-        List<Map<String,Object>> projectList = taskMapper.getProjectTask(companyId, null, null, null,null,taskType,inchagerIds);
+        List<Map<String,Object>> projectList = taskMapper.getProjectTask(companyId, null, null, projectId,groupId,taskType,inchagerIds);
         if(companyId==3092){
             List<Integer> groupIds = projectList.stream().map(p -> Integer.valueOf(String.valueOf(p.get("groupId")))).distinct().collect(Collectors.toList());
             groupIds.add(-1);
@@ -12822,10 +12822,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                         && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.get(0).get("planHour"));
-                                    item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
-                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum());
-                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
-                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    item.put("realHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("realCost",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("overHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("normalHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
                                     double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
                                     double planHour =  Double.valueOf(String.valueOf( mapList.get(0).get("planHour"))).doubleValue();
                                     item.put("process",percentFormat.format(realHour/planHour));
@@ -12869,10 +12869,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                         && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.get(0).get("planHour"));
-                                    item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
-                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum());
-                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
-                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    item.put("realHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("realCost",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("overHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("normalHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
                                     double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
                                     double planHour =  Double.valueOf(String.valueOf( mapList.get(0).get("planHour"))).doubleValue();
                                     item.put("process",percentFormat.format(realHour/planHour));
@@ -12920,10 +12920,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                         && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.get(0).get("planHour"));
-                                    item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
-                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum());
-                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
-                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    item.put("realHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("realCost",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realCost")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("overHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
+                                    item.put("normalHour",new BigDecimal(mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum()).setScale(2,RoundingMode.HALF_UP));
                                     double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
                                     double planHour =  Double.valueOf(String.valueOf( mapList.get(0).get("planHour"))).doubleValue();
                                     item.put("process",percentFormat.format(realHour/planHour));

+ 13 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/Home.vue

@@ -725,6 +725,19 @@
                             // 6、7 合同通过、驳回
                             this.$router.push("/contract");
                             this.drawer = false;
+                        } else if (type == 10) {
+                            // 10 预估工时审核 通过 驳回
+                            var action = '';
+                            //跳转进入项目的任务看板
+                            date = decodeURIComponent(date);
+                            if (date.includes('@adjustBudget-')) {
+                                //需要打开分组预估工时设置
+                                action = date.split('@')[1];
+                                date = date.split('@')[0];
+                            }
+                            sessionStorage.action = action
+                            this.$router.push("/projectInside/"+date);
+                            this.drawer = false;
                         }
                         
                         

+ 2 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -2173,6 +2173,8 @@ export default {
           if(this.taskTypeId != 'null' && this.taskTypeId != null && this.taskTypeId != '') {
             sl.taskType = this.taskTypeId
           }
+          sl.projectId = this.proJuctId
+          sl.groupId=this.projectGroupId
         } else if (this.ins == 2) {
           fName = this.$t('projectcoststatement') + '.xlsx';
           url += "/exportAllProjectCost";