From 667a51a126d564787ebb605afd6006670ada4cc8 Mon Sep 17 00:00:00 2001 From: x_z Date: Sun, 12 Mar 2023 11:43:59 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E7=9B=98=E7=82=B9=E8=BD=AC?= =?UTF-8?q?=E5=8D=95=E9=80=BB=E8=BE=91=202.=E4=BF=AE=E5=A4=8D=E7=A9=BA?= =?UTF-8?q?=E5=BA=93=E7=8A=B6=E6=80=81=E4=B8=8B=E6=B7=BB=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/auth/impl/DeptServiceImpl.java | 8 ++- .../inv/impl/InvCountOrderServiceImpl.java | 58 +++++++++++-------- .../inv/impl/InvMAOrderDetailServiceImpl.java | 11 ++-- .../mybatis/mapper/inv/InvCountCodesDao.xml | 2 +- .../mapper/inv/InvCountOrderDetailDao.xml | 2 +- 5 files changed, 50 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/glxp/api/service/auth/impl/DeptServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/DeptServiceImpl.java index 1104f1d05..e93f3d2a0 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/DeptServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/DeptServiceImpl.java @@ -33,7 +33,13 @@ public class DeptServiceImpl implements DeptService { @Override public DeptEntity selectMaxCode(FilterInvWarehouseRequest filterInvWarehouseRequest) { - return deptDao.selectMaxCode(filterInvWarehouseRequest); + DeptEntity deptEntity = deptDao.selectMaxCode(filterInvWarehouseRequest); + if (null == deptEntity) { + //当前为空数据库,初始化部门最大编码为1000 + deptEntity = new DeptEntity(); + deptEntity.setCode("1000"); + } + return deptEntity; } @Override diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderServiceImpl.java index b88925008..be1b96009 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderServiceImpl.java @@ -294,20 +294,28 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { } } - log.info("开始生成盘盈单据"); - //开始生成盘盈单据 - String inOrderId = buildOrder(invCountOrder, inCodes, inBusType); - invCountOrder.setInOrderIds(inOrderId); - log.info("盘盈单据生成成功"); - - //开始生成盘亏单据 - log.info("开始生成盘亏单据"); - String outOrderId = buildOrder(invCountOrder, outCodes, outBusType); - invCountOrder.setOrderId(outOrderId); - log.info("盘亏单据生成成功"); - - //更新盘点单据的出入库单据信息 - invCountOrderDao.updateById(invCountOrder); + if (CollUtil.isNotEmpty(inCodes)) { + log.info("开始生成盘盈单据"); + //开始生成盘盈单据 + String inOrderId = buildOrder(invCountOrder, inCodes, inBusType); + log.info("盘点单据:{} 生成的盘盈入库单据号:{}", invCountOrder.getOrderId(), inOrderId); + invCountOrder.setInOrderIds(inOrderId); + //更新单据号 + invCountOrderDao.updateById(invCountOrder); + log.info("盘盈单据生成成功"); + } + + if (CollUtil.isNotEmpty(outCodes)) { + //开始生成盘亏单据 + log.info("开始生成盘亏单据"); + String outOrderId = buildOrder(invCountOrder, outCodes, outBusType); + log.info("盘点单据:{} 生成的盘亏出库单据号:{}", invCountOrder.getOrderId(), outOrderId); + invCountOrder.setOutOrderIds(outOrderId); + //更新单据号 + invCountOrderDao.updateById(invCountOrder); + log.info("盘亏单据生成成功"); + } + } /** @@ -315,32 +323,35 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { * * @param invCountOrder 盘点单据 * @param codeTempList 单据码明细 - * @param inBusType 单据类型 + * @param busType 单据类型 */ - private String buildOrder(InvCountOrderEntity invCountOrder, List codeTempList, BasicBussinessTypeEntity inBusType) { + private String buildOrder(InvCountOrderEntity invCountOrder, List codeTempList, BasicBussinessTypeEntity busType) { if (CollUtil.isNotEmpty(codeTempList)) { //构造单据数据 IoOrderEntity order = new IoOrderEntity(); - order.setMainAction(inBusType.getMainAction()); - order.setAction(inBusType.getAction()); + order.setMainAction(busType.getMainAction()); + order.setAction(busType.getAction()); Date date = new Date(); order.setCreateTime(date); order.setUpdateTime(date); order.setDeptCode(invCountOrder.getDeptCode()); order.setInvCode(invCountOrder.getInvCode()); //查询单据往来单位信息 - order.setFromCorp(inBusType.getDefaultUnit()); + order.setFromCorp(busType.getDefaultUnit()); order.setFromType(ConstantStatus.FROM_COUNT); order.setCorpOrderId(CustomUtil.getId() + "x"); //设置为草稿状态 order.setStatus(1); order.setDealStatus(1); + order.setOrderType(3); //正常单据 //设置上传状态为未上传 order.setExportStatus(0); + String prefix = StrUtil.trim(busType.getPrefix()); + prefix = Constant.SCAN_ORDER + (StrUtil.isBlank(prefix) ? "" : prefix); //生成单据号 - String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(inBusType.getPrefix()), "yyyyMMdd")); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(prefix, "yyyyMMdd")); order.setBillNo(orderNo); //对条码统一设置创建时间,单号等信息 codeTempList.forEach(codeTemp -> { @@ -440,9 +451,9 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { if (!countCodeList.contains(invProductDetailEntity.getCode()) && !verifyCodeExist(codeList, invProductDetailEntity.getCode())) { InvCountOrderDetailEntity orderDetailEntity = new InvCountOrderDetailEntity(); - orderDetailEntity.setRelId(invCountOrderDetailEntity.getRelId()); + BeanUtil.copyProperties(invCountOrderDetailEntity, orderDetailEntity); orderDetailEntity.setStatus(0); - IoCodeTempEntity codeTempEntity = buildCodeTempEntity(invCountOrder, invProductDetailEntity.getCode(), orderDetailEntity); + IoCodeTempEntity codeTempEntity = buildCodeTempEntity(invCountOrder, invProductDetailEntity.getCode(), invCountOrderDetailEntity); codeList.add(codeTempEntity); } } @@ -552,10 +563,11 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { if (CollUtil.isNotEmpty(list)) { List busTypes = new ArrayList<>(2); for (BasicBusTypeChangeEntity basicBusTypeChangeEntity : list) { - if ("PDRK".equals(basicBusTypeChangeEntity.getOriginAction()) || "PDCK".equals(basicBusTypeChangeEntity.getOriginAction())) { + if ("PYRK".equals(basicBusTypeChangeEntity.getOriginAction().toUpperCase()) || "PKCK".equals(basicBusTypeChangeEntity.getOriginAction().toUpperCase())) { busTypes.add(bussinessTypeDao.selectOne(new QueryWrapper().eq("action", basicBusTypeChangeEntity.getTargetAction()))); } } + return busTypes; } return null; } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvMAOrderDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvMAOrderDetailServiceImpl.java index 9a0c12781..cccf3d0e5 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvMAOrderDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvMAOrderDetailServiceImpl.java @@ -140,6 +140,8 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { detailRequest.setBatchNo(invProductEntity.getBatchNo()); detailRequest.setDeptCode(invProductEntity.getDeptCode()); detailRequest.setInvCode(invProductEntity.getInvCode()); + detailRequest.setProductionDate(invProductEntity.getProductionDate()); + detailRequest.setExpireDate(invProductEntity.getExpireDate()); List invProductDetailEntities = invProductDetailDao.filterInvProductDetailList(detailRequest); //提取去重后的码集合 List codeList = invProductDetailEntities.stream().map(InvProductDetailEntity::getCode).distinct().collect(Collectors.toList()); @@ -183,11 +185,10 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { maOrderDetail.setOrderIdFk(addMAOrderDetailRequest.getOrderIdFk()); maOrderDetail.setCode(invProductDetailEntity.getCode()); maOrderDetail.setRelId(invProductDetailEntity.getRelId()); - UdiEntity udi = FilterUdiUtils.getUdi(invProductDetailEntity.getCode()); - maOrderDetail.setNameCode(udi.getUdi()); - maOrderDetail.setProductionDate(udi.getProduceDate()); - maOrderDetail.setExpireDate(udi.getExpireDate()); - maOrderDetail.setBatchNo(udi.getBatchNo()); + maOrderDetail.setNameCode(invProductDetailEntity.getNameCode()); + maOrderDetail.setProductionDate(invProductDetailEntity.getProduceDate()); + maOrderDetail.setExpireDate(invProductDetailEntity.getExpireDate()); + maOrderDetail.setBatchNo(invProductDetailEntity.getBatchNo()); maOrderDetail.setCount(codeMap.get(code)); maOrderDetail.setMaStatus(0); maOrderDetail.setDeviceStatus(1); diff --git a/src/main/resources/mybatis/mapper/inv/InvCountCodesDao.xml b/src/main/resources/mybatis/mapper/inv/InvCountCodesDao.xml index eef465f2f..d4df95867 100644 --- a/src/main/resources/mybatis/mapper/inv/InvCountCodesDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvCountCodesDao.xml @@ -69,7 +69,7 @@ AND orderIdFk = #{orderIdFk} - AND relId = #{relId + AND relId = #{relId} AND batchNo = #{batchNo} diff --git a/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailDao.xml index 0c4556d26..94fc9155b 100644 --- a/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailDao.xml @@ -39,7 +39,7 @@ delete from inv_count_codes where orderIdFk = #{orderIdFk} - and productId = #{productId} + and relId = #{productId}