From d2a9458b30541d5ce0bf1a11ad96e045519808bc Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 19 Mar 2026 09:09:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=20=20=20=20=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E8=BF=9B=E4=BB=93=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/web/emis/EmisCommonController.java | 2 +- .../emis/EmisWarehouseInBatchController.java | 95 ++++++++++++++++++- .../erp/emis/domain/EmisWarehouseIn.java | 17 ++-- .../service/IEmisWarehouseInBatchService.java | 20 ++-- .../emis/service/IEmisWarehouseInService.java | 8 ++ .../impl/EmisWarehouseInBatchServiceImpl.java | 68 ++++++++++--- .../impl/EmisWarehouseInServiceImpl.java | 61 ++++++++++-- .../mapper/EmisWarehouseInMapper.xml | 19 ++-- 8 files changed, 238 insertions(+), 52 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index ade656057..bb705bcf5 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -1371,7 +1371,7 @@ public class EmisCommonController extends EmisBaseController @RequestMapping("/reCalcWareHouseInTotalInfo") public void reCalcWareHouseInTotalInfo(String settleBillNo) { try{ - emisWarehouseInBatchService.reCalcWareHouseInTotalInfo(settleBillNo); + emisWarehouseInBatchService.reCalcWareHouseInTotalInfo(settleBillNo,null); } catch (Exception ex){ ex.printStackTrace(); diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java index ec31376cd..64d507c54 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWarehouseInBatchController.java @@ -1,16 +1,17 @@ -/** +/** * @Project: emis * @Title: EmisWarehouseInBatchController.java * @author linfso * @date 2024-05-22 00:20:32 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

进仓单批次 控制器

*/ package com.xdadan.erp.web.emis; +import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -27,19 +28,20 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.xdadan.erp.common.annotation.Log; -import com.xdadan.erp.common.core.controller.BaseController; import com.xdadan.erp.common.core.domain.AjaxResult; import com.xdadan.erp.common.core.page.TableDataInfo; import com.xdadan.erp.common.enums.BusinessType; import com.xdadan.erp.common.utils.StringUtils; import com.xdadan.erp.common.utils.poi.ExcelUtil; +import com.xdadan.erp.emis.domain.EmisWarehouseIn; import com.xdadan.erp.emis.domain.EmisWarehouseInBatch; +import com.xdadan.erp.emis.service.IEmisWarehouseInService; import com.xdadan.erp.emis.service.IEmisWarehouseInBatchService; /** * 进仓单批次Controller - * + * * @author linfso * @date 2024-05-22 00:20:32 */ @@ -50,6 +52,9 @@ public class EmisWarehouseInBatchController extends EmisBaseController @Autowired private IEmisWarehouseInBatchService emisWarehouseInBatchService; + @Autowired + private IEmisWarehouseInService emisWarehouseInService; + /** * 查询进仓单批次列表 */ @@ -113,6 +118,88 @@ public class EmisWarehouseInBatchController extends EmisBaseController } } + /** + * 合并进仓登记 + */ + @PreAuthorize("@ss.hasPermi('emis:emisWarehouseInBatch:mergeRegisterWarehouseInInfo')") + @Log(title = "合并进仓登记", businessType = BusinessType.INSERT) + @RequestMapping("/mergeRegisterWarehouseInInfo") + public AjaxResult mergeRegisterWarehouseInInfo(@RequestBody List batchList) + { + if (batchList == null || batchList.isEmpty()) { + return AjaxResult.error("进仓批次列表不能为空"); + } + + int successCount = 0; + try { + // 1) 基于 inNo 查询进仓单状态 + // - stockInFlag=1:已入仓,不可合并 + // - stockInFlag=2:必须保证 warehouseInBatchNo 全部一致,否则不可合并 + String expectedWarehouseInBatchNo = null; + for (EmisWarehouseInBatch item : batchList) { + if (item == null || StringUtils.isEmpty(item.getInNo())) { + throw new EmisBizError("进仓单号不能为空"); + } + + EmisWarehouseIn warehouseIn = emisWarehouseInService.selectEmisWarehouseInByInNo(item.getInNo()); + if (warehouseIn == null) { + throw new EmisBizError("进仓单不存在"); + } + + if ("1".equals(warehouseIn.getStockInFlag())) { + return AjaxResult.error(warehouseIn.getBillCode() + "已入仓,不可合并入仓"); + } + + if ("2".equals(warehouseIn.getStockInFlag())) { + String curBatchNo = warehouseIn.getWarehouseInBatchNo(); + if (StringUtils.isEmpty(expectedWarehouseInBatchNo)) { + expectedWarehouseInBatchNo = curBatchNo; + } else if (!StringUtils.equals(expectedWarehouseInBatchNo, curBatchNo)) { + return AjaxResult.error("不同批次的进仓单,无法合并进仓"); + } + } + } + + // 2) 合并进仓的 warehouseInBatchNo 保持一致 + // - 若存在部分入仓(stockInFlag=2),沿用其 warehouseInBatchNo + // - 否则优先取第一条的 inBatchNo(前端传入),为空则生成一个新的 + String mergeInBatchNo = expectedWarehouseInBatchNo; + if (StringUtils.isEmpty(mergeInBatchNo)) { + mergeInBatchNo = batchList.get(0).getInBatchNo(); + } + if (StringUtils.isEmpty(mergeInBatchNo)) { + mergeInBatchNo = "JC" + System.currentTimeMillis(); + } + + for (EmisWarehouseInBatch item : batchList) { + item.getParams().put("warehouseInBatchNo",mergeInBatchNo); + successCount += emisWarehouseInBatchService.insertEmisWarehouseInBatch(item); + } + return toAjax(successCount); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } + } + + /** + * 确认进仓完成(仅允许部分入仓 stockInFlag=2 的运单) + * 前端传一个或多个 EmisWarehouseIn.id + */ + @PreAuthorize("@ss.hasPermi('emis:emisWarehouseInBatch:confirmStockInComplete')") + @Log(title = "确认进仓完成", businessType = BusinessType.UPDATE) + @GetMapping("/confirmStockInComplete/{ids}") + public AjaxResult confirmStockInComplete(@PathVariable Long[] ids) + { + try { + int rows = emisWarehouseInService.confirmStockInCompleteByIds(Arrays.asList(ids)); + return toAjax(rows); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } + } + /** * 修改进仓单批次 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java index 5ca55bc13..0c84c1d2d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java @@ -1,10 +1,10 @@ -/** +/** * @Project: emis * @Title: EmisWarehouseIn.java * @author linfso * @date 2024-05-22 00:20:31 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

进仓单 实体类

*/ @@ -14,17 +14,13 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.xdadan.erp.common.annotation.Excel; import com.xdadan.erp.common.core.domain.BaseEntity; -import com.xdadan.erp.common.core.domain.TreeEntity; -import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; import lombok.Data; +import lombok.EqualsAndHashCode; /** @@ -33,7 +29,8 @@ import lombok.Data; * @author linfso * @date 2024-05-22 00:20:31 */ - @Data +@Data +@EqualsAndHashCode(callSuper = true) public class EmisWarehouseIn extends BaseEntity { private static final long serialVersionUID = 1L; @@ -45,6 +42,8 @@ public class EmisWarehouseIn extends BaseEntity private String serialNo; /* 进仓单号 */ private String inNo; + /* 进仓批次号 */ + private String warehouseInBatchNo; /* 订单号 */ private String orderSn; /* 运单号 */ @@ -78,6 +77,7 @@ public class EmisWarehouseIn extends BaseEntity // --------- 扩展参数 + @TableField(exist = false) private EmisWaybill waybillDetail; // 是否已锁单 T,锁单原因 @@ -87,5 +87,6 @@ public class EmisWarehouseIn extends BaseEntity private String lockReason; // 入仓批次信息 + @TableField(exist = false) private List stockInBatchList; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java index 5667d4854..475accd6d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java @@ -1,10 +1,10 @@ - /** + /** * @Project: emis * @Title: EmisWarehouseInBatchService.java * @author linfso * @date 2024-05-22 00:20:32 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

进仓单批次 服务类接口

*/ package com.xdadan.erp.emis.service; @@ -19,18 +19,18 @@ import com.xdadan.erp.emis.domain.exception.EmisBizError; * @author linfso * @date 2024-05-22 00:20:32 */ -public interface IEmisWarehouseInBatchService +public interface IEmisWarehouseInBatchService { /** * 主键查询 * @param id - * @return + * @return */ public EmisWarehouseInBatch selectEmisWarehouseInBatchById(Long id); /** * 查询进仓单批次列表 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 进仓单批次集合 */ @@ -38,7 +38,7 @@ public interface IEmisWarehouseInBatchService /** * 新增进仓单批次 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ @@ -46,7 +46,7 @@ public interface IEmisWarehouseInBatchService /** * 修改进仓单批次 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ @@ -63,11 +63,11 @@ public interface IEmisWarehouseInBatchService * 重新计算总重量和总体积 * @param inNo */ - public void reCalcWareHouseInTotalInfo(String inNo); + public void reCalcWareHouseInTotalInfo(String inNo,String warehouseInBatchNo) throws EmisBizError; /** * 批量删除进仓单批次 - * + * * @param ids 需要删除的进仓单批次主键集合 * @return 结果 */ @@ -75,7 +75,7 @@ public interface IEmisWarehouseInBatchService /** * 删除进仓单批次信息 - * + * * @param id 进仓单批次主键 * @return 结果 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java index 726fdc704..77b38eb8b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInService.java @@ -77,4 +77,12 @@ public interface IEmisWarehouseInService * 根据进仓单号列表查询导出数据 */ List selectWarehouseInExportData(List inNos) throws EmisBizError; + + /** + * 手动确认进仓完成(仅允许部分入仓 stockInFlag=2 的运单) + * + * @param ids EmisWarehouseIn 主键集合 + * @return 更新成功条数 + */ + int confirmStockInCompleteByIds(List ids) throws EmisBizError; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java index 03c12834a..28ae3d465 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java @@ -1,21 +1,19 @@ - /** + /** * @Project: emis * @Title: EmisWarehouseInBatchServiceImpl.java * @author linfso * @date 2024-05-22 00:20:32 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

进仓单批次 实体类

*/ package com.xdadan.erp.emis.service.impl; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Date; import java.util.List; -import cn.hutool.core.collection.CollectionUtil; import com.xdadan.erp.common.utils.StringUtils; import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; @@ -34,7 +32,7 @@ import org.springframework.util.CollectionUtils; /** * 进仓单批次Service业务层处理 - * + * * @author linfso * @date 2024-05-22 00:20:32 */ @@ -52,7 +50,7 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements /** * 查询进仓单批次 - * + * * @param id 进仓单批次主键 * @return 进仓单批次 */ @@ -64,7 +62,7 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements /** * 查询进仓单批次列表 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 进仓单批次 */ @@ -76,7 +74,7 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements /** * 新增进仓单批次 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ @@ -160,14 +158,20 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements } // 重新计算入仓状态 - this.reCalcWareHouseInTotalInfo(emisWarehouseInBatch.getInNo()); + this.reCalcWareHouseInTotalInfo(emisWarehouseInBatch.getInNo(), (String) emisWarehouseInBatch.getParams().get("warehouseInBatchNo")); return 1; } // 重新计算总重量,总件数,总体积 @Override - public void reCalcWareHouseInTotalInfo(String inNo){ + public void reCalcWareHouseInTotalInfo(String inNo, String warehouseInBatchNo) throws EmisBizError { + // 查询进仓单(包含 waybillDetail),用于生成 inBatchNo & 设置 stock_in_flag + EmisWarehouseIn warehouseInDetail = emisWarehouseInMapper.selectEmisWarehouseInByInNo(inNo); + if (warehouseInDetail == null) { + throw new EmisBizError(EmisBizErrorType.FAIL, "进仓单不存在"); + } + // 获取入库列表 List batchList=emisWarehouseInBatchMapper.selectInBatchListByInNo(inNo); @@ -208,13 +212,51 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements emisWarehouseIn.setTotalParcelQty(totalAllParcelQty); emisWarehouseIn.setInNo(inNo); emisWarehouseIn.setBlUploadPic(blUploadPic); + + // 1) warehouseInBatchNo 不存在则按 JC + 时间戳生成 + if (StringUtils.isEmpty(warehouseInDetail.getWarehouseInBatchNo())) { + emisWarehouseIn.setWarehouseInBatchNo("JC" + System.currentTimeMillis()); + if (StringUtils.isNotBlank(warehouseInBatchNo)) { + emisWarehouseIn.setWarehouseInBatchNo(warehouseInBatchNo); + } + } + + // 2) stock_in_flag:总量与运单信息对比 + // - 如果累计入仓超过运单(件数/重量/体积重量)则报错 + // - 如果三项都相等 => '1',否则 => '2' + String stockInFlag = "2"; + EmisWaybill waybillDetail = warehouseInDetail.getWaybillDetail(); + if (waybillDetail != null) { + Integer planParcelQty = waybillDetail.getParcelQty(); + BigDecimal planBillWeight = waybillDetail.getBillWeight(); + BigDecimal planVolume = waybillDetail.getTotalVolume(); + +// if (planParcelQty != null && totalAllParcelQty != null && totalAllParcelQty > planParcelQty) { +// throw new EmisBizError(EmisBizErrorType.FAIL, "入仓总件数超过运单件数"); +// } +// if (planBillWeight != null && totalAllWeight != null && totalAllWeight.compareTo(planBillWeight) > 0) { +// throw new EmisBizError(EmisBizErrorType.FAIL, "入仓总重量超过运单重量"); +// } +// if (planVolumeWeight != null && totalAllVolume != null && totalAllVolume.compareTo(planVolumeWeight) > 0) { +// throw new EmisBizError(EmisBizErrorType.FAIL, "入仓总体积超过运单体积重量"); +// } + + boolean eqParcel = planParcelQty != null && totalAllParcelQty != null && totalAllParcelQty >= planParcelQty; +// boolean eqWeight = planBillWeight != null && totalAllWeight != null && totalAllWeight.compareTo(planBillWeight) >= 0; +// boolean eqVolume = planVolume != null && totalAllVolume != null && totalAllVolume.compareTo(planVolume) >= 0; + if (eqParcel) { + stockInFlag = "1"; + } + } + emisWarehouseIn.setStockInFlag(stockInFlag); + // 更新入库状态 emisWarehouseInMapper.updateTotalWeightInfo(emisWarehouseIn); } /** * 修改进仓单批次 - * + * * @param emisWarehouseInBatch 进仓单批次 * @return 结果 */ @@ -245,7 +287,7 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements /** * 批量删除进仓单批次 - * + * * @param ids 需要删除的进仓单批次主键 * @return 结果 */ @@ -257,7 +299,7 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements /** * 删除进仓单批次信息 - * + * * @param id 进仓单批次主键 * @return 结果 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java index dba1e9ac2..9da732653 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInServiceImpl.java @@ -1,10 +1,10 @@ - /** + /** * @Project: emis * @Title: EmisWarehouseInServiceImpl.java * @author linfso * @date 2024-05-22 00:20:31 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

进仓单 实体类

*/ @@ -13,6 +13,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; + import java.util.Objects; import java.util.stream.Collectors; import java.io.InputStream; import java.net.HttpURLConnection; @@ -35,16 +36,17 @@ import com.xdadan.erp.emis.mapper.EmisWarehouseInMapper; import com.xdadan.erp.emis.service.IEmisWarehouseInService; import org.springframework.util.CollectionUtils; + import org.springframework.transaction.annotation.Transactional; /** * 进仓单Service业务层处理 - * + * * @author linfso * @date 2024-05-22 00:20:31 */ @Service @Slf4j -public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService +public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService { @Autowired private EmisWarehouseInMapper emisWarehouseInMapper; @@ -57,7 +59,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 查询进仓单 - * + * * @param id 进仓单主键 * @return 进仓单 */ @@ -132,7 +134,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 查询进仓单列表 - * + * * @param emisWarehouseIn 进仓单 * @return 进仓单 */ @@ -150,7 +152,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 新增进仓单 - * + * * @param emisWarehouseIn 进仓单 * @return 结果 */ @@ -162,7 +164,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 修改进仓单 - * + * * @param emisWarehouseIn 进仓单 * @return 结果 */ @@ -174,7 +176,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 批量删除进仓单 - * + * * @param ids 需要删除的进仓单主键 * @return 结果 */ @@ -186,7 +188,7 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService /** * 删除进仓单信息 - * + * * @param id 进仓单主键 * @return 结果 */ @@ -357,5 +359,44 @@ public class EmisWarehouseInServiceImpl implements IEmisWarehouseInService return exportList; } + /** + * 手动确认进仓完成(仅允许部分入仓 stockInFlag=2 的运单) + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int confirmStockInCompleteByIds(List ids) throws EmisBizError { + + List distinctIds = ids.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList()); + if (CollectionUtils.isEmpty(distinctIds)) { + throw new EmisBizError(EmisBizErrorType.FAIL, "id不能为空"); + } + + List warehouseInList = emisWarehouseInMapper.selectBatchIds(distinctIds); + if (CollectionUtils.isEmpty(warehouseInList) || warehouseInList.size() != distinctIds.size()) { + throw new EmisBizError(EmisBizErrorType.FAIL, "进仓单不存在"); + } + + for (EmisWarehouseIn warehouseIn : warehouseInList) { + if (warehouseIn == null) { + continue; + } + if (!"2".equals(warehouseIn.getStockInFlag())) { + throw new EmisBizError( + EmisBizErrorType.FAIL, + "只有部分入仓的运单可手动确认,运单号" + warehouseIn.getBillCode() + "进仓状态不符合要求" + ); + } + } + + int successCount = 0; + for (Long id : distinctIds) { + EmisWarehouseIn update = new EmisWarehouseIn(); + update.setId(id); + update.setStockInFlag("1"); + successCount += emisWarehouseInMapper.updateById(update); + } + return successCount; + } + } diff --git a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml index c7f80aa2e..c494bab87 100644 --- a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml @@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -75,11 +76,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, serial_no, in_no, order_sn, bill_code, customer_code, customer_name, entry_date, confirm_status, confirm_date, used_status, status, stock_in_flag, bl_upload_pic, total_parcel_qty, total_volume, total_weight, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_warehouse_in + select id, serial_no, in_no, warehouse_in_batch_no, order_sn, bill_code, customer_code, customer_name, entry_date, confirm_status, confirm_date, used_status, status, stock_in_flag, bl_upload_pic, total_parcel_qty, total_volume, total_weight, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_warehouse_in @@ -348,6 +349,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" serial_no, in_no, + warehouse_in_batch_no, order_sn, bill_code, customer_code, @@ -375,6 +377,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{serialNo}, #{inNo}, + #{warehouseInBatchNo}, #{orderSn}, #{billCode}, #{customerCode}, @@ -406,6 +409,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" serial_no = #{serialNo}, in_no = #{inNo}, + warehouse_in_batch_no = #{warehouseInBatchNo}, order_sn = #{orderSn}, bill_code = #{billCode}, customer_code = #{customerCode}, @@ -459,7 +463,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update emis_warehouse_in - set stock_in_flag = '1', + set stock_in_flag = #{stockInFlag}, + + warehouse_in_batch_no=#{warehouseInBatchNo}, + total_parcel_qty=#{totalParcelQty}, total_volume=#{totalVolume}, total_weight=#{totalWeight}, From db9c5801666568ed351712ae02a04912589785c3 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Fri, 20 Mar 2026 09:17:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?demand:=20=20=20=20=20=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E8=BF=9B=E4=BB=93=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisCommissionProfitServiceImpl.java | 62 ++++++++++--------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java index 70cc43c01..64d0ffd44 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java @@ -10,33 +10,34 @@ package com.xdadan.erp.emis.service.impl; -import java.math.BigDecimal; -import java.util.*; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; + import cn.hutool.core.collection.CollectionUtil; + import com.alibaba.fastjson.JSONObject; + import com.googlecode.aviator.AviatorEvaluator; + import com.xdadan.erp.common.core.domain.entity.SysUser; + import com.xdadan.erp.common.core.redis.RedissonService; + import com.xdadan.erp.common.utils.DateUtils; + import com.xdadan.erp.emis.domain.*; + import com.xdadan.erp.emis.domain.enumtype.ProfitPostType; + import com.xdadan.erp.emis.mapper.*; + import com.xdadan.erp.emis.service.EmisBaseService; + import com.xdadan.erp.emis.service.IEmisCommissionProfitService; + import com.xdadan.erp.emis.utils.WaybillHelper; + import jodd.util.StringUtil; + import lombok.extern.slf4j.Slf4j; + import org.apache.commons.collections4.ListUtils; + import org.apache.commons.lang3.StringUtils; + import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.stereotype.Service; + import org.springframework.transaction.annotation.Transactional; + import org.springframework.util.CollectionUtils; -import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSONObject; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.googlecode.aviator.AviatorEvaluator; -import com.xdadan.erp.common.core.domain.entity.SysUser; -import com.xdadan.erp.common.core.redis.RedissonService; -import com.xdadan.erp.common.utils.DateUtils; -import com.xdadan.erp.common.utils.DictUtils; -import com.xdadan.erp.emis.domain.*; -import com.xdadan.erp.emis.domain.enumtype.ProfitPostType; -import com.xdadan.erp.emis.mapper.*; -import com.xdadan.erp.emis.service.EmisBaseService; -import com.xdadan.erp.emis.utils.WaybillHelper; -import jodd.util.StringUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.xdadan.erp.emis.service.IEmisCommissionProfitService; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; + import java.math.BigDecimal; + import java.util.Date; + import java.util.HashMap; + import java.util.List; + import java.util.Map; + import java.util.concurrent.CountDownLatch; + import java.util.concurrent.TimeUnit; /** * 员工提成表Service业务层处理 @@ -92,7 +93,7 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements long startTime=System.currentTimeMillis(); for(int i=0; i"+i); @@ -135,7 +136,7 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements long startTime=System.currentTimeMillis(); for(int i=0; i"+i); @@ -1351,7 +1352,10 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements // 插入提成 if (BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO) > 0) { // 新增:按销售分成配置插入多岗位提成 - String salesSupport = waybill.getSalesSupport(); + String salesSupport = null; + if (waybill.getWaybillOther() != null) { + salesSupport = waybill.getWaybillOther().getSalesSupport(); + } // String salesExecutive = waybill.getSalesExecutive(); boolean hasRatioInsert = false; if (StringUtils.isNotEmpty(salesmen)) {