|
|
|
@ -737,152 +737,6 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
return Integer.parseInt(strItemNo); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<Map<String, Object>> getBomItemNosByPartNo(SearchScheduleData inData) { |
|
|
|
//首先查询当前的材料卷号数据 |
|
|
|
CRollInfoOutData cRollInfo = scheduleMapper.getCRollInfoByRollNo(inData); |
|
|
|
//判断是否存在 |
|
|
|
if(null == cRollInfo){ |
|
|
|
throw new RRException("查无此卷!"); |
|
|
|
} |
|
|
|
inData.setRmPartNo(cRollInfo.getPartNo()); |
|
|
|
//查询bom行数据 |
|
|
|
List<Map<String, Object>> resultList = scheduleMapper.getBomItemNosByPartNo(inData); |
|
|
|
//判断是否存在 |
|
|
|
if(resultList.size() == 0){ |
|
|
|
throw new RRException("工单:"+inData.getOrderNo()+"没有物料:"+cRollInfo.getPartNo()+"的BOM信息!"); |
|
|
|
} |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkFeedingMaterialRoll(SearchScheduleData inData) { |
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String rmRollNo = inData.getRmRollNo(); |
|
|
|
Integer bomItemNo = inData.getBomItemNo(); |
|
|
|
Integer histSeqNo = inData.getHistSeqNo(); |
|
|
|
String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); |
|
|
|
if (histSeqNo > 0){ |
|
|
|
resultMap.put("code", 400); |
|
|
|
resultMap.put("msg", "请选择换料功能!"); |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
//调用存储过程判断是否处于调剂或者停机--上/换材料 |
|
|
|
String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); |
|
|
|
if ("N".equalsIgnoreCase(resultCode)){ |
|
|
|
resultMap.put("code", 400); |
|
|
|
resultMap.put("msg", "当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
//继续判断是否继续 |
|
|
|
Map<String, Object> checkMap = this.checkFeedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo); |
|
|
|
String code = String.valueOf(checkMap.get("resultCode")); |
|
|
|
String msg = String.valueOf(checkMap.get("resultMsg")); |
|
|
|
resultMap.put("code", code); |
|
|
|
resultMap.put("msg", msg); |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 调用检查的是否可以上料的存储过程 |
|
|
|
* @author LR |
|
|
|
* @date 2021/12/22 13:49 |
|
|
|
* @return java.util.Map<java.lang.String, java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFeedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(rmRollNo); |
|
|
|
params.add(bomItemNo); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFeedingMaterialRoll", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void feedingMaterialRoll(SearchScheduleData inData) { |
|
|
|
//先调用检查方法是否通过 |
|
|
|
Map<String, Object> checkMap = this.checkFeedingMaterialRoll(inData); |
|
|
|
//判断检查是否通过 |
|
|
|
String code = String.valueOf(checkMap.get("code")); |
|
|
|
if ("400".equalsIgnoreCase(code)){ |
|
|
|
String msg = String.valueOf(checkMap.get("msg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
//调用存储过程执行上料方法 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 判断是否处于调机或者停机--上/换材料 |
|
|
|
* @DateTime 2021/12/21 18:32 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] |
|
|
|
* @return java.lang.String |
|
|
|
**/ |
|
|
|
public String checkProcessMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String currentTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(currentTime); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkProcessMaterialRoll", params); |
|
|
|
//获取返回的结果 |
|
|
|
Map<String, Object> resultMap = resultList.get(0); |
|
|
|
//处理返回的结果 |
|
|
|
return String.valueOf(resultMap.get("resultCode")); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void connectMaterialRoll(SearchScheduleData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String rmRollNo = inData.getRmRollNo(); |
|
|
|
Integer bomItemNo = inData.getBomItemNo(); |
|
|
|
Integer histSeqNo = inData.getHistSeqNo(); |
|
|
|
String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); |
|
|
|
if (histSeqNo == 0){ |
|
|
|
throw new RRException("请选择上料功能!"); |
|
|
|
} |
|
|
|
//调用存储过程判断是否处于调剂或者停机--上/换材料 |
|
|
|
String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); |
|
|
|
if ("N".equalsIgnoreCase(resultCode)){ |
|
|
|
throw new RRException("当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); |
|
|
|
} |
|
|
|
//继续判断是否继续 |
|
|
|
Map<String, Object> checkMap = this.checkConnectMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo, histSeqNo); |
|
|
|
String code = String.valueOf(checkMap.get("resultCode")); |
|
|
|
//判断是否可以接料 |
|
|
|
if("400".equalsIgnoreCase(code)){ |
|
|
|
String msg = String.valueOf(checkMap.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
//继续则执行换料的存储过程 |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void startTuning(SearchScheduleData inData) { |
|
|
|
@ -1154,7 +1008,7 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
Map<String, Object> resultMap = this.checkToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, toolInstanceId); |
|
|
|
//判断是否检验成功 |
|
|
|
String code = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if (!"200".equalsIgnoreCase(code)){ |
|
|
|
if ("400".equalsIgnoreCase(code)){ |
|
|
|
String msg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
@ -1214,9 +1068,165 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
this.checkToolInstanceId(inData); |
|
|
|
|
|
|
|
//调用存储过程生成记录的数据 |
|
|
|
//this.addToolInstanceId(); |
|
|
|
this.addToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, toolInstanceId, username, currentTime); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 调用存储过程生成工具的记录的数据 |
|
|
|
* @author LR |
|
|
|
* @date 2021/12/29 18:37 |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void addToolInstanceId(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String toolInstanceId, |
|
|
|
String username, String currentTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(toolInstanceId); |
|
|
|
params.add(username); |
|
|
|
params.add(currentTime); |
|
|
|
procedureMapper.execProduceData("addToolInstanceId", params); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<Map<String, Object>> getBomItemNosByPartNo(SearchScheduleData inData) { |
|
|
|
//首先查询当前的材料卷号数据 |
|
|
|
CRollInfoOutData cRollInfo = scheduleMapper.getCRollInfoByRollNo(inData); |
|
|
|
//判断是否存在 |
|
|
|
if(null == cRollInfo){ |
|
|
|
throw new RRException("查无此卷!"); |
|
|
|
} |
|
|
|
inData.setRmPartNo(cRollInfo.getPartNo()); |
|
|
|
//查询bom行数据 |
|
|
|
List<Map<String, Object>> resultList = scheduleMapper.getBomItemNosByPartNo(inData); |
|
|
|
//判断是否存在 |
|
|
|
if(resultList.size() == 0){ |
|
|
|
throw new RRException("工单:"+inData.getOrderNo()+"没有物料:"+cRollInfo.getPartNo()+"的BOM信息!"); |
|
|
|
} |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkFeedingMaterialRoll(SearchScheduleData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String rmRollNo = inData.getRmRollNo(); |
|
|
|
Integer bomItemNo = inData.getBomItemNo(); |
|
|
|
Integer histSeqNo = inData.getHistSeqNo(); |
|
|
|
String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); |
|
|
|
if (histSeqNo >= 0){ |
|
|
|
throw new RRException("请选择接换料功能!"); |
|
|
|
} |
|
|
|
|
|
|
|
//检查是否是上材料的时机 |
|
|
|
String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); |
|
|
|
if ("N".equalsIgnoreCase(resultCode)){ |
|
|
|
throw new RRException("当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); |
|
|
|
} |
|
|
|
|
|
|
|
//执行检查材料卷上机的功能 |
|
|
|
Map<String, Object> resultMap = this.checkFeedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo); |
|
|
|
//判断是否继续 |
|
|
|
String code = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code)){ |
|
|
|
String msg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author LR |
|
|
|
* @Description 判断是否处于调机或者停机--上/换材料 |
|
|
|
* @DateTime 2021/12/21 18:32 |
|
|
|
* @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] |
|
|
|
* @return java.lang.String |
|
|
|
**/ |
|
|
|
public String checkProcessMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String currentTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(currentTime); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkProcessMaterialRoll", params); |
|
|
|
//获取返回的结果 |
|
|
|
Map<String, Object> resultMap = resultList.get(0); |
|
|
|
//处理返回的结果 |
|
|
|
return String.valueOf(resultMap.get("resultCode")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 调用检查的是否可以上料的存储过程 |
|
|
|
* @author LR |
|
|
|
* @date 2021/12/22 13:49 |
|
|
|
* @return java.util.Map<java.lang.String, java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkFeedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(rmRollNo); |
|
|
|
params.add(bomItemNo); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFeedingMaterialRoll", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void feedingMaterialRoll(SearchScheduleData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String rmRollNo = inData.getRmRollNo(); |
|
|
|
Integer bomItemNo = inData.getBomItemNo(); |
|
|
|
String username = inData.getOperatorId(); |
|
|
|
String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
|
|
//先调用检查方法是否通过 |
|
|
|
this.checkFeedingMaterialRoll(inData); |
|
|
|
|
|
|
|
//调用存储过程执行上料方法 |
|
|
|
this.feedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo, username, currentTime); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 调用存储过程执行上机的过程 |
|
|
|
* @author LR |
|
|
|
* @date 2021/12/30 14:03 |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void feedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo, String username, String currentTime) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(rmRollNo); |
|
|
|
params.add(bomItemNo); |
|
|
|
params.add(username); |
|
|
|
params.add(currentTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData("feedingMaterialRoll", params); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |