|
|
@@ -13,6 +13,8 @@ import com.xjrsoft.common.enums.MaterialCategoryEnum;
|
|
|
import com.xjrsoft.common.utils.RedisUtil;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.config.CommonPropertiesConfig;
|
|
|
+import com.xjrsoft.module.form.dto.FormExecuteAddOrUpdateDto;
|
|
|
+import com.xjrsoft.module.form.service.IFormExecuteService;
|
|
|
import com.xjrsoft.module.material.dto.*;
|
|
|
import com.xjrsoft.module.material.entity.*;
|
|
|
import com.xjrsoft.module.material.mapper.MaterialTaskAppendixMapper;
|
|
|
@@ -58,6 +60,8 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
private final IMaterialTypeService materialTypeService;
|
|
|
private final IWeChatService weChatService;
|
|
|
|
|
|
+ private final IFormExecuteService formExecuteService;
|
|
|
+
|
|
|
private final CommonPropertiesConfig commonPropertiesConfig;
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -178,39 +182,84 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean submited(MaterialTaskAssignAppendixDto materialTaskAssignAppendixDto) {
|
|
|
|
|
|
- if (materialTaskAssignAppendixDto.getMaterialTaskAppendixList() != null && materialTaskAssignAppendixDto.getMaterialTaskAppendixList().size() > 0) {
|
|
|
+ if(materialTaskAssignAppendixDto.getMaterialCategory().equals(MaterialCategoryEnum.MT0001.getCode())){
|
|
|
+ if (materialTaskAssignAppendixDto.getMaterialTaskAppendixList() != null && materialTaskAssignAppendixDto.getMaterialTaskAppendixList().size() > 0) {
|
|
|
|
|
|
- MaterialTaskAssign materialTaskAssign = materialTaskMaterialTaskAssignMapper.selectByIdDeep(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
- Integer oldStatus = materialTaskAssign.getStatus();
|
|
|
- materialTaskAssign.setStatus(2);
|
|
|
+ MaterialTaskAssign materialTaskAssign = materialTaskMaterialTaskAssignMapper.selectByIdDeep(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
+ Integer oldStatus = materialTaskAssign.getStatus();
|
|
|
+ materialTaskAssign.setStatus(2);
|
|
|
|
|
|
- if (oldStatus == 1) {
|
|
|
- MaterialTask materialTask = materialTaskMaterialTaskMapper.selectByIdDeep(materialTaskAssign.getMaterialTaskId());
|
|
|
+ if (oldStatus == 1) {
|
|
|
+ MaterialTask materialTask = materialTaskMaterialTaskMapper.selectByIdDeep(materialTaskAssign.getMaterialTaskId());
|
|
|
|
|
|
- LocalDate requiredCompleteTime = materialTask.getRequiredCompleteTime();
|
|
|
- LocalDate today = materialTask.getRequiredCompleteTime();
|
|
|
+ LocalDate requiredCompleteTime = materialTask.getRequiredCompleteTime();
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
|
|
|
- int comparison = today.compareTo(requiredCompleteTime);
|
|
|
- if (comparison > 0) {//超时提交
|
|
|
- materialTaskAssign.setExecutiveStatus(3);
|
|
|
- materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
|
|
|
- } else {//准时提交(包含当天)
|
|
|
- materialTaskAssign.setExecutiveStatus(2);
|
|
|
- materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
|
|
|
+ int comparison = today.compareTo(requiredCompleteTime);
|
|
|
+ if (comparison > 0) {//超时提交
|
|
|
+ materialTaskAssign.setExecutiveStatus(3);
|
|
|
+ materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
|
|
|
+ } else {//准时提交(包含当天)
|
|
|
+ materialTaskAssign.setExecutiveStatus(2);
|
|
|
+ materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
|
|
|
+ }
|
|
|
+ materialTask.setSubmitedPerson(materialTask.getSubmitedPerson() + 1);
|
|
|
+ materialTaskMaterialTaskMapper.updateById(materialTask);
|
|
|
+ }
|
|
|
+ materialTaskMaterialTaskAssignMapper.updateById(materialTaskAssign);
|
|
|
+
|
|
|
+ if (oldStatus == 4) { // 重做删除原来的
|
|
|
+ materialTaskMaterialTaskAppendixMapper.delete(Wrappers.lambdaQuery(MaterialTaskAppendix.class).eq(MaterialTaskAppendix::getMaterialTaskId, materialTaskAssignAppendixDto.getMaterialTaskAssignId()));
|
|
|
}
|
|
|
- materialTask.setSubmitedPerson(materialTask.getSubmitedPerson() + 1);
|
|
|
- materialTaskMaterialTaskMapper.updateById(materialTask);
|
|
|
- }
|
|
|
- materialTaskMaterialTaskAssignMapper.updateById(materialTaskAssign);
|
|
|
|
|
|
- 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);
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ if(materialTaskAssignAppendixDto.getMaterialCategory().equals(MaterialCategoryEnum.MT0002.getCode())){
|
|
|
+ if (materialTaskAssignAppendixDto.getTemplateId() != null && !materialTaskAssignAppendixDto.getFormData().isEmpty()) {
|
|
|
+
|
|
|
+ MaterialTaskAssign materialTaskAssign = materialTaskMaterialTaskAssignMapper.selectByIdDeep(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
+ Integer oldStatus = materialTaskAssign.getStatus();
|
|
|
+ materialTaskAssign.setStatus(2);
|
|
|
+
|
|
|
+ //状态 1=未提交 2=待审核 3=通过 4=重做
|
|
|
+ if (oldStatus == 1) {
|
|
|
+ MaterialTask materialTask = materialTaskMaterialTaskMapper.selectByIdDeep(materialTaskAssign.getMaterialTaskId());
|
|
|
+
|
|
|
+ LocalDate requiredCompleteTime = materialTask.getRequiredCompleteTime();
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
+
|
|
|
+ int comparison = today.compareTo(requiredCompleteTime);
|
|
|
+ if (comparison > 0) {//超时提交
|
|
|
+ materialTaskAssign.setExecutiveStatus(3);
|
|
|
+ materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
|
|
|
+ } else {//准时提交(包含当天)
|
|
|
+ materialTaskAssign.setExecutiveStatus(2);
|
|
|
+ materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
|
|
|
+ }
|
|
|
+ materialTask.setSubmitedPerson(materialTask.getSubmitedPerson() + 1);
|
|
|
+ materialTaskMaterialTaskMapper.updateById(materialTask);
|
|
|
+ }
|
|
|
+ materialTaskMaterialTaskAssignMapper.updateById(materialTaskAssign);
|
|
|
+
|
|
|
+ if (oldStatus == 4) { // 重做删除原来的
|
|
|
+ materialTaskMaterialTaskAppendixMapper.delete(Wrappers.lambdaQuery(MaterialTaskAppendix.class).eq(MaterialTaskAppendix::getMaterialTaskId, materialTaskAssignAppendixDto.getMaterialTaskAssignId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ long id = formExecuteService.addByTemplateId(new FormExecuteAddOrUpdateDto(){{
|
|
|
+ setReleaseId(materialTaskAssignAppendixDto.getTemplateId());
|
|
|
+ setFormData(materialTaskAssignAppendixDto.getFormData());
|
|
|
+ }});
|
|
|
|
|
|
- for (AddMaterialTaskAppendixDto materialTaskAppendixDto : materialTaskAssignAppendixDto.getMaterialTaskAppendixList()) {
|
|
|
MaterialTaskAppendix materialTaskAppendix = new MaterialTaskAppendix();
|
|
|
materialTaskAppendix.setMaterialTaskId(materialTaskAssignAppendixDto.getMaterialTaskAssignId());
|
|
|
- materialTaskAppendix.setFileId(materialTaskAppendixDto.getFileId());
|
|
|
+ materialTaskAppendix.setFileId(id);
|
|
|
materialTaskMaterialTaskAppendixMapper.insert(materialTaskAppendix);
|
|
|
}
|
|
|
}
|