|
@@ -1,21 +1,25 @@
|
|
|
package com.xjrsoft.module.material.service.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
-import com.xjrsoft.module.material.entity.MaterialTaskAssign;
|
|
|
-import com.xjrsoft.module.material.mapper.MaterialTaskAssignMapper;
|
|
|
+import com.xjrsoft.common.utils.LocalDateTimeUtil;
|
|
|
+import com.xjrsoft.module.material.dto.AddMaterialTaskAppendixDto;
|
|
|
+import com.xjrsoft.module.material.dto.MaterialTaskAssignAppendixDto;
|
|
|
+import com.xjrsoft.module.material.entity.MaterialTask;
|
|
|
import com.xjrsoft.module.material.entity.MaterialTaskAppendix;
|
|
|
+import com.xjrsoft.module.material.entity.MaterialTaskAssign;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskAppendixMapper;
|
|
|
-import com.xjrsoft.module.material.entity.MaterialTask;
|
|
|
+import com.xjrsoft.module.material.mapper.MaterialTaskAssignMapper;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskMapper;
|
|
|
import com.xjrsoft.module.material.service.IMaterialTaskService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
|
/**
|
|
|
* @title: 材料提交任务
|
|
@@ -108,7 +112,7 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
}
|
|
|
}
|
|
|
//已经不存在的id 删除
|
|
|
- if(materialTaskAppendixRemoveIds.size() > 0){
|
|
|
+ if (materialTaskAppendixRemoveIds.size() > 0) {
|
|
|
materialTaskMaterialTaskAppendixMapper.deleteBatchIds(materialTaskAppendixRemoveIds);
|
|
|
}
|
|
|
}
|
|
@@ -126,4 +130,42 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean submited(MaterialTaskAssignAppendixDto materialTaskAssignAppendixDto) {
|
|
|
+
|
|
|
+ if (materialTaskAssignAppendixDto.getMaterialTaskAppendixList() != null && materialTaskAssignAppendixDto.getMaterialTaskAppendixList().size() > 0) {
|
|
|
+
|
|
|
+ MaterialTaskAssign materialTaskAssign = materialTaskMaterialTaskAssignMapper.selectByIdDeep(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
+ Integer oldStatus = materialTaskAssign.getStatus();
|
|
|
+ if (oldStatus == 1) {
|
|
|
+ materialTaskAssign.setStatus(2);
|
|
|
+ MaterialTask materialTask = materialTaskMaterialTaskMapper.selectByIdDeep(materialTaskAssign.getTransferMaterialTaskId());
|
|
|
+ if (LocalDateTime.now().compareTo(materialTask.getRequiredCompleteTime()) > 0) {
|
|
|
+ materialTaskAssign.setExecutiveStatus(2);
|
|
|
+ materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
|
|
|
+ } else {
|
|
|
+ materialTaskAssign.setExecutiveStatus(3);
|
|
|
+ materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ materialTaskMaterialTaskAssignMapper.updateById(materialTaskAssign);
|
|
|
+ materialTask.setSubmitedPerson(materialTask.getSubmitedPerson() + 1);
|
|
|
+ materialTaskMaterialTaskMapper.updateById(materialTask);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (oldStatus == 4) { // 重做删除原来的
|
|
|
+ materialTaskMaterialTaskAppendixMapper.delete(Wrappers.lambdaQuery(MaterialTaskAppendix.class).eq(MaterialTaskAppendix::getMaterialTaskId, materialTaskAssignAppendixDto.getMaterialTaskAssignId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ for (AddMaterialTaskAppendixDto materialTaskAppendixDto : materialTaskAssignAppendixDto.getMaterialTaskAppendixList()) {
|
|
|
+ MaterialTaskAppendix materialTaskAppendix = new MaterialTaskAppendix();
|
|
|
+ materialTaskAppendix.setMaterialTaskId(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
+ materialTaskAppendix.setFileId(materialTaskAppendixDto.getFileId());
|
|
|
+ materialTaskMaterialTaskAppendixMapper.insert(materialTaskAppendix);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|