|
@@ -725,40 +725,45 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//更新待报工记录ID、已报工卷数
|
|
|
//已报工卷数
|
|
|
Integer reportroll = apsProcessOperationProcessEquDo.getReportroll();
|
|
|
- ApsProcessOperationProcessEquDo needUpdateProcessOperationProcessEquDo = new ApsProcessOperationProcessEquDo();
|
|
|
- needUpdateProcessOperationProcessEquDo.setId(apsProcessOperationProcessEquDo.getId());
|
|
|
- //已报工卷数+1
|
|
|
- needUpdateProcessOperationProcessEquDo.setReportroll(reportroll + reduceNum);
|
|
|
- /**
|
|
|
- * 更新作业明细的完工状态
|
|
|
- * 如果未完工卷数=0,或者工序作业已完工状态=已完工,则=已完工
|
|
|
- * 如果未完工卷数>0,并且工序作业已完工状态=未完工,则=未完工
|
|
|
- */
|
|
|
+ LambdaUpdateWrapper<ApsProcessOperationProcessEquDo> processEquWrapper = new UpdateWrapper<ApsProcessOperationProcessEquDo>().lambda().eq(ApsProcessOperationProcessEquDo::getId, apsProcessOperationProcessEquDo.getId());
|
|
|
+ //已报工卷数=已报工卷数+输入批次号数量
|
|
|
+ Integer newReportRoll = reportroll + reduceNum;
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getReportroll, newReportRoll);
|
|
|
+
|
|
|
//计划加工卷数
|
|
|
Integer planprocessrall = apsProcessOperationProcessEquDo.getPlanprocessrall();
|
|
|
//未完工卷数=计划加工卷数-已报工卷数
|
|
|
- int unfinishroll = planprocessrall - needUpdateProcessOperationProcessEquDo.getReportroll();
|
|
|
- if (unfinishroll <= 0 || apsProcessOperationDo.getClosestatus().equals("已完工")) {
|
|
|
- needUpdateProcessOperationProcessEquDo.setClosestatus("已完工");
|
|
|
- //已完工时更新完工时间
|
|
|
- needUpdateProcessOperationProcessEquDo.setActualfinishdate(DateUtil.date());
|
|
|
+ int unfinishroll = planprocessrall - newReportRoll;
|
|
|
+ /**
|
|
|
+ * 如果未完工卷数-已取消卷数=0,则完工状态=已完工,实际完工时间=当前时间
|
|
|
+ * 如果未完工卷数-已取消卷数>0,则完工状态=未完工
|
|
|
+ * 如果完工状态=未完工,并且已开工卷数=0,则作业状态=待开工;
|
|
|
+ * 如果完工状态=未完工,并且已开工卷数>0,则作业状态=加工中;
|
|
|
+ * 如果完工状态=已完工,则作业状态=已完工
|
|
|
+ * 待报工记录ID=(空),
|
|
|
+ * 加工中批次号=(空)
|
|
|
+ */
|
|
|
+ //未完工卷数-已取消卷数
|
|
|
+ int needDoRoll = unfinishroll - apsProcessOperationProcessEquDo.getCancelroll();
|
|
|
+ if (needDoRoll <= 0) {
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "已完工")
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getActualfinishdate, DateUtil.date())
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getWorkstatus, "已完工");
|
|
|
}
|
|
|
- if (unfinishroll > 0 && apsProcessOperationDo.getClosestatus().equals("未完工")) {
|
|
|
- needUpdateProcessOperationProcessEquDo.setClosestatus("未完工");
|
|
|
+ if (needDoRoll > 0) {
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "未完工");
|
|
|
+ if (apsProcessOperationProcessEquDo.getStartingroll() == 0) {
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getWorkstatus, "待开工");
|
|
|
+ } else {
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getWorkstatus, "加工中");
|
|
|
+ }
|
|
|
}
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getWaitreportid, null)
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
|
|
|
|
- //带报工记录ID清空
|
|
|
- needUpdateProcessOperationProcessEquDo.setWaitreportid("");
|
|
|
- if (apsProcessOperationProcessEquDo.getClosestatus().equals("未完工") && apsProcessOperationProcessEquDo.getStartingroll() > 0) {
|
|
|
- needUpdateProcessOperationProcessEquDo.setWorkstatus("加工中");
|
|
|
- }
|
|
|
- if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll == 0) {
|
|
|
- needUpdateProcessOperationProcessEquDo.setWorkstatus("已完工");
|
|
|
- }
|
|
|
+ //更新
|
|
|
+ apsProcessOperationProcessEquService.update(processEquWrapper);
|
|
|
|
|
|
- //清空加工中批次号
|
|
|
- needUpdateProcessOperationProcessEquDo.setDoingbatchnumber("");
|
|
|
- apsProcessOperationProcessEquService.updateById(needUpdateProcessOperationProcessEquDo);
|
|
|
|
|
|
//==============更新工序作业信息==============
|
|
|
ApsProcessOperationDo needUpdateProcessOperation = new ApsProcessOperationDo();
|
|
@@ -769,6 +774,10 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
needUpdateProcessOperation.setUnfinishroll(apsProcessOperationDo.getPlanprocessrall() - needUpdateProcessOperation.getReportroll());
|
|
|
//剩余待报工卷数=未完工卷数-输入已取消卷数-已取消卷数
|
|
|
int needReportRoll = needUpdateProcessOperation.getUnfinishroll() - apsProcessOperationDo.getInputunqualifiedroll() - apsProcessOperationDo.getCancelroll();
|
|
|
+ if (needReportRoll <= 0) {
|
|
|
+ needReportRoll = 0;
|
|
|
+ }
|
|
|
+ needUpdateProcessOperation.setLeavewaitjobroll(needReportRoll);
|
|
|
/**
|
|
|
* 如果剩余待报工卷数=0,则完工状态=已完工,实际完工时间=当前时间
|
|
|
* 如果剩余待报工卷数>0,则完工状态=未完工
|