From 722cd0946deb022ac0e473a4d68765b0085f648a Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Tue, 29 Mar 2022 14:14:42 +0800 Subject: [PATCH] =?UTF-8?q?di=E7=BB=91=E5=AE=9A=E5=A4=9A=E4=B8=AA=E4=BA=A7?= =?UTF-8?q?=E5=93=81ID=EF=BC=8C=E4=BA=A7=E5=93=81=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E4=BE=9B=E5=BA=94=E5=95=86=EF=BC=8C=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sale/admin/constant/ConstantStatus.java | 7 +- .../basic/BasicUnitMaintainController.java | 3 +- .../basic/CorpImportLogController.java | 3 +- .../basic/UdiInfoImportLogController.java | 3 +- .../basic/UdiRelevanceController.java | 26 +- .../CompanyProductRelevanceController.java | 30 +++ .../inout/StockOrderController.java | 3 +- .../controller/inout/WareHouseController.java | 246 ++++++++++++------ .../inout/utils/CheckOrderUtils.java | 124 ++++----- .../inventory/InvWarehouseController.java | 5 + .../thrsys/ThrCorpImportLogController.java | 3 +- .../thrsys/ThrInvWarehouseController.java | 9 +- .../thrsys/ThrOrderImportLogController.java | 3 +- .../ThrProductsImportLogController.java | 3 +- .../admin/dao/basic/BasicUnitMaintainDao.java | 2 + .../sale/admin/dao/inout/CodesTempDao.java | 4 + .../admin/dao/inventory/InvPreProductDao.java | 2 + .../admin/dao/inventory/InvProductDao.java | 2 + .../entity/basic/BasicUnitMaintainEntity.java | 1 + .../basic/BussinessLocalTypeEntity.java | 3 +- .../admin/entity/inout/ErpOrderEntity.java | 1 + .../admin/entity/inout/WarehouseEntity.java | 1 + .../entity/inventory/InvWarehouseEntity.java | 1 + .../basic/BasicUnitMaintainFilterRequest.java | 1 + .../res/inventory/InvProductResponse.java | 1 + .../res/inventory/InvWarehouseResponse.java | 1 + .../auth/impl/CustomerInfoServiceImpl.java | 7 +- .../basic/BasicUnitMaintainService.java | 2 + .../impl/BasicUnitMaintainServiceImpl.java | 5 + .../admin/service/inout/CodesTempService.java | 6 + .../inout/impl/CodesTempServiceImpl.java | 23 ++ .../inventory/InvPreProductService.java | 2 + .../service/inventory/InvProductService.java | 2 + .../impl/InvPreProductServiceImpl.java | 5 + .../inventory/impl/InvProductServiceImpl.java | 5 + .../admin/thread/InvProductsTrService.java | 41 +-- .../admin/thread/IoTransInoutService.java | 132 ++++++++-- .../mybatis/mapper/auth/AuthAdminDao.xml | 2 +- .../mapper/basic/BasicUnitMaintainDao.xml | 21 +- .../mapper/basic/BussinessLocalTypeDao.xml | 3 +- .../mybatis/mapper/inout/CodesTempDao.xml | 57 +++- .../mybatis/mapper/inout/OrderDetailDao.xml | 15 +- .../mapper/inventory/InvPreProductDao.xml | 34 ++- .../mapper/inventory/InvProductDao.xml | 21 +- .../mapper/inventory/InvWarehouseDao.xml | 51 ++-- 45 files changed, 670 insertions(+), 252 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java index f5a0498..73d3d09 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java @@ -72,14 +72,19 @@ public class ConstantStatus { public static final int CORP_SICK = 1; //病人 public static final int CORP_SP = 2; //供应商 public static final int CORP_INTTERNAL = 3; //内部科室等 + public static final int CORP_SPECIAL = 4; //内部科室等 //往来信息类型-单据 - public static final int CORP_TYPE_INPUT = 2; //病人 + public static final int CORP_TYPE_INPUT = 2; //客户 public static final int CORP_TYPE_OUT = 0; //供应商 public static final int CORP_TYPE_INNOR = 1; //内部科室等 + public static final int CORP_TYPE_SPECIAL = 3; + public static final int CORP_SICK_SICK=1; + public static final int CORP_SICK_CUS = 2; + //单据来源 public static final int FROM_UDIMS = 1; //1.UDIMS平台 public static final int FROM_WEBNEW = 2; //网页新增 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java index 1810153..3a5e1af 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java @@ -77,7 +77,7 @@ public class BasicUnitMaintainController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List basicUnitMaintainEntities; -// basicUnitMaintainFilterRequest.setCorpType(ConstantStatus.CORP_SP); + basicUnitMaintainFilterRequest.setOutType(ConstantStatus.CORP_SICK_SICK); basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest); PageInfo pageInfo = new PageInfo<>(basicUnitMaintainEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -126,6 +126,7 @@ public class BasicUnitMaintainController { BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity(); BeanUtils.copyProperties(basicUnitMaintainSaveRequest, basicUnitMaintainEntity); basicUnitMaintainEntity.setErpId(CustomUtil.getId()); + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_CUS); boolean b = basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/CorpImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/CorpImportLogController.java index 0e39f49..1386cef 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/CorpImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/CorpImportLogController.java @@ -29,6 +29,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; +import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -134,7 +135,7 @@ public class CorpImportLogController { try { String fileType = fileName.substring(fileName.lastIndexOf(".")); if (".udi".equalsIgnoreCase(fileType)) { - String jsonData = IoUtil.read(file.getInputStream()).toString(); + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); BasicUnitMaintainExportResponse data = JSONUtil.toBean(jsonData, BasicUnitMaintainExportResponse.class); //导入日志 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java index b021f57..aae2649 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java @@ -30,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; +import java.nio.charset.StandardCharsets; import java.sql.Date; import java.util.List; @@ -139,7 +140,7 @@ public class UdiInfoImportLogController { return ResultVOUtils.error(500, "请上传udi文件"); } //导入数据 - String jsonData = IoUtil.read(file.getInputStream()).toString(); + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); // UdiRelevanceExportJsonResponse importData = JSON.parse(jsonData, UdiRelevanceExportJsonResponse.class); UdiRelevanceExportJsonResponse importData = JSONObject.parseObject(jsonData, new TypeReference() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java index ef46ca6..0a1dfb1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java @@ -12,6 +12,7 @@ import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; +import com.glxp.sale.admin.entity.inventory.InvProductEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.thrsys.ThrProductsEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; @@ -26,6 +27,8 @@ import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; import com.glxp.sale.admin.service.inout.CodesService; +import com.glxp.sale.admin.service.inventory.InvPreProductService; +import com.glxp.sale.admin.service.inventory.InvProductService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.thread.BasicBackUpdateProductService; @@ -76,6 +79,10 @@ public class UdiRelevanceController { BasicThirdSysDetailService basicThirdSysDetailService; @Resource ThrDataService thrDataService; + @Resource + InvProductService invProductService; + @Resource + InvPreProductService invPreProductService; @Resource private CompanyProductRelevanceService companyProductRelevanceService; @@ -249,7 +256,7 @@ public class UdiRelevanceController { if (datas.isEmpty()) { return ResultVOUtils.success("无被选入!"); } else { - return ResultVOUtils.error(499, "所选产品DI已经被"+"第三方产品ID"+"绑定,您确定继续对照"); + return ResultVOUtils.error(499, "所选产品DI已经被" + "第三方产品ID" + "绑定,您确定继续对照"); } } return ResultVOUtils.success("合并成功"); @@ -344,6 +351,23 @@ public class UdiRelevanceController { return ResultVOUtils.success("更新成功"); } + //更换关联ERP产品 + @AuthRuleAnnotation("") + @PostMapping("/udi/udirel/disable") + public BaseResponse disable(@RequestBody CombineRequest combineRequest) { + + InvProductEntity invProductEntity = invProductService.selectExit(combineRequest.getRelId()); + if (invProductEntity != null) { + return ResultVOUtils.error(500, "库存已存在,无法禁用"); + } + + InvProductEntity invPreProductEntity = invPreProductService.selectExit(combineRequest.getRelId()); + if (invPreProductEntity != null) { + return ResultVOUtils.error(500, "库存已存在,无法禁用"); + } + return ResultVOUtils.success("更新成功"); + } + public void removeProducts(CombineRequest combineRequest) { UdiRelevanceEntity temp = udiRelevanceService.selectById(combineRequest.getRelId()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java index 84bb01b..8c56659 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java @@ -2,7 +2,9 @@ package com.glxp.sale.admin.controller.info; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; +import com.glxp.sale.admin.controller.basic.BasicUnitMaintainController; import com.glxp.sale.admin.entity.auth.AuthAdmin; +import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.exception.JsonException; @@ -14,6 +16,7 @@ import com.glxp.sale.admin.req.info.FilterCompanyProductRelevanceRequest; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.CompanyProductRelevanceResponse; import com.glxp.sale.admin.service.auth.AuthAdminService; +import com.glxp.sale.admin.service.basic.BasicUnitMaintainService; import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.thread.CompanyProductsRelService; @@ -30,6 +33,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -43,6 +47,8 @@ public class CompanyProductRelevanceController { private CompanyProductsRelService companyProductsRelService; @Resource CompanyService companyService; + @Resource + private BasicUnitMaintainService basicUnitMaintainService; @AuthRuleAnnotation("") @GetMapping("/sale/info/company/product/relevance/filter") @@ -72,6 +78,30 @@ public class CompanyProductRelevanceController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("/sale/info/company/product/corp/filter") + public BaseResponse filterRlCorp(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List companyProductRelevanceEntities = + companyProductRelevanceService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest); + + if (!companyProductRelevanceEntities.isEmpty()) { + List erpIds = new ArrayList<>(); + for (CompanyProductRelevanceEntity companyProductRelevanceEntity : companyProductRelevanceEntities) { + erpIds.add(companyProductRelevanceEntity.getUnitFk()); + } + List basicUnitMaintainEntities = basicUnitMaintainService.batchSelectByErpIds(erpIds); + return ResultVOUtils.success(basicUnitMaintainEntities); + } + return ResultVOUtils.error(500, "该产品未关联供应商!"); + + } + + @AuthRuleAnnotation("") @GetMapping("/sale/info/companyProductRelevance") public BaseResponse getCompanyProductRelevanceInfo(CompanyRequest companyRequest) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java index cc07d9a..34bae36 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java @@ -185,11 +185,12 @@ public class StockOrderController { if (stockOrderPostRequest.getCorpId() == null) { BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(stockOrderPostRequest.getCorpName()); BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); - if (basicUnitMaintainEntity == null && bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) { + if (basicUnitMaintainEntity == null && bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessLocalTypeEntity.isGenUnit()) { basicUnitMaintainEntity = new BasicUnitMaintainEntity(); basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); stockOrderPostRequest.setCorpId(basicUnitMaintainEntity.getErpId()); basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK); basicUnitMaintainEntity.setName(stockOrderPostRequest.getCorpName()); basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java index 037f4d4..4046305 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java @@ -16,14 +16,17 @@ import com.glxp.sale.admin.entity.inout.OrderEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; import com.glxp.sale.admin.exception.JsonException; +import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.BussinessTypResponse; +import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.res.inout.WarehouseResponse; import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.basic.BasicUnitMaintainService; import com.glxp.sale.admin.service.basic.BussinessTypeService; +import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.thread.IoTransInoutService; @@ -77,6 +80,8 @@ public class WareHouseController { private WarehouseBussinessTypeService warehouseBussinessTypeService; @Resource CustomerService customerService; + @Resource + UdiRelevanceService udiRelevanceService; @AuthRuleAnnotation("") @GetMapping("admin/warehouse/inout/list") @@ -237,6 +242,14 @@ public class WareHouseController { orderEntity1.setFromCorpId(addOrderRequest.getFromCorpId()); orderEntity1.setLocStorageCode(addOrderRequest.getLocStorageCode()); orderService.updateOrder(orderEntity1); + WarehouseEntity warehouseEntity = new WarehouseEntity(); + warehouseEntity.setOrderId(addOrderRequest.getOrderId()); + warehouseEntity.setAction(addOrderRequest.getAction()); + warehouseEntity.setMainAction(addOrderRequest.getMainAction()); + warehouseEntity.setFromCorp(addOrderRequest.getAction()); + warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId()); + warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode()); + codesTempService.updateByOrderId(warehouseEntity); return ResultVOUtils.success(); } @@ -257,102 +270,169 @@ public class WareHouseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - try { - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getBillType()); - String code = addOrderRequest.getCode(); - if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); - UdiEntity udiEntity = FilterUdiUtils.getUdi(code); - if (udiEntity == null) - return ResultVOUtils.error(500, "UDI码格式错误!"); - String orderId = addOrderRequest.getOrderId(); - if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) { - CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); - addOrderRequest.setFromCorp(companyEntity.getCompanyName()); - addOrderRequest.setFromCorpId((companyEntity.getUnitIdFk())); - } else { - if (addOrderRequest.getFromCorpId() == null) { - BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp()); - if (basicUnitMaintainEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) { - basicUnitMaintainEntity = new BasicUnitMaintainEntity(); - basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); - addOrderRequest.setFromCorpId((basicUnitMaintainEntity.getErpId())); - basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); - basicUnitMaintainEntity.setName(addOrderRequest.getFromCorp()); - addOrderRequest.setFromCorp(basicUnitMaintainEntity.getName()); - basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); - } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getAction()); + String code = addOrderRequest.getCode(); + if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); + if (udiEntity == null) + return ResultVOUtils.error(500, "UDI码格式错误!"); + String orderId = addOrderRequest.getOrderId(); + if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) { + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); + addOrderRequest.setFromCorp(companyEntity.getCompanyName()); + addOrderRequest.setFromCorpId((companyEntity.getUnitIdFk())); + } else { + if (addOrderRequest.getFromCorpId() == null) { + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp()); + if (basicUnitMaintainEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { + basicUnitMaintainEntity = new BasicUnitMaintainEntity(); + basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); + addOrderRequest.setFromCorpId((basicUnitMaintainEntity.getErpId())); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK); + basicUnitMaintainEntity.setName(addOrderRequest.getFromCorp()); + addOrderRequest.setFromCorp(basicUnitMaintainEntity.getName()); + basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); } } + } + //先生产扫码单据 + if (StringUtils.isBlank(orderId)) { + orderId = "SM" + CustomUtil.getId(); + OrderEntity orderSaveRequest = new OrderEntity(); + orderSaveRequest.setId(orderId); + if (addOrderRequest.getActDate() != null) { + orderSaveRequest.setActDate(addOrderRequest.getActDate()); + } + + Integer userId = customerService.getUserId(); + orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction()); + orderSaveRequest.setAction(bussinessTypeEntity.getAction()); + orderSaveRequest.setActor(addOrderRequest.getActor()); + orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); + orderSaveRequest.setLocStorageCode(addOrderRequest.getLocStorageCode()); + orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); + orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); + orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); + orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); + orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); + orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN); + orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); + orderSaveRequest.setCustomerId(customerService.getCustomerId() + ""); + orderSaveRequest.setCreateUser(userId); + orderService.insertOrder(orderSaveRequest); + } - if (StringUtils.isBlank(orderId)) { - orderId = "SM" + CustomUtil.getId(); - OrderEntity orderSaveRequest = new OrderEntity(); - orderSaveRequest.setId(orderId); - if (addOrderRequest.getActDate() != null) { - orderSaveRequest.setActDate(addOrderRequest.getActDate()); - } - Integer userId = customerService.getUserId(); - orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction()); - orderSaveRequest.setAction(bussinessTypeEntity.getAction()); - orderSaveRequest.setActor(addOrderRequest.getActor()); - orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); - orderSaveRequest.setLocStorageCode(addOrderRequest.getLocStorageCode()); - orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); - orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); - orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); - orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); - orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); - orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); - orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN); - orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); - orderSaveRequest.setCustomerId(customerService.getCustomerId() + ""); - orderSaveRequest.setCreateUser(userId); - orderService.insertOrder(orderSaveRequest); + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + warehouseQueryRequest.setCode(code); + List warehouseEntitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest); + WarehouseEntity warehouseEntity = new WarehouseEntity(); + if (warehouseEntitys.size() > 0) { + warehouseEntity = warehouseEntitys.get(0); + warehouseEntity.setCount(warehouseEntity.getCount() + 1); + if (StringUtils.isBlank(warehouseEntity.getSerialNo())) { + codesTempService.updateById(warehouseEntity); + } else { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT); } - WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); - warehouseQueryRequest.setOrderId(orderId); - warehouseQueryRequest.setCode(code); - List warehouseEntitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest); - WarehouseEntity warehouseEntity = new WarehouseEntity(); - if (warehouseEntitys.size() > 0) { - warehouseEntity = warehouseEntitys.get(0); - warehouseEntity.setCount(warehouseEntity.getCount() + 1); - if (StringUtils.isBlank(warehouseEntity.getSerialNo())) { - codesTempService.updateById(warehouseEntity); - } else { - return ResultVOUtils.error(ResultEnum.DATA_REPEAT); - } + } else { + + warehouseEntity.setCode(code); + warehouseEntity.setOrderId(orderId); + warehouseEntity.setCorpOrderId(addOrderRequest.getCorpOrderId()); + warehouseEntity.setActDate(addOrderRequest.getActDate()); + warehouseEntity.setMainAction(bussinessTypeEntity.getMainAction()); + warehouseEntity.setAction(bussinessTypeEntity.getAction()); + warehouseEntity.setActor(addOrderRequest.getActor()); + warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId()); + warehouseEntity.setFromCorp(addOrderRequest.getFromCorp()); + warehouseEntity.setBatchNo(udiEntity.getBatchNo()); + warehouseEntity.setProduceDate(udiEntity.getProduceDate()); + warehouseEntity.setNameCode(udiEntity.getUdi()); + warehouseEntity.setExpireDate(udiEntity.getExpireDate()); + warehouseEntity.setSerialNo(udiEntity.getSerialNo()); + warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode()); + warehouseEntity.setCount(1); + List warehouseEntityList = new ArrayList<>(); + warehouseEntityList.add(warehouseEntity); + + BaseResponse baseResponse = checkRelId(warehouseEntity); + warehouseEntity = codesTempService.findByUnique(warehouseEntity.getOrderId(), warehouseEntity.getCode()); + if (baseResponse == null) { + baseResponse = checkSupId(bussinessTypeEntity, warehouseEntity); + if (baseResponse != null) + return baseResponse; } else { - warehouseEntity.setCode(code); - warehouseEntity.setOrderId(orderId); - warehouseEntity.setCorpOrderId(addOrderRequest.getCorpOrderId()); - warehouseEntity.setActDate(addOrderRequest.getActDate()); - warehouseEntity.setMainAction(bussinessTypeEntity.getMainAction()); - warehouseEntity.setAction(bussinessTypeEntity.getAction()); - warehouseEntity.setActor(addOrderRequest.getActor()); - warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId()); - warehouseEntity.setFromCorp(addOrderRequest.getFromCorp()); - warehouseEntity.setBatchNo(udiEntity.getBatchNo()); - warehouseEntity.setProduceDate(udiEntity.getProduceDate()); - warehouseEntity.setNameCode(udiEntity.getUdi()); - warehouseEntity.setExpireDate(udiEntity.getExpireDate()); - warehouseEntity.setSerialNo(udiEntity.getSerialNo()); - warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode()); - warehouseEntity.setCount(1); - List warehouseEntityList = new ArrayList<>(); - warehouseEntityList.add(warehouseEntity); - codesTempService.insertCodesTempSingle(warehouseEntity); + checkSupId(bussinessTypeEntity, warehouseEntity); + return baseResponse; } - return ResultVOUtils.success(orderId); - } catch (Exception e) { - return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + + } + return ResultVOUtils.success(orderId); + } + + public BaseResponse checkRelId(WarehouseEntity warehouseEntity) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode()); + List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && warehouseEntity.getRelId() == null) {//同一个DI绑定多个产品西信息 + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + codesTempService.insertCodesTempSingle(warehouseEntity); + warehouseEntity = codesTempService.findByUnique(warehouseEntity.getOrderId(), warehouseEntity.getCode()); + BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品"); + baseResponse.setData(warehouseEntity); + return baseResponse; + } else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) {//未找到产品信息,一般不会出现 + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(2); + return ResultVOUtils.error(501, "产品信息未维护!"); + } else { + warehouseEntity.setStatus(0); + if (warehouseEntity.getRelId() == null) + warehouseEntity.setRelId(udiRelevanceEntities.get(0).getId() + ""); } + codesTempService.insertCodesTempSingle(warehouseEntity); + return null; + } + public BaseResponse checkSupId(BussinessTypeEntity bussinessTypeEntity, WarehouseEntity warehouseEntity) { + String originSupId = ioTransInoutService.checkOriginExitSup(bussinessTypeEntity, warehouseEntity); + if (originSupId != null) { + warehouseEntity.setSupId(originSupId); + } else { + String supId = ioTransInoutService.checkExitSup(warehouseEntity.getRelId()); + if (supId == null || "MUTI".equals(supId)) { + warehouseEntity.setSupId(null); + BaseResponse baseResponse = ResultVOUtils.error(503, "该产品绑定多供应商,请指定对应的供应商"); + baseResponse.setData(warehouseEntity); + return baseResponse; + } else { + warehouseEntity.setSupId(supId); + } + } + codesTempService.updateById(warehouseEntity); + return null; } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/addCode/updateBindSup") + public BaseResponse updateBindSup(@RequestBody WarehouseEntity warehouseEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + boolean b = codesTempService.update(warehouseEntity); + return ResultVOUtils.success("绑定成功"); + } + + //网页端数据上传调用接口 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/postOrdersWeb") diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java index c66fe0c..ff8f6b4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java @@ -47,81 +47,83 @@ public class CheckOrderUtils { for (ErpOrderEntity myErpOrder : myErpOrders) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setNameCode(myErpOrder.getNameCode()); - List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); - if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && myErpOrder.getBindRlFk() == null) { - myErpOrder.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); - orderDetailService.updateErpOrder(myErpOrder); - orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderService.updateOrder(orderEntity); - return; - } else { - for (ErpOrderEntity vailOrderEntity : vailOrderEntities) { - UdiRelevanceResponse udiRelevanceResponse = null; - if (udiRelevanceEntities.size() == 1) { - udiRelevanceResponse = udiRelevanceEntities.get(0); - } else { - for (UdiRelevanceResponse temps : udiRelevanceEntities) { - if ((temps.getId() + "").equals(myErpOrder.getBindRlFk())) { - udiRelevanceResponse = temps; - } - } - } - if (checkId(vailOrderEntity, udiRelevanceResponse) == null - && checkBatchNo(vailOrderEntity, myErpOrder) == null - && checkProductDate(vailOrderEntity, myErpOrder) == null - && checkExpireDate(vailOrderEntity, myErpOrder) == null - && checkWarehouse(vailOrderEntity, myErpOrder) == null - && checkCount(vailOrderEntity, myErpOrder) == null - ) { - - myErpOrder.setErpOrderId(vailOrderEntity.getErpOrderId()); - myErpOrder.setErpCount(vailOrderEntity.getErpCount()); - myErpOrder.setReCount(vailOrderEntity.getReCount()); - myErpOrder.setGoodsname(vailOrderEntity.getGoodsname()); - myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); - myErpOrder.setStatus("success"); - vailOrderEntity.setStatus("success"); - orderDetailService.updateErpOrder(myErpOrder); - - break; - } else { - errMsg = checkBatchNo(vailOrderEntity, myErpOrder); + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(myErpOrder.getBindRlFk()); +// List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); +// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && myErpOrder.getBindRlFk() == null) { +// myErpOrder.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// orderDetailService.updateErpOrder(myErpOrder); +// orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); +// orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); +// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); +// orderService.updateOrder(orderEntity); +// return; +// } else { + for (ErpOrderEntity vailOrderEntity : vailOrderEntities) { +// UdiRelevanceResponse udiRelevanceResponse = null; +// if (udiRelevanceEntities.size() == 1) { +// udiRelevanceResponse = udiRelevanceEntities.get(0); +// } else { +// for (UdiRelevanceResponse temps : udiRelevanceEntities) { +// if ((temps.getId() + "").equals(myErpOrder.getBindRlFk())) { +// udiRelevanceResponse = temps; +// } +// } +// } + if (checkId(vailOrderEntity, udiRelevanceResponse) == null + && checkBatchNo(vailOrderEntity, myErpOrder) == null + && checkProductDate(vailOrderEntity, myErpOrder) == null + && checkExpireDate(vailOrderEntity, myErpOrder) == null + && checkWarehouse(vailOrderEntity, myErpOrder) == null + && checkCount(vailOrderEntity, myErpOrder) == null + ) { + + myErpOrder.setErpOrderId(vailOrderEntity.getErpOrderId()); + myErpOrder.setErpCount(vailOrderEntity.getErpCount()); + myErpOrder.setReCount(vailOrderEntity.getReCount()); + myErpOrder.setGoodsname(vailOrderEntity.getGoodsname()); + myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); + myErpOrder.setStatus("success"); + vailOrderEntity.setStatus("success"); + orderDetailService.updateErpOrder(myErpOrder); + + break; + } else { + errMsg = checkBatchNo(vailOrderEntity, myErpOrder); + if (errMsg == null) { + errMsg = checkId(vailOrderEntity, udiRelevanceResponse); if (errMsg == null) { - errMsg = checkId(vailOrderEntity, udiRelevanceResponse); + errMsg = checkProductDate(vailOrderEntity, myErpOrder); if (errMsg == null) { - errMsg = checkProductDate(vailOrderEntity, myErpOrder); + errMsg = checkExpireDate(vailOrderEntity, myErpOrder); if (errMsg == null) { - errMsg = checkExpireDate(vailOrderEntity, myErpOrder); + errMsg = checkWarehouse(vailOrderEntity, myErpOrder); if (errMsg == null) { - errMsg = checkWarehouse(vailOrderEntity, myErpOrder); - if (errMsg == null) { - errMsg = checkCount(vailOrderEntity, myErpOrder); - if (errMsg != null) { - myErpOrder.setErpCount(vailOrderEntity.getErpCount()); - myErpOrder.setReCount(vailOrderEntity.getReCount()); - myErpOrder.setGoodsname(vailOrderEntity.getGoodsname()); - myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); - myErpOrder.setStatus("fail"); - vailOrderEntity.setStatus("fail"); - orderDetailService.updateErpOrder(myErpOrder); - break; - } + errMsg = checkCount(vailOrderEntity, myErpOrder); + if (errMsg != null) { + myErpOrder.setErpCount(vailOrderEntity.getErpCount()); + myErpOrder.setReCount(vailOrderEntity.getReCount()); + myErpOrder.setGoodsname(vailOrderEntity.getGoodsname()); + myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); + myErpOrder.setStatus("fail"); + vailOrderEntity.setStatus("fail"); + orderDetailService.updateErpOrder(myErpOrder); + break; } } } } } - - } + } + } + } - } +// } if (checkFinish(myErpOrders, vailOrderEntities)) { orderEntity.setRemark("校验成功"); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); @@ -193,7 +195,7 @@ public class CheckOrderUtils { if (bussinessTypeEntity.isSecCheckChange()) { return ConstantStatus.SORDER_CHECKED; } - }else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) { + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) { if (bussinessTypeEntity.isSecCheckBalacne()) { return ConstantStatus.SORDER_CHECKED; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java index 14efb6a..a55da2a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java @@ -83,6 +83,7 @@ public class InvWarehouseController { @GetMapping("spms/inv/warehouse/filterAll") public BaseResponse filterAllInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) { filterInvWarehouseRequest.setPid(0); + filterInvWarehouseRequest.setStatus(1); List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); return ResultVOUtils.success(invWarehouseEntities); } @@ -92,6 +93,7 @@ public class InvWarehouseController { @GetMapping("spms/inv/warehouse/filterAllLocInv") public BaseResponse filterAllLocInv(FilterInvWarehouseRequest filterInvWarehouseRequest) { filterInvWarehouseRequest.setPid(0); + filterInvWarehouseRequest.setStatus(1); List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("corp_innor_inv"); List temps = new ArrayList<>(); @@ -163,6 +165,9 @@ public class InvWarehouseController { filterInvWarehouseRequest.setPid(invWarehouseEntity.getPid()); InvWarehouseEntity codeEntity = invWarehouseService.selectMaxCode(filterInvWarehouseRequest); invWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); + if (invWarehouseEntity.getLevel() == 1) { + invWarehouseEntity.setPcode("0"); + } } else {//货位 FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java index ae4de6d..2e9da11 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java @@ -24,6 +24,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; +import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -116,7 +117,7 @@ public class ThrCorpImportLogController { return ResultVOUtils.error(500, "请上传udi文件"); } //导入数据 - String jsonData = IoUtil.read(file.getInputStream()).toString(); + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); List thrCorpEntities = com.alibaba.fastjson.JSON.parseArray(jsonData, ThrCorpEntity.class); //导入日志 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java index e5ceaba..e1e0757 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java @@ -76,7 +76,14 @@ public class ThrInvWarehouseController { FilterThrInvWarehouseRequest filterThrInvWarehouseRequest = new FilterThrInvWarehouseRequest(); filterThrInvWarehouseRequest.setPid(thrInvWarehouseEntity.getPid()); ThrInvWarehouseEntity codeEntity = thrInvWarehouseService.selectMaxCode(filterThrInvWarehouseRequest); - thrInvWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); +// if(codeEntity == null) + if (codeEntity == null) { + int code = Integer.parseInt("1") * 1000; + thrInvWarehouseEntity.setCode(code + ""); + } else { + thrInvWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); + } +// thrInvWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); } else {//货位 FilterThrInvWarehouseRequest filterThrInvWarehouseRequest = new FilterThrInvWarehouseRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java index 1de75f4..200319c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java @@ -34,6 +34,7 @@ import javax.annotation.Resource; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -328,7 +329,7 @@ public class ThrOrderImportLogController { try { String fileType = fileName.substring(fileName.lastIndexOf(".")); if (".udi".equalsIgnoreCase(fileType)) { - String jsonData = IoUtil.read(file.getInputStream()).toString(); + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); ThrOrderExportJsonResponse data = JSONUtil.toBean(jsonData, ThrOrderExportJsonResponse.class); //导入日志 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java index fd788b6..9837178 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java @@ -28,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; +import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -119,7 +120,7 @@ public class ThrProductsImportLogController { return ResultVOUtils.error(500, "请上传udi文件"); } //导入数据 - String jsonData = IoUtil.read(file.getInputStream()).toString(); + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); List thrProductsEntities = JSON.parseArray(jsonData, ThrProductsEntity.class); //导入日志 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BasicUnitMaintainDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BasicUnitMaintainDao.java index e9405d7..7f587ac 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BasicUnitMaintainDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BasicUnitMaintainDao.java @@ -12,6 +12,7 @@ public interface BasicUnitMaintainDao { List filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); boolean insertBasicUnitMaintain(BasicUnitMaintainEntity basicUnitMaintainEntity); + boolean insertBasicUnitMaintainignore(BasicUnitMaintainEntity basicUnitMaintainEntity); boolean insert(BasicUnitMaintainEntity basicUnitMaintainEntity); @@ -26,6 +27,7 @@ public interface BasicUnitMaintainDao { List batchSelectByIds(@Param("ids") List id); + List batchSelectByErpIds(@Param("erpIds") List erpIds); BasicUnitMaintainEntity selectByName(@Param("name") String name); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java index 3f9de58..bd19b83 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java @@ -16,6 +16,10 @@ public interface CodesTempDao { int updateById(WarehouseEntity warehouseEntitie); + boolean update(WarehouseEntity warehouseEntity); + + boolean updateByOrderId(WarehouseEntity warehouseEntity); + boolean updateOrderId(@Param("oldOrderId") String oldOrderId, @Param("newOrderId") String newOrderId); int deleteCodesTemp(@Param("codes") List warehouseEntities); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java index 66fde7f..3df679a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java @@ -26,6 +26,8 @@ public interface InvPreProductDao { InvProductEntity selectById(@Param("id") String id); + InvProductEntity selectExit(@Param("relIdFk") String id); + boolean deleteById(@Param("id") String id); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java index ac89dcd..f639c7b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java @@ -16,6 +16,8 @@ public interface InvProductDao { List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + InvProductEntity selectExit(@Param("relIdFk") String id); + boolean insertInvProduct(InvProductEntity invProductEntity); boolean updateInvProduct(InvProductEntity invProductEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java index ed955d6..f9c21b5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java @@ -32,6 +32,7 @@ public class BasicUnitMaintainEntity { private Date updateTime; private int corpType; + private int outType; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java index cb24a7d..b44655f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java @@ -19,5 +19,6 @@ public class BussinessLocalTypeEntity { private boolean spUse; private String storageCode; private int corpType; - + private String defaultUnit; + private boolean genUnit; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java index 040c1a4..b8e6c04 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java @@ -40,6 +40,7 @@ public class ErpOrderEntity { private Integer reCount; private String uuidFk; private String supId; + private String supName; private Integer bindSupStatus; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java index 74f3b4b..1ad2656 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java @@ -25,6 +25,7 @@ public class WarehouseEntity { private String customerId; private String nameCode; private String supId;//供应商ID + private String supName; private String invStorageCode; private String invWarehouseCode; private String relId; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvWarehouseEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvWarehouseEntity.java index 9eee9ce..ee771c3 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvWarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvWarehouseEntity.java @@ -19,6 +19,7 @@ public class InvWarehouseEntity { private String remark; private Integer level; private String pcode; + private String pName; /** * 第三方仓库ID diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java index ffe0395..3083960 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java @@ -23,6 +23,7 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest { private String thirdId4; private String erpId; private Integer corpType; + private Integer outType; private Boolean isDownThrSys; List thrCorpEntities; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java index 9fb7d5c..9931bde 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java @@ -21,6 +21,7 @@ public class InvProductResponse { private String companyName; private String supId; private String unitFk; + private String invStorageCode; private String invStorageName; public Integer getInCount() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvWarehouseResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvWarehouseResponse.java index cb9f4ae..4470588 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvWarehouseResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvWarehouseResponse.java @@ -19,6 +19,7 @@ public class InvWarehouseResponse { private Integer status; private Date updateTime; private String remark; + private String pName; private Integer level; private String pcode; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/CustomerInfoServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/CustomerInfoServiceImpl.java index 142d74a..d7ee7cc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/CustomerInfoServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/CustomerInfoServiceImpl.java @@ -37,8 +37,11 @@ public class CustomerInfoServiceImpl implements CustomerInfoService { if (customerInfoFilterRequest == null) { return Collections.emptyList(); } - int offset = (customerInfoFilterRequest.getPage() - 1) * customerInfoFilterRequest.getLimit(); - PageHelper.offsetPage(offset, customerInfoFilterRequest.getLimit()); + + if(customerInfoFilterRequest.getPage()!=null){ + int offset = (customerInfoFilterRequest.getPage() - 1) * customerInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, customerInfoFilterRequest.getLimit()); + } return customerInfoDao.filterCustomerInfo(customerInfoFilterRequest); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java index 7efc5cd..ad1129b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java @@ -28,6 +28,8 @@ public interface BasicUnitMaintainService { List batchSelectByIds(List id); + List batchSelectByErpIds(List erpIds); + BasicUnitMaintainEntity selectById(String id); BasicUnitMaintainEntity selectByErpId(String id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java index 87a579d..f223245 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java @@ -81,6 +81,11 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { return basicUnitMaintainDao.batchSelectByIds(ids); } + @Override + public List batchSelectByErpIds(List erpIds) { + return basicUnitMaintainDao.batchSelectByErpIds(erpIds); + } + @Override public BasicUnitMaintainEntity selectById(String id) { return basicUnitMaintainDao.selectById(id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java index be66efc..2b187b0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java @@ -7,11 +7,15 @@ import java.util.List; public interface CodesTempService { + int insertCodesTemp(List warehouseEntities); int insertCodesTempSingle(WarehouseEntity warehouseEntitie); int updateById(WarehouseEntity warehouseEntitie); + boolean update(WarehouseEntity warehouseEntity); + + boolean updateByOrderId(WarehouseEntity warehouseEntity); boolean updateOrderId(String oldOrderId, String newOrderId); @@ -23,4 +27,6 @@ public interface CodesTempService { List findByOrderIdAndCode(WarehouseQueryRequest warehouseQueryRequest); + WarehouseEntity findByUnique(String orderId, String code); + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java index 264d7ce..4f39169 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java @@ -33,6 +33,16 @@ public class CodesTempServiceImpl implements CodesTempService { return codesTempDao.updateById(warehouseEntitie); } + @Override + public boolean update(WarehouseEntity warehouseEntity) { + return codesTempDao.update(warehouseEntity); + } + + @Override + public boolean updateByOrderId(WarehouseEntity warehouseEntity) { + return codesTempDao.updateByOrderId(warehouseEntity); + } + @Override public boolean updateOrderId(String oldOrderId, String newOrderId) { return codesTempDao.updateOrderId(oldOrderId, newOrderId); @@ -71,4 +81,17 @@ public class CodesTempServiceImpl implements CodesTempService { } return codesTempDao.findByOrderIdAndCode(warehouseQueryRequest); } + + @Override + public WarehouseEntity findByUnique(String orderId, String code) { + + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + warehouseQueryRequest.setCode(code); + List warehouseEntityList = codesTempDao.findByOrderIdAndCode(warehouseQueryRequest); + if (!warehouseEntityList.isEmpty()) { + return warehouseEntityList.get(0); + } + return null; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java index 885435c..9c82adb 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java @@ -14,6 +14,8 @@ public interface InvPreProductService { InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode); + InvProductEntity selectExit(String id); + InvProductEntity selectById(String id); boolean insertInvProduct(InvProductEntity invProductEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java index 867dc27..6ed3019 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java @@ -17,6 +17,8 @@ public interface InvProductService { InvProductEntity selectById(String id); + InvProductEntity selectExit(String id); + boolean insertInvProduct(InvProductEntity invProductEntity); boolean updateInvProduct(InvProductEntity invProductEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java index 6907923..e5c80b5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java @@ -66,6 +66,11 @@ public class InvPreProductServiceImpl implements InvPreProductService { // return null; } + @Override + public InvProductEntity selectExit(String id) { + return invPreProductDao.selectExit(id); + } + @Override public InvProductEntity selectById(String id) { return invPreProductDao.selectById(id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java index be6ddf2..c96334e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java @@ -66,6 +66,11 @@ public class InvProductServiceImpl implements InvProductService { return invProductDao.selectById(id); } + @Override + public InvProductEntity selectExit(String id) { + return invProductDao.selectExit(id); + } + @Override public boolean insertInvProduct(InvProductEntity invProductEntity) { return invProductDao.insertInvProduct(invProductEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java index 36623fb..fb70ffc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java @@ -1037,26 +1037,27 @@ public class InvProductsTrService { invProductDetailEntity.setUnitFk(orderEntity.getFromCorpId()); invProductDetailEntity.setUpdateTime(new Date()); invProductDetailEntity.setCustomerId(orderEntity.getCustomerId()); - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - if (warehouseEntity.getSupId() != null) { - invProductDetailEntity.setSupId(warehouseEntity.getSupId()); - } else { - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); - filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); - List temps = null; - if (isPre) { - temps = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); - } else { - temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); - } - if (temps.size() > 0) { - invProductDetailEntity.setSupId(temps.get(0).getSupId()); - } - } - } else { - invProductDetailEntity.setSupId(orderEntity.getFromCorpId()); - } + invProductDetailEntity.setSupId(warehouseEntity.getSupId()); +// if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { +// if (warehouseEntity.getSupId() != null) { +// invProductDetailEntity.setSupId(warehouseEntity.getSupId()); +// } else { +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); +// List temps = null; +// if (isPre) { +// temps = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); +// } else { +// temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); +// } +// if (temps.size() > 0) { +// invProductDetailEntity.setSupId(temps.get(0).getSupId()); +// } +// } +// } else { +// invProductDetailEntity.setSupId(orderEntity.getFromCorpId()); +// } mInvProductDetailEntities.add(invProductDetailEntity); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java index 301af76..5ec2cb9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java @@ -17,6 +17,7 @@ import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.entity.inventory.InvProductEntity; import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; @@ -25,6 +26,8 @@ import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; import com.glxp.sale.admin.req.info.FilterCompanyProductRelevanceRequest; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; +import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.service.basic.BasicUnitMaintainService; import com.glxp.sale.admin.service.basic.BussinessTypeService; @@ -33,7 +36,9 @@ import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inout.*; +import com.glxp.sale.admin.service.inventory.InvPreProductService; import com.glxp.sale.admin.service.inventory.InvProductDetailService; +import com.glxp.sale.admin.service.inventory.InvProductService; import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.thrsys.ThrDataService; @@ -102,6 +107,10 @@ public class IoTransInoutService { private CheckOrderUtils checkOrderUtils; @Resource InvProductDetailService invProductDetailService; + @Resource + InvProductService invProductService; + @Resource + InvPreProductService invPreProductService; //web端新增订单, @Async @@ -309,10 +318,11 @@ public class IoTransInoutService { return; } else if (orderEntity.getFromCorpId() == null) { - if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) { + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity(); basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK); basicUnitMaintainEntity.setName(orderEntity.getFromCorp()); orderEntity.setFromCorpId(basicUnitMaintainEntity.getErpId()); orderService.updateOrder(orderEntity); @@ -401,6 +411,20 @@ public class IoTransInoutService { } } + //产品是否已维护已关联 + if (StrUtil.isEmpty(warehouseEntity.getRelId())) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "绑定多个产品ID!"); + return; + } + + //产品是否指定供应商 + if (StrUtil.isEmpty(warehouseEntity.getSupId())) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "未指定供应商!"); + return; + } + List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode()); if (udiRelevanceResponses.size() == 1) { UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); @@ -413,14 +437,14 @@ public class IoTransInoutService { orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库!"); return; } - if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceService.findByUdiRlIdUnitFk(udiRelevanceResponse.getId() + "", warehouseEntity.getFromCorpId()); - if (companyProductRelevanceEntity == null) { - orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); - orderService.updateRemark(orderEntity.getId(), udiRelevanceResponse.getCpmctymc() + "该产品非此供应商配送"); - return; - } - } +// if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { +// CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceService.findByUdiRlIdUnitFk(udiRelevanceResponse.getId() + "", warehouseEntity.getFromCorpId()); +// if (companyProductRelevanceEntity == null) { +// orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); +// orderService.updateRemark(orderEntity.getId(), udiRelevanceResponse.getCpmctymc() + "该产品非此供应商配送"); +// return; +// } +// } } } @@ -449,6 +473,7 @@ public class IoTransInoutService { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(action); List warehouseEntityList = warehouseService.findByReceiptId(orderId); myErpOrderService.deleteByOrderId(orderEntity.getId()); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); //为所有条码关联基础信息关联表ID for (WarehouseEntity warehouseEntity : warehouseEntityList) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); @@ -456,12 +481,10 @@ public class IoTransInoutService { List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); //默认或已选中供应商 - String originSupId = checkOriginExitSup(warehouseEntity); + String originSupId = checkOriginExitSup(bussinessTypeEntity, warehouseEntity); if (originSupId != null) { warehouseEntity.setSupId(originSupId); } - - if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && warehouseEntity.getRelId() == null) {//同一个DI绑定多个产品西信息 warehouseEntity.setRelId(null); warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); @@ -498,7 +521,7 @@ public class IoTransInoutService { } warehouseService.updateCode(warehouseEntity); } - + orderService.updateOrder(orderEntity); if (!bussinessTypeEntity.isCheckEnable()) { orderEntity = orderService.findById(orderEntity.getId()); @@ -542,7 +565,7 @@ public class IoTransInoutService { } } genOrderDetail(warehouseEntityList); - checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID +// checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID orderEntity = orderService.findById(orderEntity.getId()); if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); @@ -553,7 +576,7 @@ public class IoTransInoutService { public void unCheckFinish(OrderEntity orderEntity, List warehouseEntityList) { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); genOrderDetail(warehouseEntityList); - checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID +// checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID orderEntity = orderService.findById(orderEntity.getId()); if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { List erpOrderEntities = myErpOrderService.filterAllByOrderIdFk(orderEntity.getId()); @@ -574,10 +597,10 @@ public class IoTransInoutService { } } - public String checkOriginExitSup(WarehouseEntity warehouseEntity) { + public String checkOriginExitSup(BussinessTypeEntity bussinessTypeEntity, WarehouseEntity warehouseEntity) { if (warehouseEntity.getSupId() != null && !"".equals(warehouseEntity.getSupId())) { return warehouseEntity.getSupId(); - } else if (ConstantType.TYPE_PUT.equals(warehouseEntity.getMainAction())) { + } else if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT && ConstantType.TYPE_PUT.equals(warehouseEntity.getMainAction())) { return warehouseEntity.getFromCorpId(); } return null; @@ -612,14 +635,77 @@ public class IoTransInoutService { public String checkInvExitSup(WarehouseEntity warehouseEntity) { - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setProductIdFk(warehouseEntity.getRelId()); + String supId = checkNorInv(warehouseEntity); + if (supId == null) { + return checkPreInv(warehouseEntity); + } + return supId; + } + + //查普通库存 + public String checkNorInv(WarehouseEntity warehouseEntity) { + + FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); + filterInvWarehouseRequest.setLevel(1); + filterInvWarehouseRequest.setAdvanceType(false); + List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); + List codes = new ArrayList<>(); + if (!invWarehouseEntities.isEmpty()) { + for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) { + codes.add(invWarehouseEntity.getCode()); + } + } + FilterInvProductRequest filterInvProductDetailRequest = new FilterInvProductRequest(); + filterInvProductDetailRequest.setRelIdFk(warehouseEntity.getRelId()); filterInvProductDetailRequest.setBatchNo(warehouseEntity.getBatchNo()); - filterInvProductDetailRequest.setInvStorageCode(warehouseEntity.getLocStorageCode()); - List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); - if (invProductDetailEntities.size() > 0) { - return invProductDetailEntities.get(0).getSupId(); + filterInvProductDetailRequest.setInvCodes(codes); + List invProductEntities = invProductService.filterInvProduct(filterInvProductDetailRequest); + if (invProductEntities.size() > 0) { + String supId = invProductEntities.get(0).getSupId(); + int count = 0; + for (InvProductEntity invProductEntity : invProductEntities) { + if (!supId.equals(invProductEntity.getSupId())) { + return null; + } + count = count + (invProductEntity.getInCount() - invProductEntity.getOutCount()); + } + if (count > 0) + return supId; } + + return null; + } + + //查寄售库存 + public String checkPreInv(WarehouseEntity warehouseEntity) { + FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); + filterInvWarehouseRequest.setLevel(1); + filterInvWarehouseRequest.setAdvanceType(true); + List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); + List codes = new ArrayList<>(); + if (!invWarehouseEntities.isEmpty()) { + for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) { + codes.add(invWarehouseEntity.getCode()); + } + } + FilterInvProductRequest filterInvProductDetailRequest = new FilterInvProductRequest(); + filterInvProductDetailRequest.setRelIdFk(warehouseEntity.getRelId()); + filterInvProductDetailRequest.setBatchNo(warehouseEntity.getBatchNo()); + filterInvProductDetailRequest.setInvCodes(codes); + List invProductEntities = invPreProductService.filterInvProduct(filterInvProductDetailRequest); + if (invProductEntities.size() > 0) { + String supId = invProductEntities.get(0).getSupId(); + int count = 0; + for (InvProductEntity invProductEntity : invProductEntities) { + if (!supId.equals(invProductEntity.getSupId())) { + return null; + } + count = count + (invProductEntity.getInCount() - invProductEntity.getOutCount()); + } + if (count > 0) + return supId; + } + return null; } diff --git a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml index 4161c2c..84198b8 100644 --- a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml @@ -40,7 +40,7 @@ diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml index cb9a3d6..c03a950 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml @@ -8,7 +8,8 @@ SELECT * FROM basic_corp - and name like concat('%',#{key},'%') + and + ( name like concat('%',#{key},'%') or spell like concat('%',#{key},'%') or erpId like concat('%',#{key},'%') or creditNo like concat('%',#{key},'%') @@ -18,6 +19,7 @@ or thirdId3 like concat('%',#{key},'%') or thirdId4 like concat('%',#{key},'%') or addr like concat('%',#{key},'%') + ) AND id = #{id} @@ -31,7 +33,9 @@ AND corpType = #{corpType} - + + AND ( outType ]]> #{outType} or outType is NULL) + order by updateTime desc @@ -70,7 +74,7 @@ INTO basic_corp (thirdId,erpId,name,spell, addr,status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, - thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType) + thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType,outType) values ( #{thirdId}, @@ -93,7 +97,8 @@ #{thirdName3}, #{thirdName4}, #{updateTime}, - #{corpType} + #{corpType}, + #{outType} ) @@ -202,6 +207,14 @@ + + - SELECT * - FROM io_codes_temp + SELECT io_codes_temp.*,basic_corp.name supName + FROM io_codes_temp left join basic_corp on io_codes_temp.supId = basic_corp.erpId - and orderId =#{orderId} + and io_codes_temp.orderId =#{orderId} - and code LIKE concat('%',#{code},'%') + and io_codes_temp.code LIKE concat('%',#{code},'%') - and batchNo =#{batchNo} + and io_codes_temp.batchNo =#{batchNo} - order by id desc + group by io_codes_temp.id + order by io_codes_temp.id desc - select * from io_order_detail + select io_order_detail.* ,basic_corp.name supName from io_order_detail + left join basic_corp on io_order_detail.supId = basic_corp.erpId - and erpOrderId = #{erpOrderId} + and io_order_detail.erpOrderId = #{erpOrderId} - and goodsname = #{goodsname} + and io_order_detail.goodsname = #{goodsname} - and orderIdFk = #{orderId} + and io_order_detail.orderIdFk = #{orderId} - and orderIdFk = #{orderIdFk} + and io_order_detail.orderIdFk = #{orderIdFk} + group by io_order_detail.id - - + + + + + + - SELECT * FROM inv_warehouse + select * ,(select name from inv_warehouse WHERE a.pcode = code) pName + FROM inv_warehouse a - AND id = #{id} + AND a.id = #{id} - AND pid = #{pid} + AND a.pid = #{pid} - AND code = #{code} + AND a.code = #{code} - AND name = #{name} + AND a.name = #{name} - AND advanceType = #{advanceType} + AND a.advanceType = #{advanceType} - AND status = #{status} + AND a.status = #{status} - AND isDefault = #{isDefault} + AND a.isDefault = #{isDefault} - AND pcode = #{pcode} + AND a.pcode = #{pcode} - AND level = #{level} + AND a.level = #{level} @@ -202,25 +203,27 @@ replace into inv_warehouse (id, pId, code, name, advanceType, isDefault, status, - updateTime, remark, level, pcode, thirdId, thirdId1, thirdId2, thirdId3, - thirdId4) values + updateTime, remark, level, pcode, thirdId, thirdId1, thirdId2, thirdId3, + thirdId4) values (#{item.id}, - #{item.pid}, - #{item.code}, - #{item.name}, - #{item.advanceType}, - #{item.isDefault}, - #{item.status}, - #{item.updateTime}, - #{item.remark}, #{item.level}, - #{item.pcode}, #{thirdId}, - #{thirdId1}, #{thirdId2}, - #{thirdId3}, #{thirdId4}) + #{item.pid}, + #{item.code}, + #{item.name}, + #{item.advanceType}, + #{item.isDefault}, + #{item.status}, + #{item.updateTime}, + #{item.remark}, #{item.level}, + #{item.pcode}, #{thirdId}, + #{thirdId1}, #{thirdId2}, + #{thirdId3}, #{thirdId4}) - update inv_warehouse set ${sysId} = ${thridWarehouseId} where id = ${id} + update inv_warehouse + set ${sysId} = ${thridWarehouseId} + where id = ${id} \ No newline at end of file