From 44fa2c252e1d16ed2ca757684c2a96fc12e3c5a5 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sun, 26 Mar 2023 10:45:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=A4=8D=E5=88=B6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoOrderController.java | 72 +++++++++++++++++++ .../controller/inv/InvProductController.java | 5 +- .../req/inout/AddStockOrderChangeRequest.java | 27 +++++++ src/main/resources/application-dev.yml | 2 +- src/main/resources/schemas/schema_v2.1.sql | 7 ++ 5 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/AddStockOrderChangeRequest.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 9f8f8dde3..56c28269f 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; @@ -7,6 +8,7 @@ import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.InvBusUserEntity; @@ -25,6 +27,9 @@ import com.glxp.api.service.auth.InvBusUserService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.util.CustomUtil; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -35,6 +40,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; @@ -466,4 +472,70 @@ public class IoOrderController extends BaseController { return orderService.submitToThrSys(billNo); } + @Resource + GennerOrderUtils gennerOrderUtils; + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/stock/order/change") + public BaseResponse stockOrderChange(@RequestBody AddStockOrderChangeRequest addStockOrderChangeRequest) { + + IoOrderEntity originOrder = orderService.findByBillNo(addStockOrderChangeRequest.getOrderId()); + IoOrderEntity newOrder = new IoOrderEntity(); + List originCodes = codeService.findByOrderId(originOrder.getBillNo()); + newOrder.setCreateTime(new Date()); + newOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp()); + newOrder.setFromInvCode(addStockOrderChangeRequest.getFromInvCode()); + newOrder.setFromDeptCode(addStockOrderChangeRequest.getFromDeptCode()); + newOrder.setInvCode(addStockOrderChangeRequest.getInvCode()); + newOrder.setDeptCode(addStockOrderChangeRequest.getDeptCode()); + newOrder.setCorpOrderId(CustomUtil.getId() + "x"); + newOrder.setMainAction(addStockOrderChangeRequest.getMainAction()); + newOrder.setAction(addStockOrderChangeRequest.getAction()); + newOrder.setExportStatus(0); //设置导出状态为未导出 + newOrder.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//设置单据未草稿状态 + newOrder.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); //设置验收状态为未验收 + newOrder.setFromType(ConstantStatus.FROM_COPY); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addStockOrderChangeRequest.getAction()); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + String supplementOrderNo = orderNo; + newOrder.setBillNo(supplementOrderNo); + newOrder.setReplicateNo(null); //新单据的复制单号置空 + originOrder.setReplicateNo(orderNo); + List supplementCodes = new ArrayList<>(); + + List products = addStockOrderChangeRequest.getProducts(); + originCodes.forEach( + code -> { + //复制选中的产品 + for (IoCodeEntity product : products) { + if (product.getRelId().equals(code.getRelId())) { + if ((StrUtil.isNotBlank(product.getBatchNo()) && StrUtil.isNotBlank(code.getBatchNo()) && product.getBatchNo().equals(code.getBatchNo())) + || (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) { + IoCodeTempEntity supplementCode = new IoCodeTempEntity(); + BeanUtil.copyProperties(code, supplementCode); + supplementCode.setCode(product.getCode()); + supplementCode.setInvCode(newOrder.getInvCode()); + supplementCode.setDeptCode(newOrder.getDeptCode()); + supplementCode.setOrderId(newOrder.getBillNo()); + supplementCode.setCorpOrderId(newOrder.getCorpOrderId()); + //查询补单设置 + supplementCode.setAction(newOrder.getAction()); + supplementCode.setMainAction(newOrder.getMainAction()); + supplementCode.setUpdateTime(new Date()); + supplementCode.setCreateTime(new Date()); + supplementCode.setId(null); + supplementCodes.add(supplementCode); + break; + } + } + } + } + ); + newOrder.setUpdateTime(new Date()); + orderService.insertOrder(newOrder); + codeTempService.insertBatch(supplementCodes); + orderService.update(originOrder); + return ResultVOUtils.success(); + } + } diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index 3ce45f2e8..ae0eba1da 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -8,6 +8,7 @@ import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.controller.BaseController; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; @@ -39,7 +40,7 @@ import java.util.List; */ @Slf4j @RestController -public class InvProductController { +public class InvProductController extends BaseController { @Resource private InvProductService invProductService; @@ -51,7 +52,6 @@ public class InvProductController { private CustomerService customerService; - /** * 库存列表查询接口 * @@ -65,6 +65,7 @@ public class InvProductController { filterInvProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvProductRequest.getUdiCode())); } + if (StrUtil.isBlank(filterInvProductRequest.getInvCode())) { List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); if (CollUtil.isNotEmpty(invCodes)) { diff --git a/src/main/java/com/glxp/api/req/inout/AddStockOrderChangeRequest.java b/src/main/java/com/glxp/api/req/inout/AddStockOrderChangeRequest.java new file mode 100644 index 000000000..e634bc00f --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/AddStockOrderChangeRequest.java @@ -0,0 +1,27 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.entity.inout.IoCodeEntity; +import lombok.Data; + +import java.util.List; + + +@Data +public class AddStockOrderChangeRequest { + + private String corpOrderId; + private String mainAction; + private String action; + private String fromCorp; + private String fromDeptCode; + private String fromInvCode; + private Integer fromType; + private String actDate; + private String deptCode; + private String invCode; + private String orderId; + + private List products; + + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 673a8ded8..2e0318f58 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://miradio.51vip.biz:3364/udi_wms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: Glxp@6066 hikari: diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 563004b0a..7602997df 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -25,6 +25,7 @@ CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'needCert', 'tinyint', 1); + CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailDispatch', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailGroupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'busType', 'tinyint', 1); @@ -90,3 +91,9 @@ CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originReCount', 'int', 1); CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1); +INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`, + `paramType`, `paramExplain`) +VALUES (20040, 0, '允许送货单直接入库变更库存', 'deliveryInstock', '0', 1, 0, '0:否;1:是'); + + +