From ee7754df7c55c3b54c9d0c1174897deaa2a8ffbe Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 2 Nov 2022 22:29:43 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E7=94=9F=E6=88=90=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E5=85=A5=E5=BA=93=E5=8D=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InvCountOrderServiceImpl.java | 99 +++++++++++++------ 1 file changed, 69 insertions(+), 30 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java index 1769b8c3..228b1613 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java @@ -10,9 +10,12 @@ import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.dao.basic.BussinessTypeDao; import com.glxp.api.admin.dao.basic.UnitMaintainDao; +import com.glxp.api.admin.dao.inout.CodesTempDao; +import com.glxp.api.admin.dao.inout.OrderDao; import com.glxp.api.admin.dao.inventory.*; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.basic.UnitMaintainEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; @@ -25,10 +28,7 @@ import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest; import com.glxp.api.admin.res.inventory.InvCountOrderResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.InvCountOrderService; -import com.glxp.api.admin.util.CustomUtil; -import com.glxp.api.admin.util.GennerOrderUtils; -import com.glxp.api.admin.util.MyStrUtil; -import com.glxp.api.admin.util.OrderNoTypeBean; +import com.glxp.api.admin.util.*; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -64,6 +64,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { private BussinessTypeDao bussinessTypeDao; @Resource private UnitMaintainDao unitMaintainDao; + @Resource + private OrderDao orderDao; + @Resource + private CodesTempDao codesTempDao; @Override public List filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) { @@ -214,30 +218,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { if (CollUtil.isNotEmpty(inDetailList)) { log.info("盘点单据:" + invCountOrder.getOrderId() + " 转入库单开始"); //查询盘点入库单据类型 - BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getInAction()); - log.info("盘点入库单据类型为:" + bussinessTypeEntity.getName() + " ,单据类型编码为:" + invCountSettingEntity.getInAction()); - - //构造单据数据 - OrderEntity orderEntity = new OrderEntity(); - orderEntity.setMainAction(ConstantType.TYPE_PUT); - orderEntity.setAction(invCountSettingEntity.getInAction()); - orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); - orderEntity.setCreateTime(orderEntity.getActDate()); - orderEntity.setInvStorageCode(invCountOrder.getInvStorageCode()); - orderEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode()); - //查询单据往来单位数据 - UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByErpId(bussinessTypeEntity.getDefaultUnit()); - orderEntity.setFromCorpId(unitMaintainEntity.getErpId()); - orderEntity.setFromCorp(unitMaintainEntity.getName()); - orderEntity.setCorpOrderId(CustomUtil.getId() + "x"); - orderEntity.setExportStatus(0); //设置导出状态为未导出 - orderEntity.setContrastStatus(0);//设置erp校验状态为未校验 - orderEntity.setReceiveStatus(0); //设置验收状态为未验收 - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); - orderEntity.setErpFk(null);//关联业务单据置空 - orderEntity.setFromType(ConstantStatus.FROM_COUNT); //单据来源设置为盘点单据转单 - orderEntity.setLocStorageCode(invCountOrder.getInvStorageCode()); - String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + OrderEntity orderEntity = createOrder(invCountSettingEntity, invCountOrder, ConstantType.TYPE_PUT); //查找盘点码中标记为多的码 FilterInvCountCodesRequest codesRequest = new FilterInvCountCodesRequest(); @@ -252,22 +233,80 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { warehouseEntity.setAction(invCountSettingEntity.getInAction()); warehouseEntity.setMainAction(ConstantType.TYPE_PUT); warehouseEntity.setActor(invCountOrder.getCreateUser()); + warehouseEntity.setOrderId(orderEntity.getId()); + warehouseEntity.setInvStorageCode(invCountOrder.getInvStorageCode()); + warehouseEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode()); + warehouseEntity.setLocStorageCode(invCountOrder.getInvStorageCode()); + warehouseEntity.setFromCorp(orderEntity.getFromCorp()); + warehouseEntity.setFromCorpId(orderEntity.getFromCorpId()); + warehouseEntity.setCorpOrderId(orderEntity.getCorpOrderId()); + UdiEntity udi = FilterUdiUtils.getUdi(invCountCodes.getCode()); + warehouseEntity.setBatchNo(udi.getBatchNo()); + warehouseEntity.setProduceDate(udi.getProduceDate()); + warehouseEntity.setExpireDate(udi.getExpireDate()); + warehouseEntity.setSerialNo(udi.getSerialNo()); + warehouseEntity.setNameCode(udi.getUdi()); + warehouseEntity.setCount(1); + warehouseEntity.setReCount(1); warehouseEntities.add(warehouseEntity); }); + orderDao.insertOrder(orderEntity); + codesTempDao.insertCodesTemp(warehouseEntities); + log.info("盘点单据转入库单完成,单号为:" + orderEntity.getId()); } if (CollUtil.isNotEmpty(outDetailList)) { log.info("盘点单据:" + invCountOrder.getOrderId() + " 转出库单开始"); //查询盘点入库单据类型 - BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getOutAction()); - log.info("盘点出库单据类型为:" + bussinessTypeEntity.getName() + " ,单据类型编码为:" + bussinessTypeEntity.getAction()); } } + /** + * 生成单据和条码数据 + * + * @param invCountSettingEntity + * @param invCountOrder + * @param type + * @return + */ + public OrderEntity createOrder(InvCountSettingEntity invCountSettingEntity, InvCountOrder invCountOrder, String type) { + BussinessTypeEntity bussinessTypeEntity; + + if (ConstantType.TYPE_PUT.equals(type)) { + bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getInAction()); + } else { + bussinessTypeEntity = bussinessTypeDao.selectByAction(invCountSettingEntity.getOutAction()); + } + + //构造单据数据 + OrderEntity orderEntity = new OrderEntity(); + orderEntity.setMainAction(ConstantType.TYPE_PUT); + orderEntity.setAction(invCountSettingEntity.getInAction()); + orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + orderEntity.setCreateTime(orderEntity.getActDate()); + orderEntity.setInvStorageCode(invCountOrder.getInvStorageCode()); + orderEntity.setInvWarehouseCode(invCountOrder.getInvWarehouseCode()); + //查询单据往来单位数据 + UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByErpId(bussinessTypeEntity.getDefaultUnit()); + orderEntity.setFromCorpId(unitMaintainEntity.getErpId()); + orderEntity.setFromCorp(unitMaintainEntity.getName()); + orderEntity.setCorpOrderId(CustomUtil.getId() + "x"); + orderEntity.setExportStatus(0); //设置导出状态为未导出 + orderEntity.setContrastStatus(0);//设置erp校验状态为未校验 + orderEntity.setReceiveStatus(0); //设置验收状态为未验收 + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderEntity.setErpFk(null);//关联业务单据置空 + orderEntity.setFromType(ConstantStatus.FROM_COUNT); //单据来源设置为盘点单据转单 + orderEntity.setLocStorageCode(invCountOrder.getInvStorageCode()); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + orderEntity.setId(orderNo); + return orderEntity; + } + }