Browse Source

添加报错的信息

master
rui_li 4 years ago
parent
commit
6034b36486
  1. 37
      src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java
  2. 18
      src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java
  3. 19
      src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java
  4. 123
      src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java
  5. 2
      src/main/resources/mapper/schedule/ScheduleMapper.xml

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

@ -752,15 +752,34 @@ public class ScheduleController {
.put("msg", "操作成功!");
}
/**
* TODO 检查是否可以结束卷操作
* @author LR
* @date 2022/1/13 16:55
* @param inMap
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "checkFinishRoll")
public R checkFinishRoll(@RequestBody Map<String, Object> inMap){
Map<String, Object> resultMap = scheduleService.checkFinishRoll(inMap);
return R.ok()
.put("resultMap", resultMap);
}
/**
* TODO 结束卷操作
* @author LR
* @date 2022/1/13 17:38
* @param inMap
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "finishRoll")
public R finishRoll(@RequestBody Map<String, Object> inMap){
scheduleService.finishRoll(inMap);
return R.ok()
.put("code", 200)
.put("success", true)
.put("msg", "操作成功!");
}
}

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

@ -67,6 +67,8 @@ public class SearchScheduleData extends BaseData {
private String defectCode;//不良代码
private Float defectQty;//不良的数量
private String toolInstanceId;//工具实例的编码
private String shiftNo;//班次信息
private Float approvedQty;//良品的总数量
public SearchScheduleData() {
}
@ -382,4 +384,20 @@ public class SearchScheduleData extends BaseData {
public void setToolInstanceId(String toolInstanceId) {
this.toolInstanceId = toolInstanceId;
}
public String getShiftNo() {
return shiftNo;
}
public void setShiftNo(String shiftNo) {
this.shiftNo = shiftNo;
}
public Float getApprovedQty() {
return approvedQty;
}
public void setApprovedQty(Float approvedQty) {
this.approvedQty = approvedQty;
}
}

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

@ -2,6 +2,7 @@ package com.gaotao.modules.schedule.service;
import com.gaotao.modules.schedule.data.*;
import com.gaotao.modules.shopOrder.entity.OperatorData;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -418,4 +419,22 @@ public interface ScheduleService {
* @return void
**/
void endTuningAndStartProduce(Map<String, Object> inMap);
/**
* TODO 检查是否可以结束卷操作
* @author LR
* @date 2022/1/13 16:56
* @param inMap
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
Map<String, Object> checkFinishRoll(@RequestBody Map<String, Object> inMap);
/**
* TODO 结束卷操作
* @author LR
* @date 2022/1/13 17:39
* @param inMap
* @return void
**/
void finishRoll(Map<String, Object> inMap);
}

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

@ -12,8 +12,8 @@ import com.gaotao.modules.shopOrder.entity.OperatorData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import javax.xml.transform.Result;
import java.math.BigDecimal;
import java.util.*;
@ -377,7 +377,7 @@ public class ScheduleServiceImpl implements ScheduleService {
//查询数据
List<Map<String, Object>> resultList = scheduleMapper.getSfdcTimeData(inData);
//判断是否查询到结果数据
if(resultList.size() > 0){
if(resultList.size() > 0 && resultList.get(0) != null){
result = resultList.get(0);
String strReportedSetupTime = String.valueOf(result.get("reportedSetupTime"));
//判断null
@ -465,7 +465,7 @@ public class ScheduleServiceImpl implements ScheduleService {
//按照条件查询当前的数据
List<SfdcData> resultList = scheduleMapper.getSfdcDataByCon(inData);
//判断是否查询到结果
if(resultList.size() > 0){
if(resultList.size() > 0 && resultList.get(0) != null){
return resultList.get(0);
}else{
return new SfdcData();
@ -1481,5 +1481,122 @@ 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");
//判断报工的数量是否为正整数
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("总良品数量不允许输入小数!");
}
}
}

2
src/main/resources/mapper/schedule/ScheduleMapper.xml

@ -690,7 +690,7 @@
</select>
<!--查询sfdc的时间数据-->
<select id="getSfdcTimeData" parameterType="SearchScheduleData" resultType="java.util.HashMap">
<select id="getSfdcTimeData" parameterType="SearchScheduleData" resultType="java.util.Map">
SELECT MAX(finishtime) finishTime, SUM(ReportedSetupTime) reportedSetupTime, SUM(ReportedManfTime) reportedManfTime,
SUM(Downtime) downTime, SUM(ReportedSetupDowntime) reportedSetupDowntime, SUM(ReportedManfDowntime) reportedManfDowntime
FROM SFDC

Loading…
Cancel
Save