|
|
|
@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.web.bind.annotation.RequestBody; |
|
|
|
|
|
|
|
import javax.jws.soap.SOAPBinding; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
@ -447,9 +448,9 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
result.put("sfdcDownTime", sfdcDownTime); |
|
|
|
result.put("sfdcSetupDownTime", sfdcSetupDownTime); |
|
|
|
result.put("sfdcProdSetupTime", sfdcProdSetupTime); |
|
|
|
result.put("code", "200"); |
|
|
|
result.put("resultCode", "200"); |
|
|
|
}else{ |
|
|
|
result.put("code", "500"); |
|
|
|
result.put("resultCode", "500"); |
|
|
|
result.put("sfdcProdTime", 0); |
|
|
|
result.put("sfdcSetupTime", 0); |
|
|
|
result.put("sfdcManufactureTime", 0); |
|
|
|
@ -1498,6 +1499,7 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
Float approvedQty = pageData.getApprovedQty(); |
|
|
|
Date scheduleDate = pageData.getScheduleDate(); |
|
|
|
String scheduleTime = DateUtil.getStringDate(scheduleDate, "yyyy-MM-dd"); |
|
|
|
String reportedTime = pageData.getReportedTime(); |
|
|
|
//判断报工的数量是否为正整数 |
|
|
|
Double remainderQty = approvedQty % 1.0; |
|
|
|
if(remainderQty > 0){ |
|
|
|
@ -1599,4 +1601,122 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Float countToolUsedQty(SearchScheduleData inData) { |
|
|
|
Float usedQty = scheduleMapper.countToolUsedQty(inData); |
|
|
|
//null判断 |
|
|
|
if(null == usedQty){ |
|
|
|
usedQty = 0f; |
|
|
|
} |
|
|
|
return usedQty; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> checkConnectToolInstanceId(SearchScheduleData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String oriToolInstanceId = inData.getOriToolInstanceId(); |
|
|
|
String toolInstanceId = inData.getToolInstanceId(); |
|
|
|
Integer histSeqNo = inData.getHistSeqNo(); |
|
|
|
String reportDate = inData.getReportDate(); |
|
|
|
String reportTime = inData.getReportTime(); |
|
|
|
String currentTime = reportDate + " " + reportTime; |
|
|
|
|
|
|
|
//调用存储过程判断是否可以上工具 |
|
|
|
Map<String, Object> checkMap = this.checkProcessToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, currentTime); |
|
|
|
//判断是否检验成功 |
|
|
|
String checkFlag = String.valueOf(checkMap.get("resultCode")); |
|
|
|
if (!"Y".equalsIgnoreCase(checkFlag)){ |
|
|
|
throw new RRException("当前卷号不在调试过程中,不允许上/更换工具!"); |
|
|
|
} |
|
|
|
|
|
|
|
//调用是否可以切换刀具的存储过程 |
|
|
|
Map<String, Object> resultMap = this.checkConnectToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, oriToolInstanceId, toolInstanceId, histSeqNo); |
|
|
|
//判断是否检验成功 |
|
|
|
String code = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code)){ |
|
|
|
String msg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new RRException(msg); |
|
|
|
} |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 是否可以切换刀具的存储过程 |
|
|
|
* @author LR |
|
|
|
* @date 2022/1/19 10:46 |
|
|
|
* @return java.util.Map<java.lang.String, java.lang.Object> |
|
|
|
**/ |
|
|
|
public Map<String, Object> checkConnectToolInstanceId(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, |
|
|
|
String oriToolInstanceId, String toolInstanceId, Integer histSeqNo) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(orderNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(seqNo); |
|
|
|
params.add(rollNo); |
|
|
|
params.add(oriToolInstanceId); |
|
|
|
params.add(toolInstanceId); |
|
|
|
params.add(histSeqNo); |
|
|
|
//执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureMapper.getProcedureData("checkConnectToolInstanceId", params); |
|
|
|
//返回执行的结果 |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void connectToolInstanceId(SearchScheduleData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String orderNo = inData.getOrderNo(); |
|
|
|
Integer itemNo = inData.getItemNo(); |
|
|
|
String seqNo = inData.getSeqNo(); |
|
|
|
String rollNo = inData.getRollNo(); |
|
|
|
String oriToolInstanceId = inData.getOriToolInstanceId(); |
|
|
|
String toolInstanceId = inData.getToolInstanceId(); |
|
|
|
Integer histSeqNo = inData.getHistSeqNo(); |
|
|
|
String username = inData.getOperatorId(); |
|
|
|
String reportDate = inData.getReportDate(); |
|
|
|
String reportTime = inData.getReportTime(); |
|
|
|
String currentTime = reportDate + " " + reportTime; |
|
|
|
Float consumeQty = inData.getConsumeQty(); |
|
|
|
Float downTimeQty = inData.getDownTimeQty(); |
|
|
|
//线调用检查方法 |
|
|
|
Map<String, Object> resultMap = this.checkConnectToolInstanceId(inData); |
|
|
|
|
|
|
|
//然后执行存储过程换刀 |
|
|
|
this.connectToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, oriToolInstanceId, toolInstanceId, histSeqNo, consumeQty, downTimeQty, username, currentTime); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* TODO 存储过程换刀 |
|
|
|
* @author LR |
|
|
|
* @date 2022/1/19 15:14 |
|
|
|
* @return void |
|
|
|
**/ |
|
|
|
public void connectToolInstanceId(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String oriToolInstanceId, String toolInstanceId, |
|
|
|
Integer histSeqNo, Float consumeQty, Float downTimeQty, 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(oriToolInstanceId); |
|
|
|
params.add(toolInstanceId); |
|
|
|
params.add(histSeqNo); |
|
|
|
params.add(consumeQty); |
|
|
|
params.add(downTimeQty); |
|
|
|
params.add(username); |
|
|
|
params.add(currentTime); |
|
|
|
//执行存储过程 |
|
|
|
procedureMapper.execProduceData("connectToolInstanceId", params); |
|
|
|
} |
|
|
|
|
|
|
|
} |