瀏覽代碼

材料缴交

大数据与最优化研究所 1 年之前
父節點
當前提交
2d48f30862
共有 1 個文件被更改,包括 32 次插入20 次删除
  1. 32 20
      src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskServiceImpl.java

+ 32 - 20
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskServiceImpl.java

@@ -50,6 +50,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.CompletableFuture;
@@ -74,29 +75,23 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
     private final IXjrUserService xjrUserService;
     private final IFormExecuteService formExecuteService;
 
-    private final CommonPropertiesConfig commonPropertiesConfig;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long add(AddMaterialTaskDto dto) {
         MaterialTask materialTask = BeanUtil.toBean(dto, MaterialTask.class);
-        //新增任务
-        materialTask.setStatus(2);
-        if(dto.getUserList() != null && !dto.getUserList().isEmpty()){
-            materialTask.setAssignPerson(dto.getUserList().size());
-        }
-        materialTaskMaterialTaskMapper.insert(materialTask);
 
-        //新增任务人
+        //梳理提交人
+        List<MaterialTaskAssign> materialTaskAssignList = new ArrayList<>();
         for (MaterialAssignUserDto materialAssignUserDto : dto.getUserList()){
             if(materialAssignUserDto.getUserType() == 1){
                 List<XjrUserVo> xjrUserVos = xjrUserService.selectJoinList(XjrUserVo.class,
-                    new MPJLambdaWrapper<XjrUser>()
-                    .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, XjrUser::getId)
-                    .eq(UserDeptRelation::getDeptId, materialAssignUserDto.getUserId())
-                    .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        new MPJLambdaWrapper<XjrUser>()
+                                .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, XjrUser::getId)
+                                .eq(UserDeptRelation::getDeptId, materialAssignUserDto.getUserId())
+                                .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
                 );
                 for (XjrUserVo xjrUserVo : xjrUserVos) {
-                    materialTaskMaterialTaskAssignMapper.insert(new MaterialTaskAssign(){{
+                    materialTaskAssignList.add(new MaterialTaskAssign(){{
                         setMaterialTaskId(materialTask.getId());
                         setUserId(xjrUserVo.getId());
                         setUserType(materialAssignUserDto.getUserType());
@@ -108,13 +103,13 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
                 }
             }else if(materialAssignUserDto.getUserType() == 2){
                 List<XjrUserVo> xjrUserVos = xjrUserService.selectJoinList(XjrUserVo.class,
-                    new MPJLambdaWrapper<XjrUser>()
-                    .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
-                    .eq(BaseStudentSchoolRoll::getClassId, materialAssignUserDto.getUserId())
-                    .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        new MPJLambdaWrapper<XjrUser>()
+                                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
+                                .eq(BaseStudentSchoolRoll::getClassId, materialAssignUserDto.getUserId())
+                                .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
                 );
                 for (XjrUserVo xjrUserVo : xjrUserVos) {
-                    materialTaskMaterialTaskAssignMapper.insert(new MaterialTaskAssign(){{
+                    materialTaskAssignList.add(new MaterialTaskAssign(){{
                         setMaterialTaskId(materialTask.getId());
                         setUserId(xjrUserVo.getId());
                         setUserType(materialAssignUserDto.getUserType());
@@ -125,7 +120,7 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
                     }});
                 }
             }else if(materialAssignUserDto.getUserType() == 3){
-                materialTaskMaterialTaskAssignMapper.insert(new MaterialTaskAssign(){{
+                materialTaskAssignList.add(new MaterialTaskAssign(){{
                     setMaterialTaskId(materialTask.getId());
                     setUserId(materialAssignUserDto.getUserId());
                     setUserType(materialAssignUserDto.getUserType());
@@ -137,6 +132,18 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
             }
         }
 
+        //新增任务
+        materialTask.setStatus(2);
+        if(dto.getUserList() != null && !dto.getUserList().isEmpty()){
+            materialTask.setAssignPerson(materialTaskAssignList.size());
+        }
+        materialTaskMaterialTaskMapper.insert(materialTask);
+
+        //新增任务人
+        for(MaterialTaskAssign materialTaskAssign : materialTaskAssignList){
+            materialTaskMaterialTaskAssignMapper.insert(materialTaskAssign);
+        }
+
 //        materialTaskMaterialTaskMapper.insert(materialTask);
 //        if (materialTask.getMaterialTaskAssignList() != null && materialTask.getMaterialTaskAssignList().size() > 0) {
 //            for (MaterialTaskAssign materialTaskAssign : materialTask.getMaterialTaskAssignList()) {
@@ -408,8 +415,9 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
 
         MPJLambdaWrapper<MaterialTaskAssign> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
+                .disableSubLogicDel()
                 .distinct()
-                .like(dto.getName() != null && !dto.getName().equals(""), XjrUser::getName, dto.getName())
+                .like(dto.getName() != null && !"".equals(dto.getName()), XjrUser::getName, dto.getName())
                 .eq(MaterialTaskAssign::getMaterialTaskId, dto.getMaterialTaskId())
                 .eq(dto.getState() != null, MaterialTaskAssign::getStatus, dto.getState())
                 .select(MaterialTaskAssign::getId)
@@ -423,6 +431,10 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
                 .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId, ext -> ext.selectAs(Department::getName, MaterialTaskAssignListVo::getDeptName))
                 .leftJoin(MaterialTask.class, MaterialTask::getId, MaterialTaskAssign::getMaterialTaskId)
                 .leftJoin(MaterialTaskAppendix.class, MaterialTaskAppendix::getMaterialTaskId, MaterialTaskAssign::getId)
+                .eq(MaterialTaskAssign::getDeleteMark, DeleteMark.NODELETE.getCode())
+                .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
+                .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
+                .eq(MaterialTask::getDeleteMark, DeleteMark.NODELETE.getCode())
 //                .select("(\n" +
 //                        "SELECT id FROM xjr_file WHERE id IN (\n" +
 //                        "SELECT file_id FROM material_task_appendix WHERE material_task_id = t.id\n" +