From a8504f276e1986ca883bd897b6903f2699801dd0 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 20 Apr 2023 14:10:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=BF=81=E7=A7=BB=E5=A4=87?= =?UTF-8?q?=E4=BB=BD=EF=BC=8C=E9=A2=84=E9=AA=8C=E6=94=B6=E9=80=80=E5=9B=9E?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 4 + .../auth/InvWarehouseController.java | 26 ++-- .../basic/BasicBussinessTypeController.java | 6 +- .../inout/IoCodeLostController.java | 5 +- .../inout/IoCodeTempController.java | 12 +- .../controller/inout/IoOrderController.java | 16 +-- .../inv/InvPreProductController.java | 6 +- .../inv/InvPreinProductController.java | 7 +- .../glxp/api/dao/inout/IoCodeLostMapper.java | 3 +- .../api/dao/inout/IoOrderDetailCodeDao.java | 7 + .../api/dao/inv/InvPreInProductDetailDao.java | 2 + .../glxp/api/dao/inv/InvPreinProductDao.java | 2 + .../api/entity/auth/InvWarehouseEntity.java | 5 +- .../entity/basic/BasicBusTypePreEntity.java | 2 +- .../basic/BasicBussinessTypeEntity.java | 2 - .../glxp/api/entity/inout/IoOrderEntity.java | 2 + .../inv/InvPreInProductDetailEntity.java | 2 +- .../req/auth/FilterInvWarehouseRequest.java | 2 +- .../glxp/api/req/inout/AddOrderRequest.java | 1 + .../api/req/inout/FilterOrderRequest.java | 1 + .../glxp/api/req/inout/IoCodeLostRequest.java | 70 +++++++++ .../service/auth/impl/DeptServiceImpl.java | 2 +- .../impl/BasicBussinessTypeServiceImpl.java | 4 + .../api/service/inout/IoAddInoutService.java | 36 +++-- .../service/inout/IoChangeInoutService.java | 24 ++-- .../service/inout/IoCheckInoutService.java | 135 ++++++++++-------- .../api/service/inout/IoCodeLostService.java | 3 +- .../api/service/inout/IoGenInvService.java | 85 ++++++++--- .../inout/impl/IoCodeLostServiceImpl.java | 5 +- .../mapper/basic/BasicBussinessTypeDao.xml | 58 ++++---- .../mybatis/mapper/inout/IoCodeLostMapper.xml | 17 ++- .../mapper/inout/IoOrderDetailCodeDao.xml | 3 + .../mybatis/mapper/inout/ReceiveDetailDao.xml | 2 +- .../mybatis/mapper/inv/InvPreinProductDao.xml | 59 ++++---- src/main/resources/schemas/schema_v2.1.sql | 2 +- 35 files changed, 393 insertions(+), 225 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index e2b6a5d5..38179c86 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -3,6 +3,9 @@ package com.glxp.api.constant; public class Constant { public static String SYSTEM_CUSTOMER_ID = "110"; + + public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号 + public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号 public static String MUTI = "MUTI"; public static final String SERIAL_CACHE_PREFIX = "serial_"; @@ -263,5 +266,6 @@ public class Constant { public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice"; public static final String ORDER_ACTION_SUP_DELAUDIT = "supDelAudit"; public static final String ORDER_ACTION_SUP_INOUT = "supInout"; + public static final String ORDER_ACTION_SUP_PREIN = "preInOrder"; } diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index 0eacca17..bbf346b3 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -274,17 +274,16 @@ public class InvWarehouseController extends BaseController { //更新仓库信息 invWarehouseEntity.setUpdateTime(new Date()); boolean b = invWarehouseService.updateInvSubWarehouse(invWarehouseEntity); - - //如果要是一级仓库就吧全部子集都刷成一样的寄售仓库 - if(StrUtil.isBlank(invWarehouseEntity.getParentCode())){ - List invWarehouseEntityList=invWarehouseService.selectLowWarehouseAll(invWarehouseEntity.getCode()); - for (InvWarehouseEntity obj : invWarehouseEntityList) { - obj.setAdvanceType(invWarehouseEntity.getAdvanceType()); - obj.setUpdateTime(new Date()); - invWarehouseService.updateInvSubWarehouse(obj); - } - } - +// +// //如果要是一级仓库就吧全部子集都刷成一样的寄售仓库 +// if(StrUtil.isBlank(invWarehouseEntity.getParentCode())){ +// List invWarehouseEntityList=invWarehouseService.selectLowWarehouseAll(invWarehouseEntity.getCode()); +// for (InvWarehouseEntity obj : invWarehouseEntityList) { +// obj.setAdvanceType(invWarehouseEntity.getAdvanceType()); +// obj.setUpdateTime(new Date()); +// invWarehouseService.updateInvSubWarehouse(obj); +// } +// } //更新部门信息 @@ -640,8 +639,9 @@ public class InvWarehouseController extends BaseController { @PostMapping("/warehouse/inout/getDeptById") public BaseResponse getDeptById(@RequestBody List deptIds) { - List list = deptService.getDeptById(deptIds); - return ResultVOUtils.success(list); +// List list = deptService.getDeptById(deptIds); +// return ResultVOUtils.success(list); + return null; } } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index 5c97cc0d..48b19b05 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -392,9 +392,9 @@ public class BasicBussinessTypeController extends BaseController { @GetMapping("/udiwms/busType/selectList") public BaseResponse selectList() { - FilterBussinessTypeRequest bussinessTypeFilterRequest=new FilterBussinessTypeRequest(); - bussinessTypeFilterRequest.setAction("2"); - bussinessTypeFilterRequest.setMainAction("WareHouseOut"); + FilterBussinessTypeRequest bussinessTypeFilterRequest = new FilterBussinessTypeRequest(); + bussinessTypeFilterRequest.setActionType(2); + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_OUT); bussinessTypeFilterRequest.setCorpType(2); List bussinessTypeEntities = basicBussinessTypeService.findList(bussinessTypeFilterRequest); return ResultVOUtils.success(bussinessTypeEntities); diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java index fcaecac8..a0bb15c5 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java @@ -11,6 +11,7 @@ import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeTempEntity; +import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoCodeLostResponse; import com.glxp.api.service.inout.IoCodeLostService; @@ -34,13 +35,13 @@ public class IoCodeLostController extends BaseController { @AuthRuleAnnotation("") @PostMapping("warehouse/inout/getCodeLost") - public BaseResponse getCodeLost(@RequestBody @Valid IoCodeLostEntity ioCodeLostEntity, BindingResult bindingResult) { + public BaseResponse getCodeLost(@RequestBody @Valid IoCodeLostRequest ioCodeLostEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List list = codeLostService.selectLost(ioCodeLostEntity); PageInfo pageInfo; - pageInfo= new PageInfo<>(list); + pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 3235f1b2..7262ded3 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -428,7 +428,7 @@ public class IoCodeTempController extends BaseController { //过期提醒: // SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); - if (bussinessTypeEntity.getCheckVailDate()==1 && !addOrderRequest.isIgnoreExpire()) { + if (bussinessTypeEntity.getCheckVailDate() == 1 && !addOrderRequest.isIgnoreExpire()) { if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { String expireDate = "20" + udiEntity.getExpireDate(); long expireTime = DateUtil.parseDateExpire(expireDate); @@ -441,7 +441,7 @@ public class IoCodeTempController extends BaseController { //失效期提醒 SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); - if (bussinessTypeEntity.getCheckVailDate()==1 && recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) { + if (bussinessTypeEntity.getCheckVailDate() == 1 && recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) { if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { String expireDate = "20" + udiEntity.getExpireDate(); long expireTime = DateUtil.parseDateExpire(expireDate); @@ -472,14 +472,13 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.isScanPreIn()) { if (bussinessTypeEntity.getBackPreinType() == 1) {//按单出库 - - String orderIds = bussinessTypeEntity.getCheckPreInOrders(); + String orderIds = addOrderRequest.getCheckPreInOrders(); if (StrUtil.isNotEmpty(orderIds)) { - String[] orderIdArray = StringUtils.split(","); + String[] orderIdArray = orderIds.split(","); List orderList = CollUtil.toList(orderIdArray); int count = codeService.findByOrderIdsCount(orderList, code); if (count <= 0) { - return ResultVOUtils.error(500, "预验收库存数量不足!"); + return ResultVOUtils.error(500, "非预验收单产品或预验收库存数量不足!"); } if (StrUtil.isNotEmpty(orderId)) {//非首次添加 if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 @@ -676,6 +675,7 @@ public class IoCodeTempController extends BaseController { orderEntity.setUpdateTime(new Date()); orderEntity.setCustomerId(authAdmin.getCustomerId() + ""); orderEntity.setDeptCode(invWarehouseEntity.getParentId()); + orderEntity.setCheckPreInOrders(addOrderRequest.getCheckPreInOrders()); orderEntity.setInvCode(addOrderRequest.getInvCode()); orderEntity.setOrderType(addOrderRequest.getOrderType()); orderEntity.setBusType(bussinessTypeEntity.getBusType()); 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 2bee79d1..112d16e2 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -103,20 +103,8 @@ public class IoOrderController extends BaseController { public BaseResponse filterPreInorder(FilterOrderRequest filterOrderRequest) { - if (StrUtil.isNotBlank(filterOrderRequest.getStatusType())) { - orderService.setFilterStatus(filterOrderRequest); - } - if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) { - orderService.setActions(filterOrderRequest); - } - - if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) { - orderService.setInvoiceFiltes(filterOrderRequest); - } - String customerId = getCustomerId(); - if (!customerId.equals("110")) { - filterOrderRequest.setFromCorp(customerId); - } + filterOrderRequest.setVueType(Constant.ORDER_ACTION_SUP_PREIN); + orderService.setActions(filterOrderRequest); List list = orderService.filterList(filterOrderRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java index c4112312..539ee80f 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java @@ -4,9 +4,12 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.Log; 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.BusinessType; +import com.glxp.api.controller.BaseController; import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; @@ -38,7 +41,7 @@ import java.util.List; */ @Slf4j @RestController -public class InvPreProductController { +public class InvPreProductController extends BaseController { @Resource private InvPreProductService invPreProductService; @@ -113,6 +116,7 @@ public class InvPreProductController { * @return */ @PostMapping("/spms/inv/pre/product/delete") + @Log(title = "寄售库存", businessType = BusinessType.DELETE) public BaseResponse deleteInvPreProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java index d42f8a72..d3ad067f 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java @@ -6,15 +6,20 @@ import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; 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.InvPreInProductDetailEntity; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvPreinDetailRequest; import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.res.inv.InvPreProductPageResponse; +import com.glxp.api.res.inv.InvPreinDetailResponse; import com.glxp.api.res.inv.InvPreinProductResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.WarehouseUserService; +import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.service.inv.InvPreinProductService; import com.glxp.api.util.udi.FilterUdiUtils; @@ -31,7 +36,7 @@ import java.util.List; */ @Slf4j @RestController -public class InvPreinProductController { +public class InvPreinProductController extends BaseController { @Resource private InvPreinProductDetailService invPreinProductDetailService; @Resource diff --git a/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java b/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java index 6cc812be..411d3ae0 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java @@ -2,6 +2,7 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoCodeLostEntity; +import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.res.inout.IoCodeLostResponse; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,6 @@ import java.util.List; @Mapper public interface IoCodeLostMapper extends BaseMapperPlus { - List selectLost(IoCodeLostEntity ioCodeLostEntity); + List selectLost(IoCodeLostRequest ioCodeLostRequest); } diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java index 6318dce7..7581490a 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java @@ -16,4 +16,11 @@ public interface IoOrderDetailCodeDao extends BaseMapperPlus filterList(FilterOrderDetailCodeRequest detailCodeRequest); + + /** + * 更新数量字段 + * + * @param orderDetailCodeEntity + */ + void updateCount(IoOrderDetailCodeEntity orderDetailCodeEntity); } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java index f4d4e267..9f75c43f 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java @@ -4,12 +4,14 @@ import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 预验收库存详情Dao */ +@Mapper public interface InvPreInProductDetailDao extends BaseMapperPlus { /** diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java index 546153ba..9063aa7c 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java @@ -4,12 +4,14 @@ import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreinProductEntity; import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.res.inv.InvPreinProductResponse; +import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 预验收库存Dao */ +@Mapper public interface InvPreinProductDao extends BaseMapperPlus { /** diff --git a/src/main/java/com/glxp/api/entity/auth/InvWarehouseEntity.java b/src/main/java/com/glxp/api/entity/auth/InvWarehouseEntity.java index 88669753..fef81eb9 100644 --- a/src/main/java/com/glxp/api/entity/auth/InvWarehouseEntity.java +++ b/src/main/java/com/glxp/api/entity/auth/InvWarehouseEntity.java @@ -83,14 +83,17 @@ public class InvWarehouseEntity { private String parentCode; /** - * 是否寄售 + * 是否寄售 1:入账库,2:预验收库,3:寄售库 */ @TableField(value = "advanceType") private Integer advanceType; + @TableField(value = "spUse") + private Boolean spUse; @TableField(value = "updateTime") private Date updateTime; + @TableField(exist = false) public String thirdName; @TableField(exist = false) diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java index 67375786..3c12c689 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java @@ -123,7 +123,7 @@ public class BasicBusTypePreEntity { @TableField(value = "remark") private String remark; -// 创建单模式:1:送货至入库单模式;2.向上级补单模式;3.预验收/寄售转入库单模式 +// 创建单模式:1:送货至入库单模式;2.向上级补单模式;3.预验收转入库单模式,4.寄售转入库单模式 @TableField(value = "createType") private int createType; diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index 24ccac7f..9c6d4c92 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -402,8 +402,6 @@ public class BasicBussinessTypeEntity { // 预验收剩余库存退库方式 1:按单使用或退库,2:按货位/仓库使用或退库 @TableField(value = "backPreinType") private Integer backPreinType; - @TableField(value = "checkPreInOrders") - private String checkPreInOrders; // 寄售使用禁止无库存出库 @TableField(value = "advancePreIn") private boolean advancePreIn; diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java index 10030eac..79657a3c 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -233,5 +233,7 @@ public class IoOrderEntity { private String relKey; //关联单据唯一键 @TableField(value = "suppleCount") private Integer suppleCount; //补单次数 + @TableField(value = "checkPreInOrders") + private String checkPreInOrders; } diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java index ac07b29c..f258cb6b 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java @@ -12,7 +12,7 @@ import java.util.Date; * 寄售库存详情表 */ @Data -@TableName(value = "inv_pre_product_detail") +@TableName(value = "inv_prein_product_detail") public class InvPreInProductDetailEntity { @TableId(value = "id", type = IdType.AUTO) private Integer id; diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java index e41d2354..9fcbeab9 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java +++ b/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java @@ -14,7 +14,7 @@ public class FilterInvWarehouseRequest extends ListPageRequest { private String code; private String name; private String deptCode; - private Boolean advanceType; + private Integer advanceType; private Boolean isDefault; private Date updateTime; private Integer level; diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index 18444203..6b1531cf 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -27,4 +27,5 @@ public class AddOrderRequest { private boolean codeFillCheck; private Integer orderType; private String remark; + private String checkPreInOrders; } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index 802f138d..07b2bea6 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -147,6 +147,7 @@ public class FilterOrderRequest extends ListPageRequest { * 发票登记界面: supInvoice * 出入库明细账 norDetail * 寄售出入库明细账 preDetail + * 预验收入库单 preInOrder */ private String vueType; //页面类型 diff --git a/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java b/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java new file mode 100644 index 00000000..b3e423f1 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java @@ -0,0 +1,70 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoCodeLostRequest extends ListPageRequest { + + + private Integer id; + + /** + * UDI码 + */ + private String code; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 供应商 + */ + private String supId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; + + + private String nameCode; + + private String cpmctymc; + + private String ggxh; + + private String startTime; + + private String endTime; + +} 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 b4a35958..d469f034 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 @@ -31,7 +31,7 @@ public class DeptServiceImpl implements DeptService { public DeptEntity findDefault(Boolean advaceType, Boolean isDefault) { FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); filterInvWarehouseRequest.setIsDefault(isDefault); - filterInvWarehouseRequest.setAdvanceType(advaceType); +// filterInvWarehouseRequest.setAdvanceType(advaceType); List invWarehouseEntities = deptDao.filterInvWarehouse(filterInvWarehouseRequest); if (invWarehouseEntities != null && invWarehouseEntities.size() > 0) return invWarehouseEntities.get(0); diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 3a942a9c..981bcaa0 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -247,6 +247,10 @@ public class BasicBussinessTypeServiceImpl implements IBasicBussinessTypeService bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() .gt("spUse", 0).eq("enable", true)); break; + + case Constant.ORDER_ACTION_SUP_PREIN: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)); default: break; } diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index aa276a9c..1401d1cb 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -3,11 +3,14 @@ package com.glxp.api.service.inout; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 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.dao.inout.IoOrderDetailCodeDao; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.UdiEntity; @@ -68,6 +71,8 @@ public class IoAddInoutService { SystemParamConfigService systemParamConfigService; @Resource IoOrderDetailBizService orderDetailBizService; + @Resource + private IoOrderDetailCodeDao orderDetailCodeDao; //新增扫码单据处理 public void dealProcess(IoOrderEntity orderEntity) { @@ -146,17 +151,21 @@ public class IoAddInoutService { insertList.clear(); return; } - //三期校验 - String checkOriginMsg = checkOriginCode(warehouseEntity); - if (StrUtil.isNotEmpty(checkOriginMsg)) { - orderEntity.setErrMsg(checkOriginMsg); - orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); - orderEntity.setUpdateTime(new Date()); - orderService.update(orderEntity); - insertList.clear(); - return; + + if (bussinessTypeEntity.isCodeFillCheck()) { + //三期校验 + String checkOriginMsg = checkOriginCode(warehouseEntity); + if (StrUtil.isNotEmpty(checkOriginMsg)) { + orderEntity.setErrMsg(checkOriginMsg); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + insertList.clear(); + return; + } } + //产品是否已维护已关联 if ((warehouseEntity.getRelId() == null)) { orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); @@ -296,7 +305,7 @@ public class IoAddInoutService { //生成扫码单据详情 public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) { - List ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); + List ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper().select("id", "count", "reCount", "bindRlFk", "batchNo").eq("orderIdFk", orderEntity.getBillNo())); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId()); // UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { @@ -309,7 +318,10 @@ public class IoAddInoutService { StrUtil.trimToEmpty(orderDetailCodeEntity.getBatchNo()).equals(StrUtil.trimToEmpty(codeTempEntity.getBatchNo()))) { orderDetailCodeEntity.setCount(orderDetailCodeEntity.getCount() + codeTempEntity.getMyCount()); orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getReCount() + codeTempEntity.getMyReCount()); - orderDetailCodeService.update(orderDetailCodeEntity); + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("count", orderDetailCodeEntity.getCount()).set("reCount", orderDetailCodeEntity.getReCount()); + orderDetailCodeDao.updateCount(orderDetailCodeEntity); isUpdate = true; break; } @@ -326,7 +338,7 @@ public class IoAddInoutService { IoOrderEntity order = orderService.findByBillNo(orderId); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(order.getAction()); if (StrUtil.isBlank(bussinessTypeEntity.getSupplementOrderType())) { - return ResultVOUtils.error(500,"此单据类型不可补单"); + return ResultVOUtils.error(500, "此类型单据不可补单"); } IoOrderEntity supplementOrder = new IoOrderEntity(); BeanUtil.copyProperties(order, supplementOrder); diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 9aa37fe0..1bb7225f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -196,19 +196,17 @@ public class IoChangeInoutService { outOrder.setFromInvCode(null); outOrder.setFromDeptCode(null); } else if (bussinessChangeTypeEntity.getCreateType() == 3) { //寄售、预验收补单 - if (targetBustypeEntity.getActionType() == 2) { - outOrder.setCustomerId(null); - outOrder.setFromCorp(null); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode("1000001"); - outOrder.setFromInvCode(invWarehouseEntity.getCode()); - outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); - } else if (targetBustypeEntity.getActionType() == 3) { - outOrder.setCustomerId(null); - outOrder.setFromCorp(null); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode("1000002"); - outOrder.setFromInvCode(invWarehouseEntity.getCode()); - outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); - } + outOrder.setCustomerId(null); + outOrder.setFromCorp(null); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); + outOrder.setFromInvCode(invWarehouseEntity.getCode()); + outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); + } else if (targetBustypeEntity.getActionType() == 4) { + outOrder.setCustomerId(null); + outOrder.setFromCorp(null); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_CODE); + outOrder.setFromInvCode(invWarehouseEntity.getCode()); + outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); } else { outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index ea2d67d7..d318170d 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -8,6 +8,7 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; +import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.inout.*; @@ -16,6 +17,7 @@ import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.res.inout.IoOrderCheckResultResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; +import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinOrderService; @@ -265,13 +267,13 @@ public class IoCheckInoutService { orderDetailBizService.insert(orderDetailBizEntity); - //生成单据结果 - IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); - BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); - orderDetailResultEntity.setCount(orderDetailCodeEntity.getReCount()); - orderDetailResultEntity.setReCount(orderDetailCodeEntity.getReCount()); - orderDetailResultEntity.setId(null); - orderDetailResultService.insert(orderDetailResultEntity); + //生成单据结果 + IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); + BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); + orderDetailResultEntity.setCount(orderDetailCodeEntity.getReCount()); + orderDetailResultEntity.setReCount(orderDetailCodeEntity.getReCount()); + orderDetailResultEntity.setId(null); + orderDetailResultService.insert(orderDetailResultEntity); }); } @@ -729,6 +731,7 @@ public class IoCheckInoutService { orderEntity.setUpdateTime(new Date()); orderEntity.setAuditTime(new Date()); orderService.update(orderEntity); + List codeEntities = codeService.findByOrderId(orderEntity.getBillNo()); genInv(orderEntity, bussinessTypeEntity); } } @@ -744,76 +747,75 @@ public class IoCheckInoutService { public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) { if (bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) && bussinessTypeEntity.isScanPreIn()) { - ThreadUtil.execAsync(() -> { - if (StrUtil.isNotEmpty(bussinessTypeEntity.getPreInBackAction())) { - if (bussinessTypeEntity.getBackPreinType() == 1) { //按单退货 - - String orderIds = bussinessTypeEntity.getCheckPreInOrders(); - if (StrUtil.isNotEmpty(orderIds)) { - String[] orderIdArray = StringUtils.split(","); - List orderList = CollUtil.toList(orderIdArray); - List outCodeEntitys = codeService.findByOrderId(orderEntity.getBillNo()); - List preInCodeEntities = codeService.findByOrderIds(orderList, null); - - // 扣减数量 - for (IoCodeEntity preInCodeEntity : preInCodeEntities) { - for (IoCodeEntity codeEntity : outCodeEntitys) { - if (preInCodeEntity.getCode().equals(codeEntity.getCode())) { - int count = preInCodeEntity.getMyCount() - codeEntity.getMyCount(); - int reCount = preInCodeEntity.getMyReCount() - codeEntity.getMyReCount(); - - if (count > 0) { - preInCodeEntity.setCount(count); - preInCodeEntity.setReCount(reCount); - codeEntity.setCount(0); - codeEntity.setReCount(0); - } else if (count < 0) { - preInCodeEntity.setCount(0); - preInCodeEntity.setReCount(0); - codeEntity.setCount(-count); - codeEntity.setReCount(-reCount); - } else { - preInCodeEntity.setCount(0); - preInCodeEntity.setReCount(0); - codeEntity.setCount(0); - codeEntity.setReCount(0); - } +// ThreadUtil.execAsync(() -> { + if (StrUtil.isNotEmpty(bussinessTypeEntity.getPreInBackAction())) { + if (bussinessTypeEntity.getBackPreinType() == 1) { //按单退货 + + String orderIds = orderEntity.getCheckPreInOrders(); + if (StrUtil.isNotEmpty(orderIds)) { + String[] orderIdArray = orderIds.split(","); + List orderList = CollUtil.toList(orderIdArray); + List outCodeEntitys = codeService.findByOrderId(orderEntity.getBillNo()); + List preInCodeEntities = codeService.findByOrderIds(orderList, null); + + // 扣减数量 + for (IoCodeEntity preInCodeEntity : preInCodeEntities) { + for (IoCodeEntity codeEntity : outCodeEntitys) { + if (preInCodeEntity.getCode().equals(codeEntity.getCode())) { + int count = preInCodeEntity.getMyCount() - codeEntity.getMyCount(); + int reCount = preInCodeEntity.getMyReCount() - codeEntity.getMyReCount(); + + if (count > 0) { + preInCodeEntity.setCount(count); + preInCodeEntity.setReCount(reCount); + codeEntity.setCount(0); + codeEntity.setReCount(0); + } else if (count < 0) { + preInCodeEntity.setCount(0); + preInCodeEntity.setReCount(0); + codeEntity.setCount(-count); + codeEntity.setReCount(-reCount); + } else { + preInCodeEntity.setCount(0); + preInCodeEntity.setReCount(0); + codeEntity.setCount(0); + codeEntity.setReCount(0); } } - } - List backCodeList = new ArrayList<>(); - for (IoCodeEntity codeEntity : preInCodeEntities) { - if (codeEntity.getMyCount() > 0) { - backCodeList.add(codeEntity); - } - } - genBackOrder(orderEntity, backCodeList); - - } - - } else { //按仓库货位退货 List backCodeList = new ArrayList<>(); - List codeList = codeService.findByOrderId(orderEntity.getBillNo()); - for (IoCodeEntity codeEntity : codeList) { - int count = invPreinProductDetailService.findCountByCode(codeEntity.getCode()); - if (count > 0) { - codeEntity.setCount(count); - codeEntity.setReCount(udiCalCountUtil.getActCount(codeEntity.getNameCode())); + for (IoCodeEntity codeEntity : preInCodeEntities) { + if (codeEntity.getMyCount() > 0) { backCodeList.add(codeEntity); - genBackOrder(orderEntity, backCodeList); } } + genBackOrder(orderEntity, backCodeList); + + + } + + + } else { //按仓库货位退货 + List backCodeList = new ArrayList<>(); + List codeList = codeService.findByOrderId(orderEntity.getBillNo()); + for (IoCodeEntity codeEntity : codeList) { + int count = invPreinProductDetailService.findCountByCode(codeEntity.getCode()); + if (count > 0) { + codeEntity.setCount(count); + codeEntity.setReCount(udiCalCountUtil.getActCount(codeEntity.getNameCode())); + backCodeList.add(codeEntity); + genBackOrder(orderEntity, backCodeList); + } } } - }); + } +// }); } - //校验是否是不入库存单据 if (bussinessTypeEntity.isInStock()) { //生成库存 @@ -830,6 +832,8 @@ public class IoCheckInoutService { } } + @Resource + InvWarehouseService invWarehouseService; public void genBackOrder(IoOrderEntity orderEntity, List backCodeList) { if (CollUtil.isEmpty(backCodeList)) @@ -837,9 +841,14 @@ public class IoCheckInoutService { BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) { IoOrderEntity outOrder = new IoOrderEntity(); + IoCodeEntity codeEntity = backCodeList.get(0); outOrder.setId(null); outOrder.setMainAction(ConstantType.TYPE_OUT); - outOrder.setAction(basicBussinessTypeEntity.getAction()); + outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); + outOrder.setInvCode(invWarehouseEntity.getCode()); + outOrder.setDeptCode(invWarehouseEntity.getParentId()); + outOrder.setFromCorp(codeEntity.getSupId()); outOrder.setCreateTime(new Date()); outOrder.setFromType(ConstantStatus.FROM_BACK); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java b/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java index e68ccfcb..ef9bb5ac 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java @@ -2,13 +2,14 @@ package com.glxp.api.service.inout; import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.inout.IoCodeLostEntity; +import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.res.inout.IoCodeLostResponse; import java.util.List; public interface IoCodeLostService extends IService { - List selectLost(IoCodeLostEntity ioCodeLostEntity); + List selectLost(IoCodeLostRequest ioCodeLostRequest); IoCodeLostEntity findByCode(String code); diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 302e8404..b7dda8f0 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -119,6 +119,8 @@ public class IoGenInvService { InvPreProductService invPreProductService; @Resource InvPreProductDetailService invPreProductDetailService; + @Resource + InvPreinProductDetailService invPreinProductDetailService; //生成寄售库存 public void genPreInv(String orderId) { @@ -171,27 +173,78 @@ public class IoGenInvService { } + @Resource + InvPreinProductService invPreinProductService; + //生成预验收库存 public void genPreInInv(String orderId) { + + //入库预验收进入到实际在库码表 IoOrderEntity orderEntity = orderService.findByBillNo(orderId); - InvPreinOrderEntity invPreinOrderEntity = new InvPreinOrderEntity(); - BeanUtils.copyProperties(orderEntity, invPreinOrderEntity); - invPreinOrderService.insert(invPreinOrderEntity); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + InvPreinOrderEntity invPreinOrderEntity = new InvPreinOrderEntity(); + BeanUtils.copyProperties(orderEntity, invPreinOrderEntity); + invPreinOrderService.insert(invPreinOrderEntity); + List codeEnttities = codeService.findByOrderId(orderId); + List invPreinDetailEntities = new ArrayList<>(); + codeEnttities.forEach(codeEntity -> + { + InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); + BeanUtils.copyProperties(codeEntity, invPreinDetailEntity); + invPreinDetailEntity.setId(null); + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN); + invPreinDetailEntity.setOriginCount(codeEntity.getCount()); + invPreinDetailEntity.setOriginReCount(codeEntity.getReCount()); + invPreinDetailEntities.add(invPreinDetailEntity); + }); + invPreinDetailService.insertList(invPreinDetailEntities); + } + + //走正常流程,生成对应库存 +// 生成库存产品信息表 + List orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); + //生成库存产品表 + for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { + InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode()); + if (invProductEntity == null) { + invProductEntity = new InvPreinProductEntity(); + invProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); + invProductEntity.setNameCode(orderDetailResultEntity.getNameCode()); + invProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo()); + invProductEntity.setProductionDate(orderDetailResultEntity.getProductDate()); + invProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate()); + invProductEntity.setInCount(0); + invProductEntity.setOutCount(0); + invProductEntity.setSupId(orderDetailResultEntity.getSupId()); + invProductEntity.setDeptCode(orderEntity.getDeptCode()); + invProductEntity.setInvCode(orderEntity.getInvCode()); + invProductEntity.setCreateTime(new Date()); + invProductEntity.setUpdateTime(new Date()); + invPreinProductService.insert(invProductEntity); + } + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + orderDetailResultEntity.getReCount()); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + orderDetailResultEntity.getReCount()); + } + invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); + invProductEntity.setUpdateTime(new Date()); + invPreinProductService.update(invProductEntity); + } List codeEnttities = codeService.findByOrderId(orderId); - List invPreinDetailEntities = new ArrayList<>(); - codeEnttities.forEach(codeEntity -> - { - InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); - BeanUtils.copyProperties(codeEntity, invPreinDetailEntity); - invPreinDetailEntity.setId(null); - invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN); - invPreinDetailEntity.setOriginCount(codeEntity.getCount()); - invPreinDetailEntity.setOriginReCount(codeEntity.getReCount()); - invPreinDetailEntities.add(invPreinDetailEntity); - }); - - invPreinDetailService.insertList(invPreinDetailEntities); + //生成库存码详情 + List invProductDetailEntities = new ArrayList<>(); + for (IoCodeEntity codeEntity : codeEnttities) { + InvPreInProductDetailEntity invProductDetailEntity = new InvPreInProductDetailEntity(); + BeanUtils.copyProperties(codeEntity, invProductDetailEntity); + invProductDetailEntity.setRelId(codeEntity.getRelId()); + invProductDetailEntity.setUpdateTime(new Date()); + invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + invProductDetailEntities.add(invProductDetailEntity); + } + invPreinProductDetailService.insertList(invProductDetailEntities); + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java index 2ee3f019..86e25f8f 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inout.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.res.inout.IoCodeLostResponse; import org.springframework.stereotype.Service; @@ -23,8 +24,8 @@ public class IoCodeLostServiceImpl extends ServiceImpl selectLost(IoCodeLostEntity ioCodeLostEntity) { - return codeLostEntityMapper.selectLost(ioCodeLostEntity); + public List selectLost(IoCodeLostRequest ioCodeLostRequest) { + return codeLostEntityMapper.selectLost(ioCodeLostRequest); } @Override diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index d23da2a0..6823e196 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -58,31 +58,31 @@ insert - ignore + ignore into basic_bussiness_type (mainAction, action, name, enable, remark, thirdSysFk, genUnit, innerOrder, - secCheckEnable, checkEnable, checkUdims, checkPdaEd, checkPdaUn, checkPc, - checkWebNew, checkSp, checkChange, secCheckUdims, secCheckPdaEd, secCheckPdaUn, - secCheckPc, secCheckWebNew, secCheckChange, secCheckSp, corpType, - supplementOrderType, checkBalance, secCheckBalance, useDyCount, expireTip, - updateTime, defaultUnit, prefix, outToSpms, ullageFill, scanPreIn, vailInv, - entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType, - preInBack, supplementAll, createUser, createTime, updateUser, vailDispatch, - vailGroupBuy, busType, inStock, actionType, thrCheckEnable, thrCheckWebNew, - thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp, - thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, - checkExpire, checkCertExpire, preInBackAction, backPreinType, checkPreInOrders,sortNum) + secCheckEnable, checkEnable, checkUdims, checkPdaEd, checkPdaUn, checkPc, + checkWebNew, checkSp, checkChange, secCheckUdims, secCheckPdaEd, secCheckPdaUn, + secCheckPc, secCheckWebNew, secCheckChange, secCheckSp, corpType, + supplementOrderType, checkBalance, secCheckBalance, useDyCount, expireTip, + updateTime, defaultUnit, prefix, outToSpms, ullageFill, scanPreIn, vailInv, + entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType, + preInBack, supplementAll, createUser, createTime, updateUser, vailDispatch, + vailGroupBuy, busType, inStock, actionType, thrCheckEnable, thrCheckWebNew, + thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp, + thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, + checkExpire, checkCertExpire, preInBackAction, backPreinType, sortNum) values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder}, - #{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc}, - #{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn}, - #{secCheckPc}, #{secCheckWebNew}, #{secCheckChange}, #{secCheckSp}, #{corpType}, - #{supplementOrderType}, #{checkBalance}, #{secCheckBalance}, #{useDyCount}, #{expireTip}, - #{updateTime}, #{defaultUnit}, #{prefix}, #{outToSpms}, #{ullageFill}, #{scanPreIn}, #{vailInv}, - #{entrutSpms}, #{codeFillCheck}, #{defaultSubInv}, #{defaultInv}, #{orderVisibleType}, - #{preInBack}, #{supplementAll}, #{createUser}, #{createTime}, #{updateUser}, #{vailDispatch}, - #{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}, #{thrCheckEnable}, #{thrCheckWebNew}, - #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp}, - #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate}, - #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType}, #{checkPreInOrders}, #{sortNum}) + #{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc}, + #{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn}, + #{secCheckPc}, #{secCheckWebNew}, #{secCheckChange}, #{secCheckSp}, #{corpType}, + #{supplementOrderType}, #{checkBalance}, #{secCheckBalance}, #{useDyCount}, #{expireTip}, + #{updateTime}, #{defaultUnit}, #{prefix}, #{outToSpms}, #{ullageFill}, #{scanPreIn}, #{vailInv}, + #{entrutSpms}, #{codeFillCheck}, #{defaultSubInv}, #{defaultInv}, #{orderVisibleType}, + #{preInBack}, #{supplementAll}, #{createUser}, #{createTime}, #{updateUser}, #{vailDispatch}, + #{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}, #{thrCheckEnable}, #{thrCheckWebNew}, + #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp}, + #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate}, + #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType}, #{sortNum}) - select io_code_lost.*,basic_products.cpmctymc ,basic_products.ggxh from io_code_lost - LEFT JOIN basic_products on io_code_lost.nameCode=basic_products.nameCode + select io_code_lost.*, basic_products.cpmctymc, basic_products.ggxh + from io_code_lost + LEFT JOIN basic_products on io_code_lost.nameCode = basic_products.nameCode - and code like concat('%',#{code},'%') + and code like concat('%', #{code}, '%') - and basic_products.cpmctymc like concat('%',#{cpmctymc},'%') + and basic_products.cpmctymc like concat('%', #{cpmctymc}, '%') - and basic_products.ggxh like concat('%',#{ggxh},'%') + and basic_products.ggxh like concat('%', #{ggxh}, '%') - and batchNo like concat('%',#{batchNo},'%') + and batchNo like concat('%', #{batchNo}, '%') AND date_format(io_code_lost.createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') - diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml index c7d01328..1009d742 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml @@ -30,4 +30,7 @@ group by io_order_detail_code.id + + update io_order_detail_code set count = #{count}, reCount = #{reCount} where id = #{id} + diff --git a/src/main/resources/mybatis/mapper/inout/ReceiveDetailDao.xml b/src/main/resources/mybatis/mapper/inout/ReceiveDetailDao.xml index 36af6a5e..8d10bc27 100644 --- a/src/main/resources/mybatis/mapper/inout/ReceiveDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inout/ReceiveDetailDao.xml @@ -58,7 +58,7 @@ resultType="com.glxp.api.entity.basic.BasicProductsEntity"> SELECT b2.* FROM pur_receive_detail p1 - LEFT JOIN basic_udirel b1 on b1.id = p1.productId + LEFT JOIN basic_udirel b1 on b1.id = p1.relIdFk LEFT JOIN basic_products b2 on b1.uuid = b2.uuid diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml index fa398454..9633c6fc 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml @@ -3,33 +3,32 @@ select ipp.* from inv_prein_product ipp - inner join basic_udirel on ipp.relIdFk = basic_udirel.id - inner join basic_products bp on basic_udirel.uuid = bp.uuid - left join basic_corp on ipp.supId = basic_corp.erpId - left join auth_dept on auth_dept.code = ipp.deptCode - left join auth_warehouse on auth_warehouse.code = ipp.invCode + inner join basic_udirel on ipp.relIdFk = basic_udirel.id + inner join basic_products bp on basic_udirel.uuid = bp.uuid + left join basic_corp on ipp.supId = basic_corp.erpId + left join auth_dept on auth_dept.code = ipp.deptCode + left join auth_warehouse on auth_warehouse.code = ipp.invCode bp.diType = 1 diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 116bb89e..1a09d6f8 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -193,7 +193,7 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'advancePreIn', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'sortNum', 'int', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'preInBackAction', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'backPreinType', 'tinyint', 1); -CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkPreInOrders', 'varchar(255)', 1); +CALL Pro_Temp_ColumnWork('io_order', 'checkPreInOrders', 'varchar(255)', 1); # CALL Pro_Temp_ColumnWork('sup_cert_set', 'foreign', 'tinyint', 3); # CALL Pro_Temp_ColumnWork('sup_cert_set', 'needForeign', 'tinyint', 1);