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", "操作成功!"); .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 String defectCode;//不良代码
private Float defectQty;//不良的数量 private Float defectQty;//不良的数量
private String toolInstanceId;//工具实例的编码 private String toolInstanceId;//工具实例的编码
private String shiftNo;//班次信息
private Float approvedQty;//良品的总数量
public SearchScheduleData() { public SearchScheduleData() {
} }
@ -382,4 +384,20 @@ public class SearchScheduleData extends BaseData {
public void setToolInstanceId(String toolInstanceId) { public void setToolInstanceId(String toolInstanceId) {
this.toolInstanceId = 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.schedule.data.*;
import com.gaotao.modules.shopOrder.entity.OperatorData; import com.gaotao.modules.shopOrder.entity.OperatorData;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -418,4 +419,22 @@ public interface ScheduleService {
* @return void * @return void
**/ **/
void endTuningAndStartProduce(Map<String, Object> inMap); 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import javax.xml.transform.Result;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
@ -377,7 +377,7 @@ public class ScheduleServiceImpl implements ScheduleService {
//查询数据 //查询数据
List<Map<String, Object>> resultList = scheduleMapper.getSfdcTimeData(inData); List<Map<String, Object>> resultList = scheduleMapper.getSfdcTimeData(inData);
//判断是否查询到结果数据 //判断是否查询到结果数据
if(resultList.size() > 0){
if(resultList.size() > 0 && resultList.get(0) != null){
result = resultList.get(0); result = resultList.get(0);
String strReportedSetupTime = String.valueOf(result.get("reportedSetupTime")); String strReportedSetupTime = String.valueOf(result.get("reportedSetupTime"));
//判断null //判断null
@ -465,7 +465,7 @@ public class ScheduleServiceImpl implements ScheduleService {
//按照条件查询当前的数据 //按照条件查询当前的数据
List<SfdcData> resultList = scheduleMapper.getSfdcDataByCon(inData); List<SfdcData> resultList = scheduleMapper.getSfdcDataByCon(inData);
//判断是否查询到结果 //判断是否查询到结果
if(resultList.size() > 0){
if(resultList.size() > 0 && resultList.get(0) != null){
return resultList.get(0); return resultList.get(0);
}else{ }else{
return new SfdcData(); return new SfdcData();
@ -1481,5 +1481,122 @@ public class ScheduleServiceImpl implements ScheduleService {
procedureMapper.execProduceData("endTuning", params); 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> </select>
<!--查询sfdc的时间数据--> <!--查询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, SELECT MAX(finishtime) finishTime, SUM(ReportedSetupTime) reportedSetupTime, SUM(ReportedManfTime) reportedManfTime,
SUM(Downtime) downTime, SUM(ReportedSetupDowntime) reportedSetupDowntime, SUM(ReportedManfDowntime) reportedManfDowntime SUM(Downtime) downTime, SUM(ReportedSetupDowntime) reportedSetupDowntime, SUM(ReportedManfDowntime) reportedManfDowntime
FROM SFDC FROM SFDC

Loading…
Cancel
Save