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