|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
|
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
|
import com.rongwei.bsentity.domain.*;
|
|
|
+import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
|
|
|
import com.rongwei.bsentity.vo.PreviousProcessVo;
|
|
|
import com.rongwei.bsentity.vo.ProcessIdRelationVo;
|
|
|
import com.rongwei.commonservice.service.SysMindMappingService;
|
|
@@ -694,6 +695,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
//迭代更新当前工序作业及其所有后续工序
|
|
|
updateProcessByProcessId(processId);
|
|
|
|
|
|
+ //完成后更新生产状态
|
|
|
+ CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
|
|
|
+ commonUpdateProductionStatusReq.setProcessOperationId(processId);
|
|
|
+ apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
|
|
|
+
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -704,8 +710,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
//查询当前工序作业详情
|
|
|
ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(processId);
|
|
|
|
|
|
- //查询上道工序作业详情
|
|
|
- ApsProcessOperationDo previousProcessOperation = apsProcessOperationService.getById(apsProcessOperationDo.getPreviousprocessid());
|
|
|
+ ApsProcessOperationDo previousProcessOperation = null;
|
|
|
+ if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getPreviousprocessid())) {
|
|
|
+ //查询上道工序作业详情
|
|
|
+ previousProcessOperation = apsProcessOperationService.getById(apsProcessOperationDo.getPreviousprocessid());
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//查询当前工序的所有作业明细
|
|
@@ -718,7 +727,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
String processOperationProcessEquId = "";
|
|
|
//遍历作业明细
|
|
|
for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : list) {
|
|
|
- if(ObjectUtil.isEmpty(processOperationProcessEquId)){
|
|
|
+ if (ObjectUtil.isEmpty(processOperationProcessEquId)) {
|
|
|
processOperationProcessEquId = apsProcessOperationProcessEquDo.getId();
|
|
|
}
|
|
|
|
|
@@ -736,22 +745,25 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
//先判断未完工卷数
|
|
|
|
|
|
Integer unfinishroll = apsProcessOperationProcessEquDo.getUnfinishroll();
|
|
|
- if (unfinishroll == 0) {
|
|
|
+ if (ObjectUtil.isEmpty(unfinishroll)) {
|
|
|
+ needUpdate.setClosestatus("未完工");
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll == 0) {
|
|
|
needUpdate.setClosestatus("已完工");
|
|
|
}
|
|
|
//有上道工序作业 && 上道工序作业已完工状态=已完工 && 作业明细待加工料卷批次号数量-工序作业已取消卷数<=0 && 已开工卷数=已检验卷数
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getPreviousprocessid())
|
|
|
- && previousProcessOperation.getClosestatus().equals("已完工")
|
|
|
- && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) <= 0
|
|
|
+ && (ObjectUtil.isNotEmpty(previousProcessOperation) && previousProcessOperation.getClosestatus().equals("已完工"))
|
|
|
+ && (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess()) && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) <= 0)
|
|
|
&& apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
|
|
|
needUpdate.setClosestatus("已完工");
|
|
|
}
|
|
|
- if (unfinishroll > 0) {
|
|
|
+ if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll > 0) {
|
|
|
//没有上道工序作业 || 上道工序作业已完工状态=未完工 || 作业明细待加工料卷批次号数量-工序作业已取消卷数>0 || 已开工卷数不等于已检验卷数
|
|
|
if (ObjectUtil.isEmpty(apsProcessOperationDo.getPreviousprocessid())
|
|
|
- || previousProcessOperation.getClosestatus().equals("未完工")
|
|
|
- && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) > 0
|
|
|
- && !apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
|
|
|
+ || (ObjectUtil.isNotEmpty(previousProcessOperation) && previousProcessOperation.getClosestatus().equals("未完工"))
|
|
|
+ || (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess()) && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) > 0)
|
|
|
+ || !apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
|
|
|
needUpdate.setClosestatus("未完工");
|
|
|
}
|
|
|
}
|
|
@@ -768,7 +780,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
if (apsProcessOperationProcessEquDo.getStartingroll() > 0 && needUpdate.getClosestatus().equals("未完工")) {
|
|
|
needUpdate.setWorkstatus("加工中");
|
|
|
}
|
|
|
- if (apsProcessOperationProcessEquDo.getUnfinishroll() == 0 && needUpdate.getClosestatus().equals("已完工")) {
|
|
|
+ if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll == 0 && needUpdate.getClosestatus().equals("已完工")) {
|
|
|
needUpdate.setWorkstatus("已完工");
|
|
|
}
|
|
|
|
|
@@ -776,7 +788,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
|
|
|
}
|
|
|
//更新
|
|
|
- apsProcessOperationProcessEquService.updateBatchById(needUpdateProcessEquList);
|
|
|
+ if (needUpdateProcessEquList.size() > 0) {
|
|
|
+ apsProcessOperationProcessEquService.updateBatchById(needUpdateProcessEquList);
|
|
|
+ }
|
|
|
//================作业明细更新完毕===================
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(processOperationProcessEquId)) {
|
|
@@ -786,12 +800,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
|
|
|
//===============当前工序及其明细更新完毕===============
|
|
|
//===============判断是否存在下道工序,如果有,则继续更新工序,开始迭代,没有则结束迭代=================
|
|
|
- if(ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())){
|
|
|
+ if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())) {
|
|
|
String[] nextProcessIdList = apsProcessOperationDo.getNextprocessid().split(",");
|
|
|
for (String nextProcessId : nextProcessIdList) {
|
|
|
updateProcessByProcessId(nextProcessId);
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return;
|
|
|
}
|
|
|
}
|