Browse Source

必填项

ecss-tx
han\hanst 2 months ago
parent
commit
242d08eb1e
  1. 4
      src/main/java/com/xujie/sys/modules/sampletracking/controller/SampleProofTrackingController.java
  2. 28
      src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java

4
src/main/java/com/xujie/sys/modules/sampletracking/controller/SampleProofTrackingController.java

@ -100,8 +100,8 @@ public class SampleProofTrackingController {
sampleProofTrackingService.oneKeyUpdateProjectPartAndTracking(data);
return R.ok("项目/物料/打样修改成功");
} catch (Exception e) {
log.error("一键修改项目/物料/打样失败: {}", e.getMessage(), e);
return R.error("一键修改项目/物料/打样失败: " + e.getMessage());
log.error("修改项目/物料/打样失败: {}", e.getMessage(), e);
return R.error("修改项目/物料/打样失败: " + e.getMessage());
}
}

28
src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java

@ -15,8 +15,8 @@ import com.xujie.sys.modules.sampletracking.data.ProofTrackingProcessLogData;
import com.xujie.sys.modules.sampletracking.data.ProofTrackingProcessUpdateData;
import com.xujie.sys.modules.sampletracking.data.ProofTrackingProcessValueData;
import com.xujie.sys.modules.sampletracking.mapper.SampleProofTrackingMapper;
import com.xujie.sys.modules.sampletracking.mapper.SampleTrackingMapper;
import com.xujie.sys.modules.sampletracking.service.SampleProofTrackingService;
import com.xujie.sys.modules.sampletracking.service.SampleTrackingService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -54,7 +54,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
private SampleProofTrackingMapper sampleProofTrackingMapper;
@Autowired
private SampleTrackingService sampleTrackingService;
private SampleTrackingMapper sampleTrackingMapper;
@Override
public PageUtils searchProofTracking(ProofTrackingData data) {
@ -347,6 +347,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
if (data.getProjectId() == null || data.getProjectPartId() == null || data.getTrackingId() == null) {
throw new RuntimeException("项目/物料/打样记录ID缺失,无法修改");
}
validateOneKeyUpdateData(data);
// 单次提交时将项目物料打样更新放在同一事务内任一失败即整体回滚
String operateUser = resolveOperateUser(data.getUpdateBy(), data.getCreateBy());
ProofTrackingData oldData = sampleProofTrackingMapper.selectTrackingForProofing(data.getTrackingId());
@ -375,7 +376,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
projectInfoData.setStatus(isBlank(data.getProjectStatus()) ? "草稿" : data.getProjectStatus().trim());
projectInfoData.setPriority(data.getPriorityLevel());
projectInfoData.setUpdateBy(operateUser);
sampleTrackingService.updateProjectInfoTracking(projectInfoData);
sampleTrackingMapper.updateProjectInfoTracking(projectInfoData);
ProjectPartTrackingData projectPartData = new ProjectPartTrackingData();
BeanUtils.copyProperties(data, projectPartData);
@ -391,7 +392,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
projectPartData.setStatus(isBlank(data.getPartStatus()) ? "草稿" : data.getPartStatus().trim());
projectPartData.setPriority(data.getPriorityLevel());
projectPartData.setUpdateBy(operateUser);
sampleTrackingService.updateProjectPartTracking(projectPartData);
sampleTrackingMapper.updateProjectPartTracking(projectPartData);
updateTrackingBaseInfo(data, oldData, operateUser);
}
@ -771,6 +772,25 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
}
}
private void validateOneKeyUpdateData(ProofTrackingData data) {
// 业务要求一键修改仅强制校验料号描述PjMEngineer其它字段允许为空
if (isBlank(data.getPartDesc())) {
throw new RuntimeException("料号描述不能为空");
}
if (isBlank(data.getProjectOwner())) {
throw new RuntimeException("PjM不能为空");
}
if (isBlank(data.getEngineer())) {
throw new RuntimeException("Engineer不能为空");
}
data.setPartDesc(data.getPartDesc().trim());
data.setProjectOwner(data.getProjectOwner().trim());
data.setEngineer(data.getEngineer().trim());
if (isBlank(data.getTracker())) {
data.setTracker(data.getProjectOwner());
}
}
private void normalizeProcessStatus(ProofTrackingData data) {
data.setRawMaterialStatus(isBlank(data.getRawMaterialStatus()) ? "未完成" : data.getRawMaterialStatus());
data.setCylinderCutterStatus(isBlank(data.getCylinderCutterStatus()) ? "未完成" : data.getCylinderCutterStatus());

Loading…
Cancel
Save