From 90e87eec386968943e5697a4378a31d08f50edf4 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期四, 27 六月 2024 11:26:19 +0800
Subject: [PATCH] some NotNull error
---
pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
index e3b6538..3fa99a4 100644
--- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
+++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
@@ -31,6 +31,7 @@
private PrAssemblyPlanMapper assemblyPlanDao;
// private PrProductionProcessMapper processDao;
private PrProductionNodeMapper nodeDao;
+ private StaRepairInfoMapper repairInfoDao;
@Autowired
public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) {
this.deviceLastDao = deviceLastDao;
@@ -59,10 +60,14 @@
public void setNodeDao(PrProductionNodeMapper nodeDao) {
this.nodeDao = nodeDao;
}
+ @Autowired
+ public void setRepairInfoDao(StaRepairInfoMapper repairInfoDao) {
+ this.repairInfoDao = repairInfoDao;
+ }
public int save(QueryVo params) {
- long taskId = Long.parseLong(params.taskId);
- StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(taskId);
+ long workId = Long.parseLong(params.workId);
+ StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId);
if (workLast == null) {
throw new RuntimeException("宸ュ崟涓嶅瓨鍦�");
}
@@ -88,7 +93,7 @@
throw new RuntimeException("璁惧鍙锋湁涓斿彧鑳芥湁涓�涓�");
}
- StaDeviceLast deviceLast = saveDeviceLast(params, workLast, deviceList);
+ StaDeviceLast deviceLast = buildDeviceLast(params, workLast, deviceList.get(0));
int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) :
deviceLastDao.updateByPrimaryKeySelective(deviceLast);
@@ -117,22 +122,22 @@
deviceLifeDao.insertSelective(life);
}
- private StaDeviceLast saveDeviceLast(QueryVo params, StaAssemblyWorkLast workLast, List<String> deviceList){
+ private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast, String deviceNo){
//缁勮鏁版嵁
StaDeviceLast record = new StaDeviceLast();
- StaDeviceLast preRecord = deviceLastDao.selectByDeviceNo(deviceList.get(0));
+ StaDeviceLast preRecord = deviceLastDao.selectByDeviceNo(deviceNo);
if(preRecord != null){
record.id = preRecord.id;
record.inTime = preRecord.outTime;
}
record.outTime = new Date();
- record.setPlanId(workLast.planId);
- record.setClaimId(Long.parseLong(params.taskId));
- record.setStationId(workLast.stationId);
- record.setEquipNo(deviceList.get(0));
- record.setCurrNode(workLast.nodeId);
+ record.planId = workLast.planId;
+ record.workId = Long.parseLong(params.workId);
+ record.stationId = workLast.stationId;
+ record.equipNo = deviceNo;
+ record.currNode = workLast.nodeId;
// record.setNextNode(getNextNode(params.status,workLast.nodeId));
record.updatedBy = workLast.userId;
@@ -170,4 +175,42 @@
default -> throw new RuntimeException("鐘舵�侀敊璇�");
};
}
+
+ public int repair(QueryVo vo) {
+ long workId = Long.parseLong(vo.workId);
+ StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId);
+ if (workLast == null) {
+ throw new RuntimeException("宸ュ崟涓嶅瓨鍦�");
+ }
+ StaDeviceLast preDeviceRecord = deviceLastDao.selectByDeviceNo(vo.deviceNo);
+ StaRepairInfo repairInfo = new StaRepairInfo();
+ repairInfo.workId = workId;
+ repairInfo.equipNo = vo.deviceNo;
+ repairInfo.repairTime = new Date();
+ repairInfo.repairBy = workLast.userId;
+ repairInfo.repairReason = vo.errorMsg;
+ repairInfo.fromNode = preDeviceRecord.currNode;
+ repairInfoDao.insertSelective(repairInfo);
+
+ StaDeviceLast deviceLast = new StaDeviceLast();
+ BeanUtils.copyProperties(preDeviceRecord, deviceLast);
+ deviceLast.repairId = repairInfo.id;
+ deviceLast.errorCode = vo.errorMsg;
+ deviceLast.assistants = vo.assistants;
+ //濡傛灉鍘熻妭鐐规槸缁撴潫鑺傜偣鎴栦箣鍚庣殑鑺傜偣锛屾槸鍒欐洿鏂颁负瀹屾垚,鍚﹀垯鏇存柊涓虹粍瑁呬腑(榛樿缁翠慨鑺傜偣鐨勭姸鎬佸彧鑳戒负 纭畾鎴� 鎶ュ簾)
+ boolean isEndNode = nodeDao.isEndNode(preDeviceRecord.currNode);
+ if(QrCodeConstant.MarkWaste.equals(vo.status)){
+ deviceLast.status = STATUS_WASTE;
+ }else{
+ deviceLast.status = isEndNode? STATUS_COMPLETE:STATUS_OK;
+ }
+ int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) :
+ deviceLastDao.updateByPrimaryKeySelective(deviceLast);
+ saveDeviceProductionLog(deviceLast);
+
+ if (isEndNode) {
+ saveDeviceLife(deviceLast);
+ }
+ return count;
+ }
}
--
Gitblit v1.8.0