From 2744ae6894337b7348a1e2ca009a0e9ca26a7fae Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 10 Feb 2023 15:38:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A1=E7=A0=81=E7=BC=96=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E7=94=9F=E6=88=90=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/UdiRelevanceController.java | 39 ++++++------ .../controller/basic/UdiRlSupController.java | 13 +++- .../inout/IoCodeTempController.java | 59 ++++++++++++++++++- .../api/entity/inout/IoCodeTempEntity.java | 3 + .../glxp/api/entity/inv/InvProductEntity.java | 4 +- .../api/res/basic/UdiRelevanceResponse.java | 3 + .../basic/impl/UdiRelevanceServiceImpl.java | 1 - .../api/service/inout/IoAddInoutService.java | 1 + .../service/inout/IoCheckInoutService.java | 1 + .../api/service/inout/IoGenInvService.java | 2 +- .../glxp/api/util/udi/UdiCalCountUtil.java | 10 ++++ 11 files changed, 108 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 0d5d7b067..b685dd674 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -8,10 +8,7 @@ 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.ConstantStatus; -import com.glxp.api.entity.basic.FilterSysEntity; -import com.glxp.api.entity.basic.UdiEntity; -import com.glxp.api.entity.basic.UdiProductEntity; -import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.entity.basic.*; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; @@ -25,10 +22,7 @@ import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicProductThirdSysResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.auth.CustomerService; -import com.glxp.api.service.basic.BasicBackUpdateProductService; -import com.glxp.api.service.basic.BasicUpdateProductService; -import com.glxp.api.service.basic.UdiProductService; -import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.basic.*; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.thrsys.ThrDataService; import com.glxp.api.service.thrsys.ThrSystemService; @@ -64,6 +58,9 @@ public class UdiRelevanceController { private ThrSystemService thrSystemService; @Resource ThrDataService thrDataService; + @Resource + UdiRlSupService udiRlSupService; + @AuthRuleAnnotation("") @GetMapping("/udi/udirel/download") @@ -93,7 +90,7 @@ public class UdiRelevanceController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List udiRelevanceResponses = null; - udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(filterUdiRelRequest.getNameCode(), filterUdiRelRequest.getUnitFk()); + udiRelevanceResponses = udiRelevanceService.filterUdiJoinSup(filterUdiRelRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(udiRelevanceResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -156,19 +153,17 @@ public class UdiRelevanceController { } udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiRelRequest); - - //todo 供应商器械信息还未完成 -// if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { -// for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { -// CompanyProductRelevanceEntity companyProductRelevanceEntity = -// companyProductRelevanceService.findCompanyProductRelevanceByUdiRlIdFk(udiRelevanceResponse.getId() + "", filterUdiInfoRequest.getCustomerId()); -// if (companyProductRelevanceEntity != null) { -// udiRelevanceResponse.setIsSelect(true); -// } else { -// udiRelevanceResponse.setIsSelect(false); -// } -// } -// } + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + UdiRlSupEntity companyProductRelevanceEntity = + udiRlSupService.findCompanyProductRelevanceByUdiRlIdFk(udiRelevanceResponse.getId() + "", filterUdiRelRequest.getCustomerId()); + if (companyProductRelevanceEntity != null) { + udiRelevanceResponse.setIsSelect(true); + } else { + udiRelevanceResponse.setIsSelect(false); + } + } + } PageInfo pageInfo; pageInfo = new PageInfo<>(udiRelevanceResponses); diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index e1df80e2c..d3d220be1 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.basic; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -102,7 +103,17 @@ public class UdiRlSupController { if (!companyProductRelevanceEntities.isEmpty()) { List erpIds = new ArrayList<>(); for (UdiRlSupEntity udiRlSupEntity : companyProductRelevanceEntities) { - erpIds.add(udiRlSupEntity.getUnitFk()); + //过滤,如果默认已经有供应商了,则查出对应供应商即可 + if (StrUtil.isNotEmpty(filterCompanyProductRelevanceRequest.getUnitFk())) { + if (udiRlSupEntity.getUnitFk().equals(filterCompanyProductRelevanceRequest.getUnitFk())) { + erpIds.add(udiRlSupEntity.getUnitFk()); + } + } else { + erpIds.add(udiRlSupEntity.getUnitFk()); + } + } + if (CollUtil.isEmpty(erpIds)) { + return ResultVOUtils.error(500, "该产品未关联供应商"); } List basicUnitMaintainEntities = basicUnitMaintainService.batchSelectByErpIdsAndName(erpIds, filterCompanyProductRelevanceRequest.getKey()); return ResultVOUtils.success(basicUnitMaintainEntities); 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 aef33a536..9024d69d5 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -602,7 +602,7 @@ public class IoCodeTempController extends BaseController { BaseResponse baseResponse = checkRelId(codeEnttity, unitFk); - if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()){ + if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) { String errMsg = ioCheckInoutService.checkCode(codeEnttity); if (errMsg != null) { return ResultVOUtils.error(500, errMsg); @@ -776,6 +776,29 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @PostMapping("/udiwms/addCode/updateBindSup") + public BaseResponse updateBindSup(@RequestBody IoCodeTempEntity warehouseEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (StrUtil.isNotEmpty(warehouseEntity.getMySupId())) { + warehouseEntity.setSupId(warehouseEntity.getMySupId()); + codeTempService.updateById(warehouseEntity); + } else if (warehouseEntity.getRelId() != null) { + warehouseEntity = codeTempService.selectById(warehouseEntity.getId()); + int reCount = udiCalCountUtil.getActCount(warehouseEntity); + warehouseEntity.setReCount(reCount); + codeTempService.updateById(warehouseEntity); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(warehouseEntity.getAction()); + BaseResponse baseResponse = checkSupId(bussinessTypeEntity, warehouseEntity, warehouseEntity.getSupId()); + if (baseResponse != null) + return baseResponse; + } + return ResultVOUtils.success("绑定成功"); + } + @Resource IoOrderDetailCodeService ioOrderDetailCodeService; @@ -815,4 +838,38 @@ public class IoCodeTempController extends BaseController { } + @AuthRuleAnnotation("") + @PostMapping("warehouse/inout/saveTempCode") + public BaseResponse saveCode(@RequestBody IoCodeTempEntity codeTempEntity) { + + if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo()) && codeTempEntity.getSerialNo().length() > 20) { + return ResultVOUtils.error(500, "无效条码!序列号超出最大范围"); + } + + if (StrUtil.isNotEmpty(codeTempEntity.getBatchNo()) && codeTempEntity.getBatchNo().length() > 20) { + return ResultVOUtils.error(500, "无效条码!批次号超出最大范围"); + } + + if (StrUtil.isBlank(codeTempEntity.getSerialNo()) && StrUtil.isBlank(codeTempEntity.getBatchNo())) { + return ResultVOUtils.error(500, "批次号不能为空!"); + } + + if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { + List codeTempEntityList = codeTempService.findByOrderId(codeTempEntity.getOrderId()); + for (IoCodeTempEntity object : codeTempEntityList) { + if (object.getId() != codeTempEntity.getId() && object.getCode().equals(codeTempEntity.getCode()) && StrUtil.nullToEmpty(object.getCode()).equals(codeTempEntity.getSerialNo())) { + return ResultVOUtils.error(500, "条码重复!"); + } + } + } + if (codeTempEntity.getCount() != null && codeTempEntity.getCount() <= 0) { + return ResultVOUtils.error(500, "数量不能小于0"); + } + int b = codeTempService.updateById(codeTempEntity); + if (b > 0) + return ResultVOUtils.success("修改成功"); + else return ResultVOUtils.error(500, "修改失败!"); + } + + } diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index be9dab173..1f663c4fc 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -137,5 +137,8 @@ public class IoCodeTempEntity { @TableField(exist = false) private Integer status; //条码校验状态 + @TableField(exist = false) + private String mySupId; //更新供应商 + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java index 3ff6b5d77..77b57e995 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java @@ -60,13 +60,13 @@ public class InvProductEntity { * 实际数量 */ @TableField(value = "reCount") - private String reCount; + private Integer reCount; /** * 客户ID */ @TableField(value = "customerId") - private Integer customerId; + private String customerId; /** * 供应商ID diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index 6af2b165c..8ac84d907 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -84,6 +84,9 @@ public class UdiRelevanceResponse { private String basicPrductRemak8; private BigDecimal price; + private Boolean isSelect; + + //关联查询字典 private String unitFk; //供应商ID private String companyName; //供应商名称 diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java index d5839fabb..028103825 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java @@ -49,7 +49,6 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); } - List data = udiRelevanceDao.filterUdiJoinSup(filterUdiRelRequest); return data; } 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 4bd4260b4..118fcf6ef 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -77,6 +77,7 @@ public class IoAddInoutService { orderEntity.setRemark("正在处理!"); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESSING); + orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); 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 1675c63bb..50dbe5b6c 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -375,6 +375,7 @@ public class IoCheckInoutService { } if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { + orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_CHECK); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); genInv(orderEntity, bussinessTypeEntity); 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 b8d11acae..27a618102 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -101,8 +101,8 @@ public class IoGenInvService { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductEntity.setInCount(invProductEntity.getInCount() + orderDetailResultEntity.getReCount()); } + invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); invProductEntity.setUpdateTime(new Date()); -// invProductEntities.add(invProductEntity); invProductService.update(invProductEntity); } diff --git a/src/main/java/com/glxp/api/util/udi/UdiCalCountUtil.java b/src/main/java/com/glxp/api/util/udi/UdiCalCountUtil.java index ab7cbfc5c..fea017c4d 100644 --- a/src/main/java/com/glxp/api/util/udi/UdiCalCountUtil.java +++ b/src/main/java/com/glxp/api/util/udi/UdiCalCountUtil.java @@ -1,5 +1,6 @@ package com.glxp.api.util.udi; +import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.basic.UdiRelevanceService; import org.springframework.stereotype.Service; @@ -39,5 +40,14 @@ public class UdiCalCountUtil { return actCount; } + public int getActCount(IoCodeTempEntity codeTempEntity) { + if (codeTempEntity.getRelId() != null) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); + int count = getActCount(udiRelevanceResponse); + return codeTempEntity.getCount() * count; + } + return 1; + } + }