|
|
|
@ -3070,7 +3070,7 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkFinishPartRollWithNoFqc(Map<String, Object> inMap) { |
|
|
|
public void checkFinishPartRollWithNoFqc(Map<String, Object> inMap) { |
|
|
|
String strPageData = String.valueOf(inMap.get("pageData")); |
|
|
|
SearchScheduleData pageData = JSON.parseObject(strPageData, SearchScheduleData.class); |
|
|
|
String strSfdcMaterialList = String.valueOf(inMap.get("materialList")); |
|
|
|
@ -3146,41 +3146,82 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
String msg = String.valueOf(checkMap3.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
|
|
|
|
//4.调用存储过程 上机的主材依次校验 |
|
|
|
//先循环验证参数是否符合规则 |
|
|
|
for (int i = 0; i < sfdcMaterialList.size(); i++) { |
|
|
|
SfdcMaterialData sfdcMaterialData = sfdcMaterialList.get(0); |
|
|
|
Float transQty = sfdcMaterialData.getTransQty(); |
|
|
|
Float netIssueQty = sfdcMaterialData.getNetIssueQty(); |
|
|
|
Integer histSeqNo = sfdcMaterialData.getHistSeqNo(); |
|
|
|
//判断是否符合规则 |
|
|
|
if (netIssueQty == null) { |
|
|
|
throw new RRException("材料上本卷耗用数量不能为空!"); |
|
|
|
} |
|
|
|
if (netIssueQty <= 0) { |
|
|
|
throw new RRException("材料上本卷耗用数量必须大于0!"); |
|
|
|
} |
|
|
|
if (netIssueQty > transQty) { |
|
|
|
throw new RRException("材料上本卷耗用数量大于发料数量!"); |
|
|
|
} |
|
|
|
//调用存储过程校验每一个卷的数量 |
|
|
|
Map<String, Object> resultMap = this.checkFinishRollWithSfdcMaterialHist(site, orderNo, itemNo, rollNo, seqNo, editTotalReportQty, otherRollQty, editNewRollQty, netIssueQty, histSeqNo, username); |
|
|
|
//区分是否抛出异常的信息 |
|
|
|
String resultCode = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(resultCode)) { |
|
|
|
String msg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void finishPartRollWithNoFqc(Map<String, Object> inMap) { |
|
|
|
String strPageData = String.valueOf(inMap.get("pageData")); |
|
|
|
SearchScheduleData pageData = JSON.parseObject(strPageData, SearchScheduleData.class); |
|
|
|
String strSfdcMaterialList = String.valueOf(inMap.get("materialList")); |
|
|
|
List<SfdcMaterialData> sfdcMaterialList = JSON.parseArray(strSfdcMaterialList, SfdcMaterialData.class); |
|
|
|
//公共参数 |
|
|
|
String site = pageData.getSite(); |
|
|
|
String orderNo = pageData.getOrderNo(); |
|
|
|
Integer itemNo = pageData.getItemNo(); |
|
|
|
String seqNo = pageData.getSeqNo(); |
|
|
|
String rollNo = pageData.getRollNo(); |
|
|
|
String username = pageData.getOperatorId(); |
|
|
|
Float defectedQty = pageData.getDefectedQty(); |
|
|
|
|
|
|
|
Float sfdcReportedQty = pageData.getSfdcReportedQty();//报告数量 |
|
|
|
Float sfdcApprovedQty = pageData.getSfdcApprovedQty();//合格数量 |
|
|
|
Float sfdcSetupTime = pageData.getSfdcSetupTime();//调机时间 |
|
|
|
Float sfdcProdTime = pageData.getSfdcProdTime(); //生产时间 |
|
|
|
Float sfdcDownTime = pageData.getSfdcDownTime();//停机时间 |
|
|
|
String eventTime = pageData.getEventTime();//开工时间 |
|
|
|
String tillTime = pageData.getTillTime();//完工时间 |
|
|
|
String remark = pageData.getRemark();//备注 |
|
|
|
Float sfdcSetupDownTime = pageData.getSfdcSetupDownTime();//调机停机 |
|
|
|
Float sfdcProdSetupTime = pageData.getSfdcProdSetupTime();//生产调机 |
|
|
|
Float sfdcManufactureTime = pageData.getSfdcManufactureTime();//制造时间 |
|
|
|
String exceptionFlag = pageData.getExceptionFlag(); |
|
|
|
String exceptionReason = pageData.getExceptionReason(); |
|
|
|
//首先调用校验的方法 |
|
|
|
this.checkFinishPartRollWithNoFqc(inMap); |
|
|
|
|
|
|
|
//1.调用存储过程 处理Sfdc和派工单 |
|
|
|
this.finishPartRollProcessSfdcAndSchedule(site, orderNo, itemNo, seqNo, rollNo, sfdcReportedQty, sfdcApprovedQty, |
|
|
|
sfdcSetupTime, sfdcProdTime, sfdcDownTime, eventTime, tillTime, remark, |
|
|
|
sfdcSetupDownTime, sfdcProdSetupTime, defectedQty, sfdcManufactureTime, username); |
|
|
|
//2.调用存储过程 处理异常信息 |
|
|
|
if ("Y".equalsIgnoreCase(exceptionFlag)) { |
|
|
|
this.finishRollProcessException(site, orderNo, itemNo, seqNo, rollNo, exceptionReason, username); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @return void |
|
|
|
* @Author LR |
|
|
|
* @Description 处理Sfdc和派工单 |
|
|
|
* @DateTime 2022/1/25 17:50 |
|
|
|
**/ |
|
|
|
public void finishPartRollProcessSfdcAndSchedule(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, Float sfdcReportedQty, Float sfdcApproveQty, |
|
|
|
Float sfdcSetupTime, Float sfdcProdTime, Float sfdcDownTime, String eventTime, String tillTime, String remark, |
|
|
|
Float sfdcSetupDownTime, Float sfdcProdSetupTime, Float defectedQty, Float sfdcManufactureTime, String username) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(sfdcReportedQty); |
|
|
|
params.add(sfdcApproveQty); |
|
|
|
|
|
|
|
params.add(sfdcSetupTime); |
|
|
|
params.add(sfdcProdTime); |
|
|
|
params.add(sfdcDownTime); |
|
|
|
params.add(eventTime); |
|
|
|
params.add(tillTime); |
|
|
|
params.add(remark); |
|
|
|
|
|
|
|
params.add(sfdcSetupDownTime); |
|
|
|
params.add(sfdcProdSetupTime); |
|
|
|
params.add(defectedQty); |
|
|
|
params.add(sfdcManufactureTime); |
|
|
|
params.add(username); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData("finishPartRollProcessSfdcAndSchedule", params); |
|
|
|
} |
|
|
|
|
|
|
|
|