From 91ab1a15515c4c213b2ac4f777a7f20c3d0d59ad Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 28 三月 2025 13:49:53 +0800
Subject: [PATCH] 一个订单在每个站点检验都需要扫码入库报检,在中间站点复核继续试验之后默认自动将样品出库,且在列表中也不需要再展示出来,到最后一步复核结束反而是需要手动去出库不能自动出库,且出库之后也不需要在页面展示
---
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java | 1
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java | 9 ++-
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 2
inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java | 22 +-----
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 87 ++++++++++++++++------------
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 2
6 files changed, 65 insertions(+), 58 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index d171ba1..124f203 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -264,7 +264,7 @@
}
@ValueClassify("妫�楠屼换鍔�")
- @ApiOperation(value = "鎵爜鍑哄簱")
+ @ApiOperation(value = "鎵爜鍑哄簱(鍙湁澶嶆牳缁撴潫鎵嶄細璋冪敤)")
@PostMapping("/outInsOrderState")
public Result outInsOrderState(String sonLaboratory, String sampleCode,String entrustCode) {
return Result.success(insOrderPlanService.outInsOrderState(sonLaboratory, sampleCode,entrustCode));
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
index e940323..598a81b 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -13,14 +13,14 @@
import lombok.Getter;
/**
- *
+ *
* @TableName ins_order_state
*/
@TableName(value ="ins_order_state")
@Data
public class InsOrderState implements Serializable {
/**
- *
+ *
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@@ -104,4 +104,7 @@
@ApiModelProperty("鍏宠仈 鏍峰搧澶栭敭id")
private Integer insSampleId;
-}
\ No newline at end of file
+ @ApiModelProperty("鏄惁鍑哄簱")
+ private Integer isOut;
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 87074d2..8851ed4 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -437,10 +437,17 @@
insOrderState.setNum(1);//鍒濆鏄涓�娆�
insOrderStateMapper.insert(insOrderState);
}
+ //鍚屼竴鏍峰搧鍦ㄥ叾浠栫珯鐐瑰叆搴撲箣鍚庨渶瑕佸皢鍏朵粬绔欑偣鐨勪换鍔′笉鏄剧ず
+ insOrderStateMapper.update(null,Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId,insSample.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId,insSample.getId())
+ .eq(InsOrderState::getInsState,6)//澶嶆牳缁х画璇曢獙
+ .ne(InsOrderState::getLaboratory,sonLaboratory)
+ .set(InsOrderState::getIsOut,1));//涓嶆樉绀�
return 1;
}
- //鎵爜鍑哄簱
+ //鎵爜鍑哄簱(鍙湁澶嶆牳缁撴潫鎵嶄細璋冪敤)
@Override
public int outInsOrderState(String sonLaboratory, String sampleCode, String entrustCode) {
//鍒ゆ柇璇ユ牱鍝佺殑妫�楠屼换鍔℃槸鍚﹀凡缁忕粨鏉�(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
@@ -455,22 +462,16 @@
if (!collect.contains(sonLaboratory)) {
throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
}
+ //鍒ゆ柇璇ヤ换鍔℃槸鍚︽槸缁撴潫璇曢獙
//鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
- List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
- .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
- .eq(InsOrderState::getInsState, 5));//缁撴潫璇曢獙
- if (CollectionUtils.isEmpty(orderStates)) {
- List<InsOrderState> orderStates1 = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
- .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
- .eq(InsOrderState::getInsSampleId, insSample.getId())
- .eq(InsOrderState::getLaboratory, sonLaboratory)
- .eq(InsOrderState::getInsState, 6));//缁х画璇曢獙
- if (CollectionUtils.isEmpty(orderStates1)) {
- throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!");
- }
+ InsOrderState orderStates = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
+ .eq(InsOrderState::getLaboratory,sonLaboratory)
+ .eq(InsOrderState::getInsSampleId, insSample.getId())
+ .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()));
+ if (orderStates.getInsState()!=5) {
+ throw new ErrorException("褰撳墠鏍峰搧鐨勭珯鐐逛换鍔″苟涓嶆槸澶嶆牳鐨勭粨鏉熻瘯楠�,鏃犻渶鎵嬪姩鍑哄簱!");
}
- boolean a = true;
- warehouseService.outWarehouse(sampleCode, a, entrustCode);
+ warehouseService.outWarehouse(sampleCode, true, entrustCode);
return 0;
}
@@ -1189,6 +1190,15 @@
.set(InsOrderState::getInsState, 6)
.set(InsOrderState::getVerifyTell, tell)
.set(InsOrderState::getVerifyUser, userId));
+ //缁х画璇曢獙鑷姩鍑哄簱
+ WarehouseHistory history = new WarehouseHistory();
+ history.setState(2);
+ history.setInsSampleId(sampleId);
+ history.setCellId(insSample.getCellId());
+ history.setWarehouseCode(warehouseHistoryMapper.selectOne(Wrappers.<WarehouseHistory>lambdaQuery()
+ .eq(WarehouseHistory::getInsSampleId, sampleId).select(WarehouseHistory::getWarehouseCode).orderByDesc(WarehouseHistory::getId).last("limit 1")).getWarehouseCode());
+ insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate().eq(InsSample::getId, sampleId).set(InsSample::getCellId, null));
+ warehouseHistoryMapper.insert(history);
break;
case 2:
//缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
@@ -1200,21 +1210,17 @@
.set(InsOrderState::getVerifyTell, tell)
.set(InsOrderState::getVerifyUser, userId));
//缁撴潫涔嬪悗灏嗚璁㈠崟鐨勬墍鏈夋牱鍝佸叏閮ㄥ嚭搴�
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
- .eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
- for (InsSample sample : insSamples) {
- try{
- outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
- }catch (Exception e){
-
- }
- }
+// List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+// .eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
+// for (InsSample sample : insSamples) {
+// try{
+// outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+// }catch (Exception e){
+// }
+// }
/*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
createReport(insOrder.getId(),insReportDto1s);
- //璇ヨ鍗曢棴鐜�
- insOrder.setState(4);
- insOrderMapper.updateById(insOrder);
break;
}
}
@@ -1269,6 +1275,16 @@
.set(InsOrderState::getVerifyTell, tell)
.set(InsOrderState::getVerifyUser, userId));
}
+ //缁х画璇曢獙闇�瑕佸嚭搴�
+ WarehouseHistory history = new WarehouseHistory();
+ history.setState(2);
+ history.setInsSampleId(sampleId);
+ history.setCellId(insSample.getCellId());
+ history.setWarehouseCode(warehouseHistoryMapper.selectOne(Wrappers.<WarehouseHistory>lambdaQuery()
+ .eq(WarehouseHistory::getInsSampleId, sampleId).select(WarehouseHistory::getWarehouseCode).orderByDesc(WarehouseHistory::getId).last("limit 1")).getWarehouseCode());
+ insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate()
+ .eq(InsSample::getId, sampleId).set(InsSample::getCellId, null));
+ warehouseHistoryMapper.insert(history);
break;
case 2:
//缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
@@ -1292,19 +1308,16 @@
.set(InsOrderState::getVerifyUser, userId));
}
//鍑哄簱
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
- for (InsSample sample : insSamples) {
- try{
- outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
- }catch (Exception e){
- }
- }
+// List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
+// for (InsSample sample : insSamples) {
+// try{
+// outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+// }catch (Exception e){
+// }
+// }
/*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
createReport(insOrder.getId(),insReportDto1s);
- //璁㈠崟闂幆
- insOrder.setState(4);
- insOrderMapper.updateById(insOrder);
break;
}
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
index 4c41723..e37c5f2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
@@ -190,28 +190,12 @@
}
List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
.eq(InsSample::getSampleCode, sampleCode)
- .eq(InsSample::getInsOrderId,insOrders.get(0).getId())
- .select(InsSample::getId,InsSample::getCellId));
+ .eq(InsSample::getInsOrderId,insOrders.get(0).getId()));
if(samples.size()!=1){
throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
}
if(samples.get(0).getCellId()==null){
throw new ErrorException("鏍峰搧 " + sampleCode + " 鏈叆搴�");
- }
- if (!a) {
- //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
- List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
- .eq(InsOrderState::getInsOrderId, samples.get(0).getInsOrderId())
- .eq(InsOrderState::getInsState, 5));
- List<Integer> orderIds = new ArrayList<Integer>();
- orderIds.add(6);
- if (CollectionUtils.isEmpty(orderStates)) {
- List<Integer> collect = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
- .eq(InsOrderState::getInsOrderId, samples.get(0).getInsOrderId())).stream().map(InsOrderState::getInsState).distinct().collect(Collectors.toList());
- if (collect.size()!=0 && !collect.containsAll(orderIds)) {
- throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!");
- }
- }
}
WarehouseHistory history = new WarehouseHistory();
history.setState(2);
@@ -219,6 +203,10 @@
history.setCellId(samples.get(0).getCellId());
history.setWarehouseCode(warehouseHistoryMapper.selectOne(Wrappers.<WarehouseHistory>lambdaQuery().eq(WarehouseHistory::getInsSampleId, samples.get(0).getId()).select(WarehouseHistory::getWarehouseCode).orderByDesc(WarehouseHistory::getId).last("limit 1")).getWarehouseCode());
insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate().eq(InsSample::getId, samples.get(0).getId()).set(InsSample::getCellId, null));
+ //璇ヨ鍗曢棴鐜�
+ InsOrder insOrder = insOrders.get(0);
+ insOrder.setState(4);
+ insOrderMapper.updateById(insOrder);
return warehouseHistoryMapper.insert(history);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index 88a129d..5806b7d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -64,5 +64,6 @@
private Integer sort;
private Integer version;
private Integer num1;
+ private Integer isOut;
}
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index cfae4bb..f9bc603 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -29,6 +29,7 @@
SELECT
a.*,
ios.ins_state,
+ ios.is_out,
ios.laboratory son_laboratory,
ios.verify_tell,
verify_user,
@@ -94,6 +95,7 @@
ios.create_time
) b
where ins_state is not null
+ and (is_out is null or is_out !=1)
and son_laboratory=#{sonLaboratory}
and state =1
<if test="laboratory!=null and laboratory!=''">
--
Gitblit v1.9.3