Min 1 ano atrás
pai
commit
7e71fdde25

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

@@ -1245,6 +1245,8 @@ public class ProjectController {
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", 876).select("job_number", "id","name"));
         int insert=0;
         int update=0;
+        StringBuilder sb=new StringBuilder();
+        sb.append("更新的项目:");
         for (Map<String, Object> map : mapList) {
             List<Participation> participationList=new ArrayList<>();
             Optional<User> first = userList.stream().filter(ul ->ul.getJobNumber()!=null&&ul.getJobNumber().equals(map.get("xmfzrplxm"))).findFirst();
@@ -1259,7 +1261,7 @@ public class ProjectController {
                     }
                     projectService.updateById(item);
                     update++;
-                    participationService.remove(new QueryWrapper<Participation>().eq("project_id",item.getId()));
+                    List<Participation> allParticipations = participationService.list(new QueryWrapper<Participation>().eq("project_id", item.getId()));
                     if(map.get("xmcygs")!=null&&!map.get("xmcygs").equals("")){
                         participationService.remove(new QueryWrapper<Participation>().eq("project_id",item.getId()));
                         String participations = String.valueOf(map.get("xmcygs"));
@@ -1273,6 +1275,10 @@ public class ProjectController {
                             }
                         }
                     }
+                    boolean equals = allParticipations.stream().map(al -> al.getUserId()).sorted().collect(Collectors.joining()).equals(participationList.stream().sorted().map(pl -> pl.getUserId()).sorted().collect(Collectors.joining()));
+                    if(!equals){
+                        sb.append("["+item.getProjectCode()+"/"+item.getProjectCode()+"]"+"\n");
+                    }
                     if(participationList.size()>0){
                         participationService.saveBatch(participationList);
                     }
@@ -1308,10 +1314,11 @@ public class ProjectController {
         }
         OperationRecord operationRecord=new OperationRecord();
         operationRecord.setCompanyId(876)
-                       .setContent("同步新增来自泛微的项目数据,共"+insert+"条数据"+"\n"+"同步更新来自泛微的项目数据,共"+update+"条数据")
+                       .setContent("同步新增来自泛微的项目数据,共"+insert+"条数据"+"\n"+"同步更新来自泛微的项目数据,共"+update+"条数据"+"\n"+sb.toString())
                        .setModuleName("项目管理").setOperationTime(LocalDateTime.now())
                        .setOperatorName(user.getName());
         operationRecordService.save(operationRecord);
+        httpRespMsg.setMsg("同步新增来自泛微的项目数据,共"+insert+"条数据"+"\n"+"同步更新来自泛微的项目数据,共"+update+"条数据");
         return httpRespMsg;
     }
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ExpenseSheet.java

@@ -71,7 +71,7 @@ public class ExpenseSheet extends Model<ExpenseSheet> {
     private Integer ticketNum;
 
     /**
-     * 0-一般费用,1-差旅费,2-外包费用
+     * 费用主类型id
      */
     @TableField("type")
     private Integer type;

+ 3 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java

@@ -720,6 +720,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", sheet.getCompanyId()));
         QueryWrapper<ExpenseSheet> queryWrapper = new QueryWrapper<ExpenseSheet>();
         queryWrapper.eq("company_id", sheet.getCompanyId()).orderByDesc("id");
+        List<ExpenseMainType> mainTypes = expenseMainTypeService.list(new QueryWrapper<ExpenseMainType>().eq("company_id", sheet.getCompanyId()));
         if (!StringUtils.isEmpty(sheet.getCode())) {
             queryWrapper.eq("code", sheet.getCode());
         }
@@ -768,19 +769,8 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
             }
             item.add(record.getCreateDate()==null?"":record.getCreateDate()+"");
             item.add(record.getTicketNum()==null?"0":record.getTicketNum()+"");
-            switch (record.getType()){
-                case 0:
-                    item.add("一般费用");
-                    break;
-                case 1:
-                    item.add("差旅费用");
-                    break;
-                case 2:
-                    item.add("外包费用");
-                    break;
-                default:
-                    item.add("");
-            }
+            Optional<ExpenseMainType> first = mainTypes.stream().filter(ms -> ms.getId().equals(record.getType())).findFirst();
+            item.add(first.isPresent()?first.get().getName():"");
             item.add(record.getRemark()==null?"":record.getRemark());
             switch (record.getStatus()){
                 case 0:

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

@@ -8685,6 +8685,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 List<Integer> idList = changeProjectList.stream().map(Project::getId).collect(Collectors.toList());
                 idList.add(-1);
                 List<TaskGroup> groupList = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().in("project_id", idList));
+                List<Participation> allParticipationList = participationMapper.selectList(new QueryWrapper<Participation>().in("project_id", idList));
                 List<Participation> participationList=new ArrayList<>();
                 for (Project project : changeProjectList) {
                     List<TaskGroup> taskGroupList = project.getTaskGroupList();
@@ -8708,10 +8709,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     //项目负责人要加到参与人中
                     Participation participation=new Participation();
                     if(project.getInchargerId()!=null&&project.getInchargerId().length()==19){
-                        participationMapper.delete(new QueryWrapper<Participation>().eq("project_id",project.getId()).eq("user_id",project.getId()));
-                        participation.setUserId(project.getInchargerId());
-                        participation.setProjectId(project.getId());
-                        participationMapper.insert(participation);
+                        boolean b = allParticipationList.stream().anyMatch(al -> al.getProjectId().equals(project.getId()) && al.getUserId().equals(project.getInchargerId()));
+                        if(!b){
+                            participation.setUserId(project.getInchargerId());
+                            participation.setProjectId(project.getId());
+                            participationMapper.insert(participation);
+                        }
                     }
                     //项目参与人处理 只增不减
                     List<Map<String, Object>> participations = project.getParticipations();
@@ -8721,6 +8724,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             if(map.get("participationId")!=null){
                                 Optional<User> first = userList.stream().filter(ul -> ul.getJobNumber() != null && ul.getJobNumber().equals(String.valueOf(map.get("participationId")))).findFirst();
                                 if(first.isPresent()){
+                                    boolean b = allParticipationList.stream().anyMatch(al -> al.getUserId().equals(first.get().getId()) && al.getProjectId().equals(project.getId()));
+                                    if(b){
+                                        continue;
+                                    }
                                     p.setProjectId(project.getId());
                                     p.setUserId(first.get().getId());
                                     participationList.add(p);

+ 11 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -553,10 +553,10 @@ public class TimingTask {
         }
     }
     
-    @Scheduled(cron = "0 15 3 ? * *")
+    @Scheduled(cron = "0 23 17 ? * *")
     private void synFanWeiProjectDate() {
-        if (isDev) return;
-        if(!isPrivateDeploy) return;
+//        if (isDev) return;
+//        if(!isPrivateDeploy) return;
         List<TimeType> timeTypeList = timeTypeMapper.selectList(new QueryWrapper<TimeType>().eq("sync_fanwei", 1));
         List<Integer> compIds = timeTypeList.stream().map(TimeType::getCompanyId).collect(Collectors.toList());
         if(compIds.isEmpty()){
@@ -577,6 +577,8 @@ public class TimingTask {
             List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", compId).select("job_number", "id","name"));
             int insert=0;
             int update=0;
+            StringBuilder sb=new StringBuilder();
+            sb.append("更新的项目:");
             for (Map<String, Object> map : mapList) {
                 List<Participation> participationList=new ArrayList<>();
                 Optional<User> first = userList.stream().filter(ul ->ul.getJobNumber()!=null&&ul.getJobNumber().equals(map.get("xmfzrplxm"))).findFirst();
@@ -591,6 +593,7 @@ public class TimingTask {
                         }
                         projectService.updateById(item);
                         update++;
+                        List<Participation> allParticipations = participationService.list(new QueryWrapper<Participation>().eq("project_id", item.getId()));
                         if(map.get("xmcygs")!=null&&!map.get("xmcygs").equals("")){
                             participationService.remove(new QueryWrapper<Participation>().eq("project_id",item.getId()));
                             String participations = String.valueOf(map.get("xmcygs"));
@@ -604,6 +607,10 @@ public class TimingTask {
                                 }
                             }
                         }
+                        boolean equals = allParticipations.stream().map(al -> al.getUserId()).sorted().collect(Collectors.joining()).equals(participationList.stream().sorted().map(pl -> pl.getUserId()).sorted().collect(Collectors.joining()));
+                        if(!equals){
+                            sb.append("["+item.getProjectCode()+"/"+item.getProjectCode()+"]"+"\n");
+                        }
                         if(participationList.size()>0){
                             participationService.saveBatch(participationList);
                         }
@@ -639,7 +646,7 @@ public class TimingTask {
             }
             OperationRecord operationRecord=new OperationRecord();
             operationRecord.setCompanyId(compId)
-                    .setContent("同步来自泛微的项目数据,共"+insert+"条数据"+"\n"+"同步更新来自泛微的项目数据,共"+update+"条数据")
+                    .setContent("同步来自泛微的项目数据,共"+insert+"条数据"+"\n"+"同步更新来自泛微的项目数据,共"+update+"条数据"+"\n"+sb.toString())
                     .setModuleName("项目管理").setOperationTime(LocalDateTime.now());
             operationRecordService.save(operationRecord);
         }