|
@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.xjrsoft.module.material.dto.AddMaterialTaskAssignDto;
|
|
|
import com.xjrsoft.module.material.dto.AddMaterialTypeAssignDto;
|
|
|
import com.xjrsoft.module.material.dto.MaterialAssignUserDto;
|
|
|
+import com.xjrsoft.module.material.dto.MaterialTaskAssignApprovedDto;
|
|
|
import com.xjrsoft.module.material.entity.MaterialTask;
|
|
|
import com.xjrsoft.module.material.entity.MaterialTaskAssign;
|
|
|
import com.xjrsoft.module.material.entity.MaterialTypeAssign;
|
|
@@ -23,6 +24,7 @@ import java.util.Optional;
|
|
|
public class MaterialTaskAssignServiceImpl extends MPJBaseServiceImpl<MaterialTaskAssignMapper, MaterialTaskAssign> implements IMaterialTaskAssignService {
|
|
|
private final MaterialTaskAssignMapper materialTaskAssignMapper;
|
|
|
private final MaterialTaskMapper materialTaskMapper;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean add(AddMaterialTaskAssignDto addMaterialTaskAssignDto) {
|
|
@@ -33,7 +35,7 @@ public class MaterialTaskAssignServiceImpl extends MPJBaseServiceImpl<Material
|
|
|
List<MaterialTaskAssign> materialTypeAssignList = materialTaskAssignMapper.selectList(Wrappers.<MaterialTaskAssign>query().lambda()
|
|
|
.eq(MaterialTaskAssign::getMaterialTaskId, addMaterialTaskAssignDto.getMaterialTaskId()));
|
|
|
for (MaterialAssignUserDto addMaterialTypeAssignUserDto : addMaterialTaskAssignDto.getUserList()) {
|
|
|
- Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId()) ).findAny();
|
|
|
+ Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId())).findAny();
|
|
|
if (!materialTaskAssignAny.isPresent()) {
|
|
|
MaterialTaskAssign materialTaskAssign = new MaterialTaskAssign();
|
|
|
materialTaskAssign.setMaterialTaskId(addMaterialTaskAssignDto.getMaterialTaskId());
|
|
@@ -72,4 +74,40 @@ public class MaterialTaskAssignServiceImpl extends MPJBaseServiceImpl<Material
|
|
|
materialTaskMapper.updateById(materialTask);
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean approved(List<MaterialTaskAssignApprovedDto> dtos) {
|
|
|
+ MaterialTask materialTask = null;
|
|
|
+ for (MaterialTaskAssignApprovedDto dto : dtos) {
|
|
|
+ MaterialTaskAssign materialTaskAssign = materialTaskAssignMapper.selectByIdDeep(dto.getId());
|
|
|
+ if (materialTaskAssign != null && materialTaskAssign.getStatus() == 2) {
|
|
|
+ if (materialTask == null) {
|
|
|
+ materialTask = materialTaskMapper.selectById(materialTaskAssign.getMaterialTaskId());
|
|
|
+ }
|
|
|
+ if (materialTask != null) {
|
|
|
+ materialTaskAssign.setOpinion(dto.getOpinion());
|
|
|
+ if (dto.getStatus() == 1) {
|
|
|
+ materialTaskAssign.setStatus(3);
|
|
|
+ materialTaskAssign.setStatus(dto.getStatus() == 1 ? 3 : 4);
|
|
|
+ if (dto.getExecutiveStatus() == 1) {
|
|
|
+ materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
|
|
|
+ materialTaskAssign.setExecutiveStatus(2);
|
|
|
+ } else {
|
|
|
+ materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
|
|
|
+ materialTaskAssign.setExecutiveStatus(3);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ materialTaskAssign.setStatus(4);
|
|
|
+ }
|
|
|
+
|
|
|
+ materialTaskAssignMapper.updateById(materialTaskAssign);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (materialTask != null) {
|
|
|
+ materialTaskMapper.updateById(materialTask);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|