Browse Source

材料上机

master
rui_li 4 years ago
parent
commit
fd416d24ad
  1. 110
      src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java
  2. 63
      src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java
  3. 306
      src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java

110
src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java

@ -536,68 +536,6 @@ public class ScheduleController {
.put("success", true)
.put("msg", "操作成功!");
}
/**
* @Author LR
* @Description 根据工单和物料自动获取bom行数据
* @DateTime 2021/12/20 10:59
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "getBomItemNosByPartNo")
public R getBomItemNosByPartNo(@RequestBody SearchScheduleData inData){
List<Map<String, Object>> resultList = scheduleService.getBomItemNosByPartNo(inData);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!")
.put("rows", resultList);
}
/**
* TODO 检查是否可以上料
* @author LR
* @date 2021/12/22 11:57
* @param inData
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "checkFeedingMaterialRoll")
public R checkFeedingMaterialRoll(@RequestBody SearchScheduleData inData){
Map<String, Object> resultMap = scheduleService.checkFeedingMaterialRoll(inData);
return R.ok()
.put("resultMap", resultMap);
}
/**
* @Author LR
* @Description 保存材料上机的记录数据
* @DateTime 2021/12/20 16:34
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "feedingMaterialRoll")
public R feedingMaterialRoll(@RequestBody SearchScheduleData inData){
scheduleService.feedingMaterialRoll(inData);
return R.ok()
.put("code", 200)
.put("success", true)
.put("msg", "操作成功!");
}
/**
* @Author LR
* @Description 保存材料接换料的记录
* @DateTime 2021/12/21 9:54
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "connectMaterialRoll")
public R connectMaterialRoll(@RequestBody SearchScheduleData inData){
scheduleService.connectMaterialRoll(inData);
return R.ok()
.put("code", 200)
.put("success", true)
.put("msg", "操作成功!");
}
/**
* TODO 开始调机
@ -721,8 +659,52 @@ public class ScheduleController {
.put("success", true)
.put("msg", "操作成功!");
}
//
//
/**
* @Author LR
* @Description 根据工单和物料自动获取bom行数据
* @DateTime 2021/12/20 10:59
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "getBomItemNosByPartNo")
public R getBomItemNosByPartNo(@RequestBody SearchScheduleData inData){
List<Map<String, Object>> resultList = scheduleService.getBomItemNosByPartNo(inData);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!")
.put("rows", resultList);
}
/**
* TODO 检查是否可以上当前的材料卷
* @author LR
* @date 2021/12/30 11:48
* @param inData
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "checkFeedingMaterialRoll")
public R checkMaterialRoll(@RequestBody SearchScheduleData inData){
Map<String, Object> resultMap = scheduleService.checkFeedingMaterialRoll(inData);
return R.ok()
.put("resultMap", resultMap);
}
/**
* @Author LR
* @Description 保存材料上机的记录数据
* @DateTime 2021/12/20 16:34
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "feedingMaterialRoll")
public R feedingMaterialRoll(@RequestBody SearchScheduleData inData){
scheduleService.feedingMaterialRoll(inData);
return R.ok()
.put("code", 200)
.put("success", true)
.put("msg", "操作成功!");
}

63
src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java

@ -293,42 +293,6 @@ public interface ScheduleService {
**/
void createNewRoll(SearchScheduleData inData);
/**
* @Author LR
* @Description 根据工单和物料自动获取bom行数据
* @DateTime 2021/12/20 11:07
* @Param [inData]
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
**/
List<Map<String, Object>> getBomItemNosByPartNo(SearchScheduleData inData);
/**
* TODO 检查是否可以上料
* @author LR
* @date 2021/12/22 13:09
* @param inData
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
Map<String, Object> checkFeedingMaterialRoll(SearchScheduleData inData);
/**
* @Author LR
* @Description 保存材料上机的记录数据
* @DateTime 2021/12/20 16:35
* @Param [inData]
* @return void
**/
void feedingMaterialRoll(SearchScheduleData inData);
/**
* @Author LR
* @Description 保存材料接换料的记录
* @DateTime 2021/12/21 9:55
* @Param [inData]
* @return void
**/
void connectMaterialRoll(SearchScheduleData inData);
/**
* TODO 添加注释
* @author LR
@ -400,4 +364,31 @@ public interface ScheduleService {
* @return void
**/
void addToolInstanceId(SearchScheduleData inData);
/**
* @Author LR
* @Description 根据工单和物料自动获取bom行数据
* @DateTime 2021/12/20 11:07
* @Param [inData]
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
**/
List<Map<String, Object>> getBomItemNosByPartNo(SearchScheduleData inData);
/**
* TODO 检查是否可以上当前的材料卷
* @author LR
* @date 2021/12/30 11:49
* @param inData
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
Map<String, Object> checkFeedingMaterialRoll(SearchScheduleData inData);
/**
* @Author LR
* @Description 保存材料上机的记录数据
* @DateTime 2021/12/20 16:35
* @Param [inData]
* @return void
**/
void feedingMaterialRoll(SearchScheduleData inData);
}

306
src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java

@ -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);
}
}
Loading…
Cancel
Save