From 1c29c7e5e4f0000a5cec53d85a5155595e31ade7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 8 Aug 2026 11:36:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E8=B0=83=E6=95=B4=E5=A4=87?= =?UTF-8?q?=E6=B3=A8;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/InMaterialDetail.java | 24 +++++++-- .../StockInOrderApplicationService.java | 5 ++ .../entity/InMaterialDetail.java | 16 ++++++ .../repository/po/InMaterialDetailPO.java | 16 ++++++ .../repository/todo/InMaterialDetailDO.java | 16 ++++++ .../repository/mapper/StockInOrderMapper.java | 2 + .../service/StockInOrderDomainService.java | 49 +++++++++++++++++++ .../inMaterialDetail/InMaterialDetailDTO.java | 17 +++++++ .../stockInOrder/StockInOrderApi.java | 22 +++++++++ .../stockInOrder/StockInOrderMapper.xml | 10 ++++ 10 files changed, 174 insertions(+), 3 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java index 00e1e3e2b..ff112e22d 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java @@ -240,9 +240,7 @@ public class InMaterialDetail extends BaseVOEntity { @ApiModelProperty("父级唯一Id") private Long parentUniqueId; - @ApiModelProperty("备注") - @Excel(name = "备注") - private String remark; + @ApiModelProperty("越库单id") private Long overStockId; @@ -376,4 +374,24 @@ public class InMaterialDetail extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") + @Excel(name = "来货验收是否合格;1 合格,0 不合格") + private String arrivalAcceptQualified; + + @ApiModelProperty("包装是否破损;1 破损,0 完好") + @Excel(name = "包装是否破损;1 破损,0 完好") + private String packageDamaged; + + @ApiModelProperty("是否解冻 / 水渍;1 是,0 否") + @Excel(name = "是否解冻 / 水渍;1 是,0 否") + private String isThawWaterstain; + + @ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知") + @Excel(name = "问题货是否已通知客户;1 已通知,0 未通知") + private String notifyCustomerAbnormal; + + @ApiModelProperty("备注") + @Excel(name = "备注") + private String remark; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index e854a3ad0..445129c53 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -739,6 +739,11 @@ public class StockInOrderApplicationService { return b; } + public Boolean remarkEasyMode(StockInOrderDO stockInOrderDO){ + Boolean b = stockInOrderDomainService.remarkEasyMode(stockInOrderDO); + return b; + } + public Boolean updateQuantity( BigDecimal quantity, Long materialDetailId,BigDecimal area, BigDecimal volume,BigDecimal weight){ Boolean result = false; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java index 3d592e406..a9e0f5e26 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java @@ -399,6 +399,22 @@ public class InMaterialDetail extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") + @Excel(name = "来货验收是否合格;1 合格,0 不合格") + private String arrivalAcceptQualified; + + @ApiModelProperty("包装是否破损;1 破损,0 完好") + @Excel(name = "包装是否破损;1 破损,0 完好") + private String packageDamaged; + + @ApiModelProperty("是否解冻 / 水渍;1 是,0 否") + @Excel(name = "是否解冻 / 水渍;1 是,0 否") + private String isThawWaterstain; + + @ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知") + @Excel(name = "问题货是否已通知客户;1 已通知,0 未通知") + private String notifyCustomerAbnormal; + //订单行号 private String lineNumGw; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java index b53b7a071..03c5ff163 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java @@ -424,6 +424,22 @@ public class InMaterialDetailPO extends StockInOrderBasePO { @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") + @Excel(name = "来货验收是否合格;1 合格,0 不合格") + private String arrivalAcceptQualified; + + @ApiModelProperty("包装是否破损;1 破损,0 完好") + @Excel(name = "包装是否破损;1 破损,0 完好") + private String packageDamaged; + + @ApiModelProperty("是否解冻 / 水渍;1 是,0 否") + @Excel(name = "是否解冻 / 水渍;1 是,0 否") + private String isThawWaterstain; + + @ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知") + @Excel(name = "问题货是否已通知客户;1 已通知,0 未通知") + private String notifyCustomerAbnormal; + //订单行号 private String lineNumGw; //物料规格 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java index 10474e43a..4a8c8c94b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java @@ -390,6 +390,22 @@ public class InMaterialDetailDO extends StockInOrderBaseDO { @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") + @Excel(name = "来货验收是否合格;1 合格,0 不合格") + private String arrivalAcceptQualified; + + @ApiModelProperty("包装是否破损;1 破损,0 完好") + @Excel(name = "包装是否破损;1 破损,0 完好") + private String packageDamaged; + + @ApiModelProperty("是否解冻 / 水渍;1 是,0 否") + @Excel(name = "是否解冻 / 水渍;1 是,0 否") + private String isThawWaterstain; + + @ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知") + @Excel(name = "问题货是否已通知客户;1 已通知,0 未通知") + private String notifyCustomerAbnormal; + //订单行号 private String lineNumGw; //物料规格 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java index 15c9d20b5..11339ec85 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java @@ -32,4 +32,6 @@ public interface StockInOrderMapper extends BaseMapper StockInOrderPO selectByInOrderNumber(@Param("inOrderNumber") String inOrderNumber); String queryWarehouseUserId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId, @Param("topOrganizationId") Long topOrganizationId); + + void updateExecution(@Param("inOrderNumber") String inOrderNumber, @Param("remark") String remark); } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index 0f88de5fe..dcb7f235b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -45,6 +45,7 @@ import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailP import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO; import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService; +import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper; import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO; import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO; import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder; @@ -85,6 +86,8 @@ public class StockInOrderDomainService { @Autowired private IStockInOrderService stockInOrderService; @Autowired + private StockInOrderMapper stockInOrderMapper; + @Autowired private IInMaterialDetailService materialDetailService; @Autowired private StockReceiptOrderDomainService stockReceiptOrderDomainService; @@ -544,6 +547,52 @@ public class StockInOrderDomainService { .in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds())); } + + @Transactional(rollbackFor = Exception.class) + public Boolean remarkEasyMode(StockInOrderDO stockInOrderDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + + String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null + ? loginUser.getUserPo().getUserName() + : (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername()); + String inOrderNumber = stockInOrderDO.getInOrderNumber(); + + List materialDetailList = stockInOrderDO.getMaterialDetailList(); + List receiptMaterialDetailList = materialDetailList.stream() + .filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0) + .collect(Collectors.toList()); + String orderRemark = stockInOrderDO.getRemark(); + if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) { + for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) { + String notifyCustomerAbnormal = inMaterialDetailDO.getNotifyCustomerAbnormal(); + String isThawWaterstain = inMaterialDetailDO.getIsThawWaterstain(); + String packageDamaged = inMaterialDetailDO.getPackageDamaged(); + String arrivalAcceptQualified = inMaterialDetailDO.getArrivalAcceptQualified(); + String remark = inMaterialDetailDO.getRemark(); + Long materialDetailId = inMaterialDetailDO.getMaterialDetailId(); + InMaterialDetail inMaterialDetail = materialDetailService.getById(materialDetailId); + inMaterialDetail.setNotifyCustomerAbnormal(notifyCustomerAbnormal); + inMaterialDetail.setIsThawWaterstain(isThawWaterstain); + inMaterialDetail.setPackageDamaged(packageDamaged); + inMaterialDetail.setArrivalAcceptQualified(arrivalAcceptQualified); + inMaterialDetail.setRemark(remark); + orderRemark = orderRemark + "," + remark; + materialDetailService.updateById(inMaterialDetail); + } + } + if (orderRemark != null && !orderRemark.isEmpty()) { + String[] remarks = orderRemark.split(","); + List list = Arrays.asList(remarks); + orderRemark = list.stream().distinct().collect(Collectors.joining(",")); + stockInOrderService.update(null, new UpdateWrapper().lambda() + .set(StockInOrder::getRemark, orderRemark) + .eq(StockInOrder::getInOrderNumber, inOrderNumber) + .eq(StockInOrder::getDelFlag, 1)); + stockInOrderMapper.updateExecution(inOrderNumber, orderRemark); + } + return true; + } + @Transactional(rollbackFor = Exception.class) public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java index 4895b9d89..a467d6816 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java @@ -387,6 +387,23 @@ public class InMaterialDetailDTO extends BaseVOEntity { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") + @Excel(name = "来货验收是否合格;1 合格,0 不合格") + private String arrivalAcceptQualified; + + @ApiModelProperty("包装是否破损;1 破损,0 完好") + @Excel(name = "包装是否破损;1 破损,0 完好") + private String packageDamaged; + + @ApiModelProperty("是否解冻 / 水渍;1 是,0 否") + @Excel(name = "是否解冻 / 水渍;1 是,0 否") + private String isThawWaterstain; + + @ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知") + @Excel(name = "问题货是否已通知客户;1 已通知,0 未通知") + private String notifyCustomerAbnormal; + //订单行号 private String lineNumGw; //物料规格 diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java index f277c2dd7..b90157e39 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java @@ -238,6 +238,28 @@ public class StockInOrderApi extends BaseController { return AjaxResult.success(stockInOrderApplicationService.receiptEasyMode(stockInOrderDO)); } + + /** + * 审核入库单 + */ + @ApiOperation("pda简易模式调整备注") + @PostMapping(value = "/remarkEasyMode") + public AjaxResult remarkEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) { + StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO); + List materialDetailList = stockInOrderDTO.getMaterialDetailList(); + if (materialDetailList != null && !materialDetailList.isEmpty()) { + List inMaterialDetailDOList = new ArrayList<>(); + for (InMaterialDetailDTO dto : materialDetailList) { + InMaterialDetailDO detailDO = new InMaterialDetailDO(); + BeanUtils.copyProperties(dto, detailDO); + inMaterialDetailDOList.add(detailDO); + } + stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList); + } + + return AjaxResult.success(stockInOrderApplicationService.remarkEasyMode(stockInOrderDO)); + } + @ApiOperation("pda简易模式修改计划数量") @GetMapping(value = "/updateQuantity") public AjaxResult updateQuantity(@RequestParam BigDecimal quantity, diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 86c64e874..52da122af 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -609,4 +609,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE warehouse_id = #{warehouseId} AND del_flag = 1 AND organization_id = #{organizationId} AND top_organization_id = #{topOrganizationId} + + + update NGWL_TEST_OMS.EXECUTION_STOCK_IN_ORDER + + NOTICE_REMARK = #{remark}, + update_time = sysdate() + + where in_order_number = #{inOrderNumber} and del_flag = 1 + + \ No newline at end of file