|
|
|
@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody; |
|
|
|
|
|
|
|
import javax.jws.soap.SOAPBinding; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
@ -63,6 +64,14 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
if(!searchFlag){ |
|
|
|
return new ArrayList<ScheduleData>(); |
|
|
|
} |
|
|
|
//把查询时间结束参数添加一天 |
|
|
|
Date planStartTime2 = inData.getPlanStartTime2(); |
|
|
|
//判断是否是null |
|
|
|
if(planStartTime2 != null){ |
|
|
|
planStartTime2 = DateUtils.addDateDays(planStartTime2, 1); |
|
|
|
//重置参数 |
|
|
|
inData.setPlanStartTime2(planStartTime2); |
|
|
|
} |
|
|
|
return scheduleMapper.getProduceScheduleData(inData); |
|
|
|
} |
|
|
|
|
|
|
|
@ -196,7 +205,8 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
Float totalDowntimeTimeSetup = Float.parseFloat(strTotalDowntimeTimeSetup); |
|
|
|
//减法算净调机时间 |
|
|
|
Float totalPureSetupTime = totalSetupTime - totalDowntimeTimeSetup; |
|
|
|
|
|
|
|
BigDecimal bgTotalPureSetupTime = new BigDecimal(totalPureSetupTime).setScale(2, BigDecimal.ROUND_UP); |
|
|
|
totalPureSetupTime = bgTotalPureSetupTime.floatValue(); |
|
|
|
//处理生产的时间 |
|
|
|
String strTotalProdTime = String.valueOf(result.get("totalProdTime")); |
|
|
|
//判断null |
|
|
|
@ -352,7 +362,7 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> getScheduleShiftData(SearchScheduleData inData) { |
|
|
|
public Map<String, Object> getScheduleShiftData(SearchScheduleData inData) throws ParseException { |
|
|
|
//设置查询的条件 |
|
|
|
inData.setCurrentDate(DateUtil.getStringDate(new Date(), "yyyy-MM-dd")); |
|
|
|
inData.setCurrentTime(DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss")); |
|
|
|
@ -362,7 +372,24 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
List<Map<String, Object>> resultList = scheduleMapper.getScheduleShiftData(inData); |
|
|
|
//判断是否查询到结果数据 |
|
|
|
if(resultList.size() > 0){ |
|
|
|
result = resultList.get(0); |
|
|
|
//循环处理数据 |
|
|
|
for (int i = 0; i < resultList.size(); i++){ |
|
|
|
Map<String, Object> tempMap = resultList.get(i); |
|
|
|
Float curTime = Float.parseFloat(String.valueOf(tempMap.get("curTime"))); |
|
|
|
Float startTime = Float.parseFloat(String.valueOf(tempMap.get("startTime"))); |
|
|
|
Float endTime = Float.parseFloat(String.valueOf(tempMap.get("endTime"))); |
|
|
|
//区分各类情况 |
|
|
|
if (curTime < startTime){ |
|
|
|
result.put("code", "500"); |
|
|
|
result.put("shiftDesc", "无班次"); |
|
|
|
break; |
|
|
|
}else if (curTime >= startTime && curTime <= endTime){ |
|
|
|
result = resultList.get(i); |
|
|
|
break; |
|
|
|
}else{ |
|
|
|
result = resultList.get(i); |
|
|
|
} |
|
|
|
} |
|
|
|
result.put("code", "200"); |
|
|
|
}else{ |
|
|
|
result.put("code", "500"); |
|
|
|
@ -1462,125 +1489,6 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
procedureMapper.execProduceData("endTuning", params); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkFinishRoll(@RequestBody 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 resourceId = pageData.getResourceId(); |
|
|
|
String shiftNo = pageData.getShiftNo(); |
|
|
|
Float approvedQty = pageData.getApprovedQty(); |
|
|
|
Date scheduleDate = pageData.getScheduleDate(); |
|
|
|
String scheduleTime = DateUtil.getStringDate(scheduleDate, "yyyy-MM-dd"); |
|
|
|
String reportedTime = pageData.getReportedTime(); |
|
|
|
//判断报工的数量是否为正整数 |
|
|
|
Double remainderQty = approvedQty % 1.0; |
|
|
|
if(remainderQty > 0){ |
|
|
|
throw new RRException("总良品数量不允许输入小数!"); |
|
|
|
} |
|
|
|
//先循环验证参数是否符合规则 |
|
|
|
for (int i = 0; i < sfdcMaterialList.size(); i++){ |
|
|
|
SfdcMaterialData sfdcMaterialData = sfdcMaterialList.get(0); |
|
|
|
Float transQty = sfdcMaterialData.getTransQty(); |
|
|
|
Float netIssueQty = sfdcMaterialData.getNetIssueQty(); |
|
|
|
//判断是否符合规则 |
|
|
|
if (netIssueQty == null){ |
|
|
|
throw new RRException("材料上本卷耗用数量不能为空!"); |
|
|
|
} |
|
|
|
if (netIssueQty <= 0){ |
|
|
|
throw new RRException("材料上本卷耗用数量必须大于0!"); |
|
|
|
} |
|
|
|
if (netIssueQty > transQty){ |
|
|
|
throw new RRException("材料上本卷耗用数量大于发料数量!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//首先检查材料是否可以开始生产 |
|
|
|
Map<String, Object> materialMap = this.checkCompleteMaterialRoll(site, orderNo, itemNo, seqNo, rollNo); |
|
|
|
//判断是否可以 |
|
|
|
String materialCode = String.valueOf(materialMap.get("resultCode")); |
|
|
|
if (!"200".equalsIgnoreCase(materialCode)){ |
|
|
|
String materialMsg = String.valueOf(materialMap.get("resultMsg")); |
|
|
|
throw new RRException(materialMsg); |
|
|
|
} |
|
|
|
|
|
|
|
//其次检查工具是否可以开始生产 |
|
|
|
Map<String, Object> toolMap = this.checkCompleteToolId(site, orderNo, itemNo, seqNo, rollNo); |
|
|
|
//判断是否可以 |
|
|
|
String toolCode = String.valueOf(materialMap.get("resultCode")); |
|
|
|
if (!"200".equalsIgnoreCase(toolCode)){ |
|
|
|
String toolMsg = String.valueOf(toolMap.get("resultMsg")); |
|
|
|
throw new RRException(toolMsg); |
|
|
|
} |
|
|
|
|
|
|
|
//检查是否可以开始生产 |
|
|
|
Map<String, Object> resultMap = this.checkFinishRoll(site, orderNo, itemNo, seqNo, rollNo, scheduleTime, resourceId, shiftNo); |
|
|
|
//判断是否是异常 |
|
|
|
String resultCode = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(resultCode)){ |
|
|
|
String resultMsg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new RRException(resultMsg); |
|
|
|
} |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 结束卷校验 |
|
|
|
* @author LR |
|
|
|
* @date 2022/1/13 18:11 |
|
|
|
* @return java.util.Map<java.lang.String, java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFinishRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String scheduleTime, String resourceId, String shiftNo) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(scheduleTime); |
|
|
|
params.add(resourceId); |
|
|
|
params.add(shiftNo); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFinishRoll", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void finishRoll(Map<String, Object> inMap) { |
|
|
|
//先验证是否可以结束卷的操作 |
|
|
|
this.checkFinishRoll(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(); |
|
|
|
Float approvedQty = pageData.getApprovedQty(); |
|
|
|
Date scheduleDate = pageData.getScheduleDate(); |
|
|
|
String scheduleTime = DateUtil.getStringDate(scheduleDate, "yyyy-MM-dd"); |
|
|
|
//判断报工的数量是否为正整数 |
|
|
|
Double remainderQty = approvedQty % 1.0; |
|
|
|
if(remainderQty > 0){ |
|
|
|
throw new RRException("总良品数量不允许输入小数!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Float countToolUsedQty(SearchScheduleData inData) { |
|
|
|
Float usedQty = scheduleMapper.countToolUsedQty(inData); |
|
|
|
@ -1806,4 +1714,424 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
procedureMapper.execProduceData( "connectMaterialRoll", params); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkFinishRollWithNoFqc(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 approvedQty = pageData.getApprovedQty(); |
|
|
|
Float editReportQty = pageData.getSfdcReportedQty(); |
|
|
|
Float editTotalReportQty = pageData.getTotalQty();//总数量 |
|
|
|
Float editTotalApprovedQty = pageData.getApprovedQty();//总量数量 |
|
|
|
Float otherRollQty = pageData.getOtherRollQty(); |
|
|
|
Float editNewRollQty = pageData.getEditNewRollQty(); |
|
|
|
String scheduledDate = pageData.getScheduledDate(); |
|
|
|
String shiftDesc = pageData.getShiftDesc(); |
|
|
|
|
|
|
|
//判断报工的数量是否为正整数 |
|
|
|
Double remainderQty = approvedQty % 1.0; |
|
|
|
if(remainderQty > 0){ |
|
|
|
throw new RRException("总良品数量不允许输入小数!"); |
|
|
|
} |
|
|
|
|
|
|
|
//首先检查材料是否可以开始生产 |
|
|
|
Map<String, Object> materialMap = this.checkCompleteMaterialRoll(site, orderNo, itemNo, seqNo, rollNo); |
|
|
|
//判断是否可以 |
|
|
|
String materialCode = String.valueOf(materialMap.get("resultCode")); |
|
|
|
if (!"200".equalsIgnoreCase(materialCode)){ |
|
|
|
String materialMsg = String.valueOf(materialMap.get("resultMsg")); |
|
|
|
throw new RRException(materialMsg); |
|
|
|
} |
|
|
|
|
|
|
|
//其次检查工具是否可以开始生产 |
|
|
|
Map<String, Object> toolMap = this.checkCompleteToolId(site, orderNo, itemNo, seqNo, rollNo); |
|
|
|
//判断是否可以 |
|
|
|
String toolCode = String.valueOf(materialMap.get("resultCode")); |
|
|
|
if (!"200".equalsIgnoreCase(toolCode)){ |
|
|
|
String toolMsg = String.valueOf(toolMap.get("resultMsg")); |
|
|
|
throw new RRException(toolMsg); |
|
|
|
} |
|
|
|
|
|
|
|
//判断是否有主材上机 |
|
|
|
if (sfdcMaterialList.size() == 0){ |
|
|
|
throw new RRException("为扫描主材不可结束卷!"); |
|
|
|
} |
|
|
|
//1.调用存储过程 校验工单 派工单 上机卷 信息是否符合条件 |
|
|
|
Map<String, Object> checkMap1 = this.checkFinishRollWithScheduleOpsShift(site, orderNo, itemNo, seqNo, rollNo, scheduledDate, shiftDesc); |
|
|
|
//判断是否检验成功 |
|
|
|
String code1 = String.valueOf(checkMap1.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code1)){ |
|
|
|
String msg = String.valueOf(checkMap1.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
|
|
|
|
//2.调用存储过程 校验是否可以下机卷 |
|
|
|
Map<String, Object> checkMap2 = this.checkFinishRollWithSfdcRoll(site, orderNo, itemNo, seqNo, rollNo); |
|
|
|
//判断是否检验成功 |
|
|
|
String code2 = String.valueOf(checkMap2.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code2)){ |
|
|
|
String msg = String.valueOf(checkMap2.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
|
|
|
|
//3.调用存储过程 校验不同工序间数量大小 |
|
|
|
Map<String, Object> checkMap3 = this.checkFinishRollWithSoRoutingQty(site, orderNo, itemNo, editReportQty); |
|
|
|
//判断是否检验成功 |
|
|
|
String code3 = String.valueOf(checkMap3.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code3)){ |
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 存储过程校验 单个材料的校验数据 |
|
|
|
* @DateTime 2022/1/25 15:05 |
|
|
|
* @Param [site, orderNo, itemNo, rollNo, seqNo, editTotalReportQty, otherRollQty, editNewRollQty, netIssueQty, histSeqNo] |
|
|
|
* @return java.util.Map<java.lang.String,java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFinishRollWithSfdcMaterialHist(String site, String orderNo, Integer itemNo, String rollNo, String seqNo, Float editTotalReportQty, Float otherRollQty, |
|
|
|
Float editNewRollQty, Float netIssueQty, Integer histSeqNo, String username) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(editTotalReportQty); |
|
|
|
params.add(otherRollQty); |
|
|
|
params.add(editNewRollQty); |
|
|
|
params.add(netIssueQty); |
|
|
|
params.add(histSeqNo); |
|
|
|
params.add(username); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData( "checkFinishRollWithSfdcMaterialHist", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 校验工单 派工单 上机卷 信息是否符合条件 |
|
|
|
* @DateTime 2022/1/25 13:44 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo] |
|
|
|
* @return java.util.Map<java.lang.String,java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFinishRollWithScheduleOpsShift(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String scheduledDate, String shiftDesc) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(scheduledDate); |
|
|
|
params.add(shiftDesc); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData( "checkFinishRollWithScheduleOpsShift", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description |
|
|
|
* @DateTime 2022/1/25 13:55 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo] |
|
|
|
* @return java.util.Map<java.lang.String,java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFinishRollWithSfdcRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData( "checkFinishRollWithSfdcRoll", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 校验不同工序间数量大小 |
|
|
|
* @DateTime 2022/1/25 14:13 |
|
|
|
* @Param [site, orderNo, itemNo, editReportQty] |
|
|
|
* @return java.util.Map<java.lang.String,java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFinishRollWithSoRoutingQty(String site, String orderNo, Integer itemNo, Float editReportQty) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(editReportQty); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData( "checkFinishRollWithSoRoutingQty", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void finishRollNoWithNoFqc(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 editTotalReportQty = pageData.getTotalQty();//总数量 |
|
|
|
Float totalApprovedQty = pageData.getApprovedQty();//总良数量 |
|
|
|
Float otherRollQty = pageData.getOtherRollQty(); |
|
|
|
Float defectedQty = pageData.getDefectedQty(); |
|
|
|
|
|
|
|
Float editNewRollQty = pageData.getEditNewRollQty(); |
|
|
|
String reportedTime = pageData.getReportedTime(); |
|
|
|
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.checkFinishRollWithNoFqc(inMap); |
|
|
|
|
|
|
|
//1.调用存储过程 处理SfdcTimeHist的信息 |
|
|
|
this.finishRollProcessSfdcTimeHist(site, orderNo, itemNo, seqNo, rollNo, username, reportedTime); |
|
|
|
//2.调用存储过程 处理SfdcToolHist的信息 |
|
|
|
this.finishRollProcessSfdcToolHist(site, orderNo, itemNo, seqNo, rollNo, editTotalReportQty, username, reportedTime); |
|
|
|
//3.调用存储过程 处理SfdcMaterialHist的信息 --主材 |
|
|
|
//循环for循环处理 |
|
|
|
for (int i = 0; i < sfdcMaterialList.size(); i++){ |
|
|
|
SfdcMaterialData sfdcMaterialData = sfdcMaterialList.get(0); |
|
|
|
Float netIssueQty = sfdcMaterialData.getNetIssueQty(); |
|
|
|
Integer histSeqNo = sfdcMaterialData.getHistSeqNo(); |
|
|
|
this.finishRollProcessSfdcMaterialHistWithKeyRm(site, orderNo, itemNo, seqNo, rollNo, netIssueQty, histSeqNo, username, reportedTime); |
|
|
|
} |
|
|
|
//4.调用存储过程 处理SfdcMaterialHist的信息 --非主材 |
|
|
|
this.finishRollProcessSfdcMaterialHistWithNotKeyRm(site, orderNo, itemNo, seqNo, rollNo, username, reportedTime); |
|
|
|
//5.调用存储过程 处理SfdcRoll和SfdcRoollOps |
|
|
|
this.finishRollProcessSfdcRollAndOps(site, orderNo, itemNo, seqNo, rollNo, totalApprovedQty, sfdcApprovedQty, defectedQty, username, reportedTime); |
|
|
|
//6.调用存储过程 处理Sfdc和派工单 |
|
|
|
this.finishRollProcessSfdcAndSchedule(site, orderNo, itemNo, seqNo, rollNo, sfdcReportedQty, sfdcApprovedQty, |
|
|
|
sfdcSetupTime, sfdcProdTime, sfdcDownTime, eventTime, tillTime, remark, |
|
|
|
sfdcSetupDownTime, sfdcProdSetupTime, defectedQty, sfdcManufactureTime, username); |
|
|
|
//7.调用存储过程 处理异常信息 |
|
|
|
if("Y".equalsIgnoreCase(exceptionFlag)){ |
|
|
|
this.finishRollProcessException(site, orderNo, itemNo, seqNo, rollNo, exceptionReason, username); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 处理异常信息 |
|
|
|
* @DateTime 2022/1/26 14:00 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, exceptionReason] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessException(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String exceptionReason, String username) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(exceptionReason); |
|
|
|
params.add(username); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessException", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 处理Sfdc和派工单 |
|
|
|
* @DateTime 2022/1/25 17:50 |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcAndSchedule(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( "finishRollProcessSfdcAndSchedule", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 处理SfdcRoll和SfdcRoollOps |
|
|
|
* @DateTime 2022/1/25 16:53 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, totalApprovedQty, sfdcApproveQty, defectedQty] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcRollAndOps(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, |
|
|
|
Float totalApprovedQty, Float sfdcApproveQty, Float defectedQty, String username, String reportedTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(totalApprovedQty); |
|
|
|
params.add(sfdcApproveQty); |
|
|
|
params.add(defectedQty); |
|
|
|
params.add(username); |
|
|
|
params.add(reportedTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessSfdcRollAndOps", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 处理SfdcMaterialHist的信息 --非主材 |
|
|
|
* @DateTime 2022/1/25 15:39 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, username, reportedTime] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcMaterialHistWithNotKeyRm(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String username, String reportedTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(username); |
|
|
|
params.add(reportedTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessSfdcMaterialHistWithNotKeyRm", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 处理SfdcMaterialHist的信息 --主材 一次处理一个 |
|
|
|
* @DateTime 2022/1/25 15:36 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, netIssueQty, histSeqNo, username, reportedTime] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcMaterialHistWithKeyRm(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, Float netIssueQty, Integer histSeqNo, String username, String reportedTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(netIssueQty); |
|
|
|
params.add(histSeqNo); |
|
|
|
params.add(username); |
|
|
|
params.add(reportedTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessSfdcMaterialHistWithKeyRm", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 处理SfdcToolHist的信息 |
|
|
|
* @DateTime 2022/1/25 15:31 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, editTotalReportQty, username, reportedTime] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcToolHist(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, Float editTotalReportQty, String username, String reportedTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(editTotalReportQty); |
|
|
|
params.add(username); |
|
|
|
params.add(reportedTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessSfdcToolHist", params); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 调用存储过程 处理sfdcTime的信息 |
|
|
|
* @DateTime 2022/1/25 15:24 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, username, reportedTime] |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void finishRollProcessSfdcTimeHist(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String username, String reportedTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(username); |
|
|
|
params.add(reportedTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData( "finishRollProcessSfdcTimeHist", params); |
|
|
|
} |
|
|
|
|
|
|
|
} |