Browse Source

结束派工单页面 后台

master
Rui_Li 4 years ago
parent
commit
ca7720b25d
  1. 30
      src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java
  2. 9
      src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java
  3. 18
      src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java
  4. 263
      src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java

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

@ -922,4 +922,34 @@ public class ScheduleController {
.put("rows", resultList);
}
/**
* @Author LR
* @Description 派工单结束检查
* @DateTime 2022/2/8 9:56
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "checkFinishScheduleWithNoFqc")
public R checkFinishScheduleWithNoFqc(@RequestBody SearchScheduleData inData) {
Map<String, Object> resultMap = scheduleService.checkFinishScheduleWithNoFqc(inData);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!")
.put("resultMap", resultMap);
}
/**
* @Author LR
* @Description 结束非FQC的派工单
* @DateTime 2022/2/8 11:24
* @Param [inData]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "finishScheduleWithNoFqc")
public R finishScheduleWithNoFqc(@RequestBody SearchScheduleData inData) {
scheduleService.finishScheduleWithNoFqc(inData);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!");
}
}

9
src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java

@ -95,6 +95,7 @@ public class SearchScheduleData extends BaseData {
private String showNoFinishedTimeFlag;//显示时间
private String showNoFinishedToolFlag;//显示工具
private String showNoFinishedMaterialFlag;//显示材料
private String autoTool;//是否自动处理工具
public SearchScheduleData() {
@ -635,4 +636,12 @@ public class SearchScheduleData extends BaseData {
public void setShowNoFinishedMaterialFlag(String showNoFinishedMaterialFlag) {
this.showNoFinishedMaterialFlag = showNoFinishedMaterialFlag;
}
public String getAutoTool() {
return autoTool;
}
public void setAutoTool(String autoTool) {
this.autoTool = autoTool;
}
}

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

@ -519,4 +519,22 @@ public interface ScheduleService {
* @return java.util.List<com.gaotao.modules.schedule.data.SfdcToolData>
**/
List<SfdcMaterialData> getSfdcMaterialHistBySeqNo(SearchScheduleData inData);
/**
* @Author LR
* @Description 派工单结束检查
* @DateTime 2022/2/8 10:01
* @Param [inData]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
Map<String, Object> checkFinishScheduleWithNoFqc(SearchScheduleData inData);
/**
* @Author LR
* @Description 结束非FQC的派工单
* @DateTime 2022/2/8 11:24
* @Param [inData]
* @return void
**/
void finishScheduleWithNoFqc(SearchScheduleData inData);
}

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

@ -2203,7 +2203,270 @@ public class ScheduleServiceImpl implements ScheduleService {
return scheduleMapper.getSfdcMaterialHistBySeqNo(inData);
}
@Override
public Map<String, Object> checkFinishScheduleWithNoFqc(SearchScheduleData inData) {
//公共参数
String site = inData.getSite();
String orderNo = inData.getOrderNo();
Integer itemNo = inData.getItemNo();
String seqNo = inData.getSeqNo();
String scheduledDate = inData.getScheduledDate();
String shiftDesc = inData.getShiftDesc();
Float reportedQty = inData.getApprovedQty();//总良品数量
Float defectedQty = inData.getDefectedQty();//总不良数量
String autoTool = inData.getAutoTool();//是否自动结束工具记录
String username = inData.getOperatorId();
//调用存储过程
//1.调用存储过程 派工单 上机卷 班次的检验
Map<String, Object> checkMap = this.checkFinishScheduleWithScheduleOpsShift(site, orderNo, itemNo, seqNo, scheduledDate, shiftDesc);
//区分是否抛出异常的信息
String checkCode = String.valueOf(checkMap.get("resultCode"));
if ("400".equalsIgnoreCase(checkCode)) {
String msg = String.valueOf(checkMap.get("resultMsg"));
throw new RRException(msg);
}
//2.调用存储过程 校验 是否存在工具记录需要自动处理
if("N".equalsIgnoreCase(autoTool)){
Map<String, Object> toolMap = this.checkFinishScheduleSfdcToolHist(site, orderNo, itemNo, seqNo);
//区分是否抛出异常的信息
String toolCode = String.valueOf(toolMap.get("resultCode"));
if ("400".equalsIgnoreCase(toolCode)) {
String msg = String.valueOf(toolMap.get("resultMsg"));
throw new RRException(msg);
}
}
//3. 调用存储过程 校验 辅料的使用量
Map<String, Object> resultMap = this.checkFinishScheduleWithNotKeyRm(site, orderNo, itemNo, seqNo, reportedQty, defectedQty, 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;
}
/**
* @Author LR
* @Description 调用存储过程 校验 是否存在工具记录需要自动处理
* @DateTime 2022/2/8 13:35
* @Param [site, orderNo, itemNo, seqNo]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> checkFinishScheduleSfdcToolHist(String site, String orderNo, Integer itemNo, String seqNo) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
//调用存储过程
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFinishScheduleSfdcToolHist", params);
//处理返回的结果
return resultList.get(0);
}
/**
* @Author LR
* @Description 调用存储过程 校验 辅料的使用量
* @DateTime 2022/2/8 10:51
* @Param [site, orderNo, itemNo, seqNo, scheduledDate, shiftDesc]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> checkFinishScheduleWithNotKeyRm(String site, String orderNo, Integer itemNo, String seqNo, Float reportedQty, Float defectedQty, String username) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(reportedQty);
params.add(defectedQty);
params.add(username);
//调用存储过程
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFinishScheduleWithNotKeyRm", params);
//处理返回的结果
return resultList.get(0);
}
/**
* @Author LR
* @Description 调用存储过程 检验 派工单 上级卷 班次信息
* @DateTime 2022/2/8 10:45
* @Param [site, orderNo, itemNo, seqNo, scheduledDate, shiftDesc]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> checkFinishScheduleWithScheduleOpsShift(String site, String orderNo, Integer itemNo, String seqNo, String scheduledDate, String shiftDesc) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(scheduledDate);
params.add(shiftDesc);
//调用存储过程
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkFinishScheduleWithScheduleOpsShift", params);
//处理返回的结果
return resultList.get(0);
}
@Override
@Transactional
public void finishScheduleWithNoFqc(SearchScheduleData inData) {
//公共参数
String site = inData.getSite();
String orderNo = inData.getOrderNo();
Integer itemNo = inData.getItemNo();
String seqNo = inData.getSeqNo();
String scheduledDate = inData.getScheduledDate();
String shiftDesc = inData.getShiftDesc();
Float reportedQty = inData.getApprovedQty();//总良品数量
Float defectedQty = inData.getDefectedQty();//总不良数量
String username = inData.getOperatorId();
String reportedTime = inData.getReportedTime();
String exceptionFlag = inData.getExceptionFlag();
String exceptionReason = inData.getExceptionReason();
//1.调用检查的方法
this.checkFinishScheduleWithNoFqc(inData);
//调用结束派工单的存储过程
// 1. 调用存储过程 处理工具的信息
this.finishScheduleProcessSfdcToolHist(site, orderNo, itemNo, seqNo, reportedTime);
// 2. 调用存储过程 处理时间的信息
Map<String, Object> timeMap = this.finishScheduleProcessSfdcTimeHist(site, orderNo, itemNo, seqNo, username, reportedTime);
//获取最后的序号
int histSeqNo = Integer.parseInt(String.valueOf(timeMap.get("histSeqNo")));
//3.调用存储过程处理 材料历史记录数据 以及原材料的数据
this.finishScheduleProcessSfdcMaterialHist(site, orderNo, itemNo, seqNo, reportedTime);
//4.调用存储过程处理 派工单和sfdc的信息
this.finishScheduleProcessSfdcAndSchedule(site, orderNo, itemNo, seqNo, histSeqNo, shiftDesc, username, reportedTime, scheduledDate);
//5.调用存储过程处理 transHeader TransDetail TransDetailSub数据
this.finishScheduleProcessTransData(site, orderNo, itemNo, seqNo, username, reportedTime);
//6.调用存储过程 处理异常信息
if ("Y".equalsIgnoreCase(exceptionFlag)) {
this.finishScheduleProcessException(site, orderNo, itemNo, seqNo, exceptionReason, username, reportedTime);
}
//7.调用SAP 处理程序
//8.反写交易记录表的SAP交易号
}
/**
* @Author LR
* @Description
* @DateTime 2022/2/8 14:18
* @Param [site, orderNo, itemNo, seqNo, exceptionReason, username]
* @return void
**/
public void finishScheduleProcessException(String site, String orderNo, Integer itemNo, String seqNo, String exceptionReason, String username, String reportedTime) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(exceptionReason);
params.add(username);
params.add(reportedTime);
//执行存储过程
procedureMapper.execProduceData("finishScheduleProcessException", params);
}
/**
* @Author LR
* @Description 调用存储过程处理 transHeader TransDetail TransDetailSub数据
* @DateTime 2022/2/8 14:12
* @Param [site, orderNo, itemNo, seqNo, username, reportedTime]
* @return void
**/
public void finishScheduleProcessTransData(String site, String orderNo, Integer itemNo, String seqNo, String username, String reportedTime) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(username);
params.add(reportedTime);
//调用存储过程
procedureMapper.getProcedureData("finishScheduleProcessTransData", params);
}
/**
* @Author LR
* @Description 调用存储过程处理 派工单和sfdc的信息
* @DateTime 2022/2/8 14:09
* @Param [site, orderNo, itemNo, seqNo, histSeqNo, shiftDesc, username, reportedTime, scheduledDate]
* @return void
**/
public void finishScheduleProcessSfdcAndSchedule(String site, String orderNo, Integer itemNo, String seqNo, int histSeqNo, String shiftDesc, String username, String reportedTime, String scheduledDate) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(histSeqNo);
params.add(shiftDesc);
params.add(username);
params.add(reportedTime);
params.add(scheduledDate);
//调用存储过程
procedureMapper.getProcedureData("finishScheduleProcessSfdcAndSchedule", params);
}
/**
* @Author LR
* @Description 调用存储过程 处理材料上机和原材料表的数据
* @DateTime 2022/2/8 13:56
* @Param [site, orderNo, itemNo, seqNo, reportedTime]
* @return void
**/
public void finishScheduleProcessSfdcMaterialHist(String site, String orderNo, Integer itemNo, String seqNo, String reportedTime) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(reportedTime);
//调用存储过程
procedureMapper.getProcedureData("finishScheduleProcessSfdcToolHist", params);
}
/**
* @Author LR
* @Description 调用存储过程处理时间的记录 并且返回最后一条的序号histSeqNo
* @DateTime 2022/2/8 13:43
* @Param [site, orderNo, itemNo, seqNo, username, reportedTime]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> finishScheduleProcessSfdcTimeHist(String site, String orderNo, Integer itemNo, String seqNo, String username, String reportedTime) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(username);
params.add(reportedTime);
//调用存储过程
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("finishScheduleProcessSfdcTimeHist", params);
//处理返回的结果
return resultList.get(0);
}
/**
* @Author LR
* @Description 处理工具的信息
* @DateTime 2022/2/8 13:25
* @Param [site, orderNo, itemNo, seqNo, reportedTime]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public void finishScheduleProcessSfdcToolHist(String site, String orderNo, Integer itemNo, String seqNo, String reportedTime) {
List<Object> params = new ArrayList<>();
params.add(site);
params.add(orderNo);
params.add(itemNo);
params.add(seqNo);
params.add(reportedTime);
//调用存储过程
procedureMapper.getProcedureData("finishScheduleProcessSfdcToolHist", params);
}
}
Loading…
Cancel
Save