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 0e62764..de06f06 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 @@ -120,7 +120,7 @@ public class UdiRelevanceController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List udiRelevanceResponses = null; - udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(filterUdiInfoRequest.getNameCode()); + udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(filterUdiInfoRequest.getNameCode(),filterUdiInfoRequest.getUnitFk()); PageInfo pageInfo; pageInfo = new PageInfo<>(udiRelevanceResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -240,6 +240,13 @@ public class UdiRelevanceController { } } } + + CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceService.findByUdiRlIdUnitFk(ids, null); + if (companyProductRelevanceEntity != null) { + return ResultVOUtils.error(500, "改产品已被供应商选入" + "不能删除!"); + } + + udiRelevanceService.deleteById(ids); List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid()); if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) { @@ -292,6 +299,7 @@ public class UdiRelevanceController { List keys = combineRequest.getKeys(); if (keys != null && keys.size() > 0) { for (String key : keys) { +// UdiInfoEntity udiInfoEntity = getUdiInfo(combineRequest); FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setUuid(key); List udiInfoEntities = udiInfoService.filterAllUdiInfo(filterUdiInfoRequest); @@ -299,7 +307,14 @@ public class UdiRelevanceController { if (udiInfoEntities == null || udiInfoEntities.isEmpty()) { udiInfoEntities = udiDlHttpClient.getUdiByUuid(key); if (udiInfoEntities != null && !udiInfoEntities.isEmpty()) { +// for (UdiInfoEntity infoEntity : udiInfoEntities) { +// infoEntity.setManufactory(udiInfoEntity.getManufactory()); +// } udiInfoService.insertUdiInfos(udiInfoEntities); + if (combineRequest.getManufactory() != null) { + udiRelevanceEntity.setManufactory(combineRequest.getManufactory()); + } else + udiRelevanceEntity.setManufactory(udiInfoEntities.get(0).getYlqxzcrbarmc()); } else { return ResultVOUtils.error(500, "连接UDI数据下载服务出错!"); } @@ -322,6 +337,7 @@ public class UdiRelevanceController { newRlEntity = setThird(combineRequest, newRlEntity); newRlEntity.setUpdateTime(DateUtil.getDateTime()); newRlEntity.setUuid(key); + udiRelevanceEntity.setManufactory(temps.get(0).getYlqxzcrbarmc()); udiRelevanceService.insertUdiRelevance(newRlEntity); return ResultVOUtils.success("合并成功"); @@ -330,13 +346,23 @@ public class UdiRelevanceController { } } } - removeProducts(combineRequest); + + UdiInfoEntity tempEntity = udiInfoEntities.get(0); udiRelevanceEntity.setId(combineRequest.getRelId()); udiRelevanceEntity.setUuid(key); + if (combineRequest.getManufactory() != null) { + udiRelevanceEntity.setManufactory(combineRequest.getManufactory()); + } else + udiRelevanceEntity.setManufactory(tempEntity.getManufactory()); udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); - udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); - } else { + try { + udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + } catch (Exception e) { + return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); + } + removeProducts(combineRequest); + } else { List udiRelevanceEntities = udiRelevanceService.selectByUuid(key); if (udiRelevanceEntities != null && !udiRelevanceEntities.isEmpty()) { for (UdiRelevanceEntity udiRelevanceEntity1 : udiRelevanceEntities) { @@ -345,7 +371,6 @@ public class UdiRelevanceController { } } } - udiRelevanceEntity = setThird(combineRequest, udiRelevanceEntity); UdiRelevanceEntity temp = udiRelevanceService.selectUpteaByAll(key, combineRequest.getThirdId()); if (temp == null || StrUtil.isEmpty(udiRelevanceEntity.getThirdId())) { @@ -383,7 +408,15 @@ public class UdiRelevanceController { udiRelevanceEntity = setThird(combineRequest, udiRelevanceEntity); udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); removeProducts(combineRequest); - udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + udiRelevanceEntity.setManufactory(combineRequest.getManufactory()); +// udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + + try { + udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + } catch (Exception e) { + return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); + } + return ResultVOUtils.success("更新成功"); } @@ -405,7 +438,20 @@ public class UdiRelevanceController { } - public void removeProducts(CombineRequest combineRequest) { + public UdiInfoEntity getUdiInfo(CombineRequest combineRequest) { + UdiRelevanceEntity temp = udiRelevanceService.selectById(combineRequest.getRelId()); + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(combineRequest.getThirdId()); + filterUdiInfoRequest.setUuid(temp.getUuid()); + List udiInfoEntities = udiInfoService.filterUdiInfo(filterUdiInfoRequest); + if (udiInfoEntities != null && udiInfoEntities.size() > 0) { + UdiInfoEntity udiInfoEntity = udiInfoEntities.get(0); + return udiInfoEntity; + } + return null; + } + + public UdiInfoEntity removeProducts(CombineRequest combineRequest) { UdiRelevanceEntity temp = udiRelevanceService.selectById(combineRequest.getRelId()); FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setNameCode(combineRequest.getThirdId()); @@ -415,7 +461,9 @@ public class UdiRelevanceController { UdiInfoEntity udiInfoEntity = udiInfoEntities.get(0); if (udiInfoEntity.getDeviceRecordKey() == null) udiInfoService.deleteById(udiInfoEntities.get(0).getId() + ""); + return udiInfoEntity; } + return null; } //单独选入ERP产品 @@ -444,11 +492,11 @@ public class UdiRelevanceController { public BaseResponse addAllErp(@RequestBody CombineRequest combineRequest) { String status = (String) redisUtil.get("load_thrid_basic"); - if (status == null || !status.equals("process")) { - redisUtil.set("load_thrid_basic", "process", 15 * 60); - } else { - return ResultVOUtils.error(500, "当前正在导入,请稍后刷新重试"); - } +// if (status == null || !status.equals("process")) { +// redisUtil.set("load_thrid_basic", "process", 10 * 60); +// } else { +// return ResultVOUtils.error(500, "当前正在导入,请稍后刷新重试"); +// } if (combineRequest.getIsRlInv() != null && combineRequest.getIsRlInv()) { basicBackUpdateProductService.loadLocal(combineRequest.getQuery(), combineRequest.getThirdSys(), null, true); } else { @@ -769,6 +817,22 @@ public class UdiRelevanceController { @GetMapping("/udiwms/udirl/di/remove") public BaseResponse removeDI(RemoveRelRequest removeRelRequest) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(removeRelRequest.getRelId()); + + if (StrUtil.isEmpty(udiRelevanceEntity.getMainId())) { + return ResultVOUtils.error(500, "未关联第三方产品ID,无法解除绑定!"); + } + + List temps = udiRelevanceService.selectByMainId(udiRelevanceEntity.getMainId()); + if (temps.size() > 0) { + for (UdiRelevanceResponse temp : temps) { + if (temp.getMainId() != null) + if (temp.getNameCode().equals(temp.getMainId())) { + return ResultVOUtils.error(500, "已存在未关联的第三方产品ID,无法接触绑定!"); + } + } + } + + BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getMainId(), basicThirdSysEntity.getThirdId()); UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java index afc627a..4c8ab8f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java @@ -213,17 +213,21 @@ public class OrderController { return ResultVOUtils.error(500, "单据未找到!"); } else if (!bussinessTypeEntity.getLocalAction().equals(stockOrderEntity.getBillType())) { return ResultVOUtils.error(500, "非" + bussinessTypeEntity.getName() + "类型单据!"); - } else + } else { orderFilterRequest.setId(stockOrderEntity.getOrderIdFk()); + } if (orderFilterRequest.getOrderId() == null || "".equals(orderFilterRequest.getOrderId())) { orderFilterRequest.setId(null); + + OrderEntity orderEntity = orderService.findById(stockOrderEntity.getOrderIdFk()); + if(orderEntity.getReceiveStatus() == ConstantStatus.RECEIVE_ED){ + return ResultVOUtils.error(500, "单据已验收!"); + } + } List orderEntityList; if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { orderFilterRequest.setStatus(4); -// orderFilterRequest.setContrastStatus(2); -// orderFilterRequest.setReceiveStatus(0); -// orderFilterRequest.setStatusOrOne(3); } if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { List warehouseEntityList = codesService.findByCode(orderFilterRequest.getCode()); @@ -387,7 +391,7 @@ public class OrderController { for (WarehouseEntity warehouseEntity : warehouseEntities) { if (tempCode == null) { tempCode = warehouseEntity.getCode(); - }else if(tempCode .equals(warehouseEntity.getCode())){ + } else if (tempCode.equals(warehouseEntity.getCode())) { return ResultVOUtils.error(500, "存在重复条码无法合并!"); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java index eafe351..a183939 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java @@ -282,6 +282,7 @@ public class StockOrderDetailController { stockOrderDetailEntity.setBatchNo(stockSelectDataEntity.getBatchNo()); stockOrderDetailEntity.setProductDate(stockSelectDataEntity.getProductDate()); stockOrderDetailEntity.setExpireDate(stockSelectDataEntity.getExpireDate()); + stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory()); stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); if (stockOrderIdsRequest.getUdiEntity() != null) { @@ -355,6 +356,7 @@ public class StockOrderDetailController { stockOrderDetailEntity.setReCount(count); stockOrderDetailEntity.setSweepCount(0 + ""); stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); + stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory()); stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); stockOrderDetailService.insertStockOrderDetail(stockOrderDetailEntity); 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 2565cf5..20da337 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 @@ -256,6 +256,7 @@ public class WareHouseController { orderEntity1.setFromCorp(addOrderRequest.getFromCorp()); orderEntity1.setFromCorpId(addOrderRequest.getFromCorpId()); orderEntity1.setLocStorageCode(addOrderRequest.getLocStorageCode()); + orderEntity1.setOutChangeEnable(addOrderRequest.isOutChangeEnable()); orderService.updateOrder(orderEntity1); WarehouseEntity warehouseEntity = new WarehouseEntity(); warehouseEntity.setOrderId(addOrderRequest.getOrderId()); @@ -288,6 +289,39 @@ public class WareHouseController { return ResultVOUtils.success(); } + @AuthRuleAnnotation("") + @PostMapping("warehouse/inout/expireTimeCheck") + public BaseResponse expireTimeCheck(@RequestBody AddOrderRequest addOrderRequest) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(addOrderRequest.getCode()); + if (udiEntity != null) { + //近效期提醒: + SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); + long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); + if (recent > 0) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + long recentTieme = Math.abs(recent * 24 * 60 * 60 * 1000); + long resultTime = expireTime - System.currentTimeMillis(); + + if (resultTime < 0) { + return ResultVOUtils.success(); + } + + long time = resultTime / (24 * 60 * 60 * 1000); + if (resultTime < recentTieme) { + return ResultVOUtils.error(500, "当前产品临近过期,距过期还剩" + time + "天!"); + } + } + } + } + + return ResultVOUtils.success(); + +// + + } + //网页端数据上传调用接口 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/addOrderWeb") @@ -296,12 +330,49 @@ public class WareHouseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + AddCodeResult addCodeResult = new AddCodeResult(); 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码格式错误!"); + return ResultVOUtils.error(500, "无效条码!"); + + + //过期提醒: + SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); + if (expireParamConfigEntity.getParamValue().equals("1") && !addOrderRequest.isIgnoreExpire()) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + if (expireTime - System.currentTimeMillis() < 0) { + return ResultVOUtils.error(504, "当前产品已过期,是否确定继续添加?"); + } + } + } + + //失效期提醒 + SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); + long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); + if (recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + long recentTieme = Math.abs(recent * 24 * 60 * 60 * 1000); + long resultTime = expireTime - System.currentTimeMillis(); + + if (resultTime > 0) { + long time = resultTime / (24 * 60 * 60 * 1000); + if (resultTime < recentTieme) { + return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?"); + } + } + + + } + } + + String orderId = addOrderRequest.getOrderId(); if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) { CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); @@ -323,33 +394,10 @@ public class WareHouseController { } } - //先生产扫码单据 + //先生成扫码单据 OrderEntity orderEntity = orderService.findById(orderId); if (StringUtils.isBlank(orderId) || orderEntity == null) { 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); } @@ -386,45 +434,64 @@ public class WareHouseController { warehouseEntity.setCount(1); List warehouseEntityList = new ArrayList<>(); warehouseEntityList.add(warehouseEntity); + String unitFk = null; - //校验往来单位 + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + unitFk = warehouseEntity.getFromCorpId(); + } + //产品是否可以以使用单元入库 + List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode(), unitFk); + if (udiRelevanceResponses.size() == 1) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); + if (udiRelevanceResponse == null) { + return ResultVOUtils.error(500, "该产品信息未维护!"); + } else if (udiRelevanceResponse.getIsUseDy() == 0 && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { + return ResultVOUtils.error(500, "该产品不允许以使用单元入库!"); + } + } else if (udiRelevanceResponses.size() == 0) { + if (unitFk == null) + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); + else + return ResultVOUtils.error(500, "当前供应商不存在此配送产品!"); + } + + + //校验供应商是否配送此产品 BaseResponse corpResponse = checkCorp(warehouseEntity, bussinessTypeEntity); if (corpResponse != null) { return corpResponse; } - //过期提醒: - SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); - if (!"0".equals(expireParamConfigEntity.getParamValue())) { - if (udiEntity.getExpireDate() != null) { - String expireDate = "20" + udiEntity.getExpireDate(); - long expireTime = DateUtil.parseDateExpire(expireDate); - if (expireTime - System.currentTimeMillis() < 0) { - return ResultVOUtils.error(500, "udi码:" + warehouseEntity.getCode() + "已经过期!"); - } + OrderEntity isExit = orderService.findById(orderId); + if (isExit == null) { + OrderEntity orderSaveRequest = new OrderEntity(); + orderSaveRequest.setId(orderId); + if (addOrderRequest.getActDate() != null) { + orderSaveRequest.setActDate(addOrderRequest.getActDate()); } - } - - //近效期提醒: - SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); - long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); - if (recent > 0) { - if (udiEntity.getExpireDate() != null) { - String expireDate = "20" + udiEntity.getExpireDate(); - long expireTime = DateUtil.parseDateExpire(expireDate); - long recentTieme = recent * 24 * 60 * 60 * 1000; - logger.error("recentTieme = " + recentTieme); - if (expireTime - System.currentTimeMillis() < recentTieme) { - return ResultVOUtils.error(500, "udi码:" + warehouseEntity.getCode() + "临近过期!"); - } - } + 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); } - - BaseResponse baseResponse = checkRelId(warehouseEntity); + BaseResponse baseResponse = checkRelId(bussinessTypeEntity, warehouseEntity); warehouseEntity = codesTempService.findByUnique(warehouseEntity.getOrderId(), warehouseEntity.getCode()); if (baseResponse == null) { baseResponse = checkSupId(bussinessTypeEntity, warehouseEntity); @@ -433,28 +500,20 @@ public class WareHouseController { } else { if (baseResponse.getCode() == 501) { return baseResponse; + } else if (baseResponse.getCode() == 502) { + return baseResponse; } checkSupId(bussinessTypeEntity, warehouseEntity); return baseResponse; } - //产品是否可以以使用单元入库 - List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode()); - if (udiRelevanceResponses.size() == 1) { - UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); - if (udiRelevanceResponse == null) { - return ResultVOUtils.error(500, "udi码:" + warehouseEntity.getCode() + "该产品信息未维护!"); - } else if (udiRelevanceResponse.getIsUseDy() == 0 && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { - return ResultVOUtils.error(500, "udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库!"); - } - } - } - return ResultVOUtils.success(orderId); + addCodeResult.setOrderId(orderId); + return ResultVOUtils.success(addCodeResult); } - //校验往来单位是否已维护 + //校验供应商是否配送此产品 public BaseResponse checkCorp(WarehouseEntity warehouseEntity, BussinessTypeEntity bussinessTypeEntity) { if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); @@ -465,14 +524,19 @@ public class WareHouseController { if (datas.size() <= 0) { return ResultVOUtils.error(500, "当前供应商不存在此配送产品!"); } - } return null; } - public BaseResponse checkRelId(WarehouseEntity warehouseEntity) { - List udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode()); + public BaseResponse checkRelId(BussinessTypeEntity bussinessTypeEntity, WarehouseEntity warehouseEntity) { + + String unitFk = null; + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + unitFk = warehouseEntity.getFromCorpId(); + } + + List udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode(), unitFk); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && warehouseEntity.getRelId() == null) {//同一个DI绑定多个产品西信息 warehouseEntity.setRelId(null); warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); @@ -484,7 +548,7 @@ public class WareHouseController { } else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) {//未找到产品信息,一般不会出现 warehouseEntity.setRelId(null); warehouseEntity.setStatus(2); - return ResultVOUtils.error(501, "产品信息未维护!"); + return ResultVOUtils.error(501, "耗材字典不存在此产品!"); } else { warehouseEntity.setStatus(0); if (warehouseEntity.getRelId() == null) @@ -531,9 +595,14 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } boolean b = codesTempService.update(warehouseEntity); + if (warehouseEntity.getMySupId() != null) { + warehouseEntity.setSupId(warehouseEntity.getMySupId()); + codesTempService.update(warehouseEntity); + } else if (warehouseEntity.getRelId() != null) { - if (warehouseEntity.getRelId() != null) { warehouseEntity = codesTempService.selectById(warehouseEntity.getId()); + warehouseEntity.setSupId(""); + codesTempService.replaceCodesTempSingle(warehouseEntity); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(warehouseEntity.getAction()); BaseResponse baseResponse = checkSupId(bussinessTypeEntity, warehouseEntity); if (baseResponse != null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java index 511e6a5..8963507 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java @@ -366,46 +366,46 @@ public class ContrastErpUtil { return errMsg; } - public List transErp(List erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) { - List returnOrders = new ArrayList<>(); - Map filterMap = new HashMap<>(); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid()); - filterUdiInfoRequest.setPage(1); - filterUdiInfoRequest.setLimit(100); - List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); - - if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { - UdiRelevanceResponse temp = udiRelevanceEntities.get(0); - erpOrderEntity.setCoName(temp.getCpmctymc()); - erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh()); - erpOrderEntity.setPackSpec(temp.getGgxh()); - erpOrderEntity.setPackRatio(temp.getPackRatio()); - erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc()); - erpOrderEntity.setOrderIdFk(orderFk); - } - erpOrderEntity.setOrderIdFk(orderFk); - String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode(); - ErpOrderEntity filterTemp = filterMap.get(key); - if (filterTemp != null) { - filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount()); - filterTemp.setErpOrderId(filterTemp.getErpOrderId() + "," + erpOrderEntity.getErpOrderId()); - } else { - filterTemp = erpOrderEntity; - } - filterMap.put(key, filterTemp); - } - for (Map.Entry entry : filterMap.entrySet()) { - returnOrders.add(entry.getValue()); - } - } - - - return returnOrders; - } +// public List transErp(List erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) { +// List returnOrders = new ArrayList<>(); +// Map filterMap = new HashMap<>(); +// if (erpOrderEntities != null && erpOrderEntities.size() > 0) { +// for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { +// +// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); +// filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid()); +// filterUdiInfoRequest.setPage(1); +// filterUdiInfoRequest.setLimit(100); +// List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); +// +// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { +// UdiRelevanceResponse temp = udiRelevanceEntities.get(0); +// erpOrderEntity.setCoName(temp.getCpmctymc()); +// erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh()); +// erpOrderEntity.setPackSpec(temp.getGgxh()); +// erpOrderEntity.setPackRatio(temp.getPackRatio()); +// erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc()); +// erpOrderEntity.setOrderIdFk(orderFk); +// } +// erpOrderEntity.setOrderIdFk(orderFk); +// String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode(); +// ErpOrderEntity filterTemp = filterMap.get(key); +// if (filterTemp != null) { +// filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount()); +// filterTemp.setErpOrderId(filterTemp.getErpOrderId() + "," + erpOrderEntity.getErpOrderId()); +// } else { +// filterTemp = erpOrderEntity; +// } +// filterMap.put(key, filterTemp); +// } +// for (Map.Entry entry : filterMap.entrySet()) { +// returnOrders.add(entry.getValue()); +// } +// } +// +// +// return returnOrders; +// } public List getDocids(List erpOrderEntities) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java index 70f7f83..08efc6e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java @@ -36,6 +36,23 @@ public class InoutUtils { this.udiUrl = udiUrl; } + + public String filterCode(WarehouseEntity warehouseEntity, List filterList) { + int count = 0; + if (filterList != null) { + for (WarehouseEntity temp : filterList) { + if (temp.getCode().equals(warehouseEntity.getCode())) { + count = count + 1; + } + } + } + + if (count > 1) { + return warehouseEntity.getCode() + "条码重复"; + } else + return null; + } + public String filterCode(CodesService codesService, WarehouseEntity warehouseData, SystemParamConfigService systemParamConfigService) { List warehouseEntityList = codesService.findByCode(warehouseData.getCode()); if (warehouseEntityList == null || warehouseEntityList.size() == 0) { //数据库为null,可以添加 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 cb2a5d2..ad74540 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 @@ -70,6 +70,7 @@ public class InvWarehouseController { @Resource WarehouseBussinessTypeService warehouseBussinessTypeService; + @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filter") public BaseResponse filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) { @@ -119,6 +120,39 @@ public class InvWarehouseController { } + @AuthRuleAnnotation("") + @GetMapping("spms/inv/warehouse/filterUplLocInv") + public BaseResponse filterUplLocInv(FilterInvWarehouseRequest filterInvWarehouseRequest) { + filterInvWarehouseRequest.setPid(0); + filterInvWarehouseRequest.setStatus(1); + List invWarehouseEntities; + AuthAdmin authAdmin = customerService.getUserBean(); + if (authAdmin.getCustomerId() != 110) { + filterInvWarehouseRequest.setPcode("0"); + invWarehouseEntities = invWarehouseService.filterGroupInvWarehouse(filterInvWarehouseRequest); + } else { + filterInvWarehouseRequest.setUserId(authAdmin.getId().intValue()); + filterInvWarehouseRequest.setPid(0); + List mInvWarehouseEntities = invWarehouseService.filterAllByUser(filterInvWarehouseRequest); + Map invWarehouseEntityMap = new HashMap<>(); + if (mInvWarehouseEntities.size() > 0) { + for (InvWarehouseEntity invWarehouseEntity : mInvWarehouseEntities) { + invWarehouseEntityMap.put(invWarehouseEntity.getCode(), invWarehouseEntity); + if (!"0".equals(invWarehouseEntity.getPcode())) { + InvWarehouseEntity temp = invWarehouseService.selectByCode(invWarehouseEntity.getPcode()); + invWarehouseEntityMap.put(temp.getCode(), temp); + } + } + } + invWarehouseEntities = new ArrayList<>(); + for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntityMap.values()) { + invWarehouseEntities.add(invWarehouseEntity); + } + } + return ResultVOUtils.success(invWarehouseEntities); + } + + @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filterAllByUser") public BaseResponse filterAllByUser(FilterInvWarehouseRequest filterInvWarehouseRequest) { @@ -395,7 +429,6 @@ public class InvWarehouseController { * 解绑第三方仓库ID * * @param id - * @param thridWarehouseId * @return */ @AuthRuleAnnotation("") diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java new file mode 100644 index 0000000..c30f7b3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java @@ -0,0 +1,91 @@ +package com.glxp.sale.admin.controller.thrsys; +//领用单 + +import com.glxp.sale.admin.annotation.AuthRuleAnnotation; +import com.glxp.sale.admin.constant.Constant; +import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; +import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.sale.admin.entity.info.CompanyEntity; +import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.sale.admin.entity.inout.StockOrderEntity; +import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; +import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity; +import com.glxp.sale.admin.req.inout.StockOrderFilterRequest; +import com.glxp.sale.admin.req.inout.StockOrderPostRequest; +import com.glxp.sale.admin.service.auth.CustomerService; +import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService; +import com.glxp.sale.admin.service.thrsys.ThrOrderService; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.admin.util.StockOrderBillNoUtils; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RestController +public class ThrOrderReceiveController { + + @Resource + private ThrOrderService thrOrderService; + @Resource + private ThrOrderDetailService thrOrderDetailService; + @Resource + CustomerService customerService; + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/order/insertWeb") + public BaseResponse insertWeb(@RequestBody StockOrderPostRequest stockOrderPostRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + Integer userId = customerService.getUserId(); + + ThrOrderEntity stockOrderEntity = new ThrOrderEntity(); + Integer id = Integer.parseInt(CustomUtil.getId()); + BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity); + stockOrderEntity.setCreateUser(userId + ""); + stockOrderEntity.setType(1);//领用单据 + stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); + stockOrderEntity.setId(id); + thrOrderService.insertThrOrder(stockOrderEntity); + + if (stockOrderPostRequest.getSubErpOrders() != null) { + List stockOrderDetailEntityList = stockOrderPostRequest.getSubErpOrders(); + for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntityList) { + + ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); + BeanUtils.copyProperties(stockOrderDetailEntity, thrOrderDetailEntity); + thrOrderDetailEntity.setOrderIdFk( + StringUtils.isBlank(stockOrderDetailEntity.getOrderIdFk()) ? + stockOrderEntity.getId() + "" : stockOrderDetailEntity.getOrderIdFk()); + + if (StringUtils.isBlank(stockOrderDetailEntity.getId())) { + thrOrderDetailEntity.setReCount( + StringUtils.isBlank(stockOrderDetailEntity.getReCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getReCount())); + thrOrderDetailEntity.setCount( + StringUtils.isBlank(stockOrderDetailEntity.getCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getCount())); + + thrOrderDetailService.insertThrOrderDetail(thrOrderDetailEntity); + + } + } + + return ResultVOUtils.success("成功"); + } + return ResultVOUtils.success("成功"); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiRelevanceDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiRelevanceDao.java index e5c4e4d..59dfc35 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiRelevanceDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiRelevanceDao.java @@ -13,6 +13,9 @@ public interface UdiRelevanceDao { List filterUdiRelevance(FilterUdiInfoRequest filterUdiInfoRequest); + List filterUdiJoinSup(FilterUdiInfoRequest filterUdiInfoRequest); + + List filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest); // UdiRelevanceResponse selectUdiByUUid 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 ab05ec2..7e7048f 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,8 @@ public interface CodesTempDao { int insertCodesTempSingle(WarehouseEntity warehouseEntitie); + int replaceCodesTempSingle(WarehouseEntity warehouseEntitie); + int updateById(WarehouseEntity warehouseEntitie); boolean update(WarehouseEntity warehouseEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java index 94cc31b..e4f4886 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java @@ -46,5 +46,9 @@ public class BussinessTypeEntity { private String supplementOrderType; private String thirdAction; private String thirdSys; + private boolean useDyCount; + private boolean changeEnable; + + private boolean expireTip; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java index acddd52..4b7c2a2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java @@ -30,6 +30,7 @@ public class StockPrintEntity implements Serializable { private String thirdSysFk; private String nnum; private String genKeyFk; + private String manufactory; private String sOrderId; private String sDetailId; 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 b8e6c04..4197ddc 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 @@ -2,6 +2,8 @@ package com.glxp.sale.admin.entity.inout; import lombok.Data; +import java.math.BigDecimal; + @Data public class ErpOrderEntity { @@ -59,6 +61,13 @@ public class ErpOrderEntity { private Integer count; private Integer bindStatus; + private String ylqxzcrbarmc; + private String secSalesListNo; + private String firstSalesInvNo; + private String secSalesInvNo; + private String invoiceDate; + private BigDecimal price; + public Integer getBindStatus() { if (bindStatus == null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java index ba3baeb..29a5d48 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java @@ -42,5 +42,8 @@ public class OrderEntity { private Integer reviewUser; private boolean isError; + private boolean outChangeEnable; + private String originUllageSupNo; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java index 653db09..f04d536 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java @@ -34,5 +34,6 @@ public class StockOrderDetailEntity { //开票日期 private String invoiceDate; + private String manufactory; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java index faccbce..1cd68ef 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java @@ -43,4 +43,5 @@ public class StockOrderPrintEntity extends StockOrderDetailEntity { private String remark1; private String remark2; private String remark3; + private String manufactory; } 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 1ad2656..d2a863f 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 @@ -32,11 +32,15 @@ public class WarehouseEntity { private Integer status; private String locStorageCode; + + private String mySupId; + public String getSupId() { -// if (supId == null) { -// return fromCorpId; -// } + if (supId == null) { + return null; + }else if(supId.equals("")) + return null; return supId; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderDetailEntity.java index 5969b2a..c3ee249 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderDetailEntity.java @@ -19,6 +19,7 @@ public class ThrOrderDetailEntity { private String orderIdFk; private String thirdSysFk; private Date updateTime; + private String relId; //增加字段 private BigDecimal price; //单价 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderEntity.java index 8538bc2..becad59 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrOrderEntity.java @@ -18,6 +18,7 @@ public class ThrOrderEntity { private Date updateTime; private String originType; private String unitIdFk; + private int type; //增加字段 private String startDate; //起始日期 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CombineRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CombineRequest.java index 948fabc..bfba7b8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CombineRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CombineRequest.java @@ -20,4 +20,5 @@ public class CombineRequest { private String erpId; private Long customerId; private Boolean supEnable; + private String manufactory; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java index d9c7689..8c7d413 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java @@ -56,6 +56,7 @@ public class FilterUdiInfoRequest extends ListPageRequest { List relIds; private String uniqueNameCode; private String supName; + private String unitFk; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddCodeResult.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddCodeResult.java new file mode 100644 index 0000000..8782d18 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddCodeResult.java @@ -0,0 +1,9 @@ +package com.glxp.sale.admin.req.inout; + +import lombok.Data; + +@Data +public class AddCodeResult { + private String orderId; + private String errMsg; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java index b6b257c..688f14f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java @@ -20,4 +20,7 @@ public class AddOrderRequest { private String locStorageCode; private String orderId; private String customerId; + private boolean outChangeEnable; + private boolean ignoreExpire; + private boolean ignoreRecentExpire; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java index 598e65a..1160fdf 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java @@ -13,6 +13,7 @@ public class PostOrderRequest { private String customerId; private Integer userId; + public List getPostOrder() { return postOrders; } @@ -42,6 +43,7 @@ public class PostOrderRequest { List codes; private String billType; private String orderId; + private boolean outChangeEnable; public String getStockIdFk() { return stockIdFk; @@ -84,6 +86,14 @@ public class PostOrderRequest { public void setCodes(List codes) { this.codes = codes; } + + public boolean isOutChangeEnable() { + return outChangeEnable; + } + + public void setOutChangeEnable(boolean outChangeEnable) { + this.outChangeEnable = outChangeEnable; + } } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java index c29b295..061572a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java @@ -52,4 +52,8 @@ public class BussinessTypResponse { private boolean checkBalacne; private boolean secCheckBalacne; + private boolean useDyCount; + + private boolean expireTip; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java index 7309346..c75b89e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java @@ -62,6 +62,9 @@ public class UdiRelevanceResponse { private String scbssfbhsxrq; private String cpms; private String supName; + private String manufactory; + private String unitFk; + private String companyName; public int getBhzxxsbzsl() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java index 55aa57c..95b8725 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java @@ -12,11 +12,13 @@ public interface UdiRelevanceService { List filterUdiRelevance(FilterUdiInfoRequest filterUdiInfoRequest); + List filterUdiJoinSup(FilterUdiInfoRequest filterUdiInfoRequest); + List filterUdiEntity(FilterUdiInfoRequest filterUdiInfoRequest); UdiRelevanceResponse selectByNameCode(String nameCode); - List selectAllByNameCode(String nameCode); + List selectAllByNameCode(String nameCode,String unitFk); boolean isExit(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java index 89eb42a..17daff7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -45,6 +45,20 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return data; } + @Override + public List filterUdiJoinSup(FilterUdiInfoRequest filterUdiInfoRequest) { + if (filterUdiInfoRequest == null) { + return Collections.emptyList(); + } + if (filterUdiInfoRequest.getPage() != null) { + int offset = (filterUdiInfoRequest.getPage() - 1) * filterUdiInfoRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiInfoRequest.getLimit()); + } + + List data = udiRelevanceDao.filterUdiJoinSup(filterUdiInfoRequest); + return data; + } + @Override public List filterUdiEntity(FilterUdiInfoRequest filterUdiInfoRequest) { @@ -64,15 +78,20 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { } @Override - public List selectAllByNameCode(String nameCode) { - List udiRelevanceResponses = new ArrayList<>(); - UdiRelevanceResponse udiRelevanceResponse = selectByNameCode(nameCode); - if (udiRelevanceResponse == null || udiRelevanceResponse.getProductType() == ConstantStatus.PRODUCT_TYPE_THIRD) { - return selectByMainId(nameCode); - } else { - udiRelevanceResponses.add(udiRelevanceResponse); - return udiRelevanceResponses; + public List selectAllByNameCode(String nameCode, String unitFk) { + + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setUniqueNameCode(nameCode); + filterUdiInfoRequest.setUnitFk(unitFk); + List udiRelevanceResponses = filterUdiJoinSup(filterUdiInfoRequest); + if (udiRelevanceResponses.size() == 1) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); + if (udiRelevanceResponse == null || udiRelevanceResponse.getProductType() == ConstantStatus.PRODUCT_TYPE_THIRD) { + return selectByMainId(nameCode); + } } + return udiRelevanceResponses; + } 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 aacf3d8..4560852 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 @@ -17,6 +17,8 @@ public interface CodesTempService { boolean update(WarehouseEntity warehouseEntity); + int replaceCodesTempSingle(WarehouseEntity warehouseEntitie); + boolean updateByOrderId(WarehouseEntity warehouseEntity); boolean updateOrderId(String oldOrderId, String newOrderId); 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 361f0a1..e7aa0db 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 @@ -43,6 +43,11 @@ public class CodesTempServiceImpl implements CodesTempService { return codesTempDao.update(warehouseEntity); } + @Override + public int replaceCodesTempSingle(WarehouseEntity warehouseEntitie) { + return codesTempDao.replaceCodesTempSingle(warehouseEntitie); + } + @Override public boolean updateByOrderId(WarehouseEntity warehouseEntity) { return codesTempDao.updateByOrderId(warehouseEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java index 33f57fa..57710f8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java @@ -111,10 +111,16 @@ public class ThrDataService { erpOrderResponse.setReCount(Integer.parseInt(thrOrderDetailEntity.getReCount())); erpOrderResponse.setErpCount(Integer.parseInt(thrOrderDetailEntity.getCount())); erpOrderResponse.setAuthCode(thrOrderDetailEntity.getZczbhhzbapzbh()); - erpOrderResponse.setProductCompany(thrOrderDetailEntity.getYlqxzcrbarmc()); + erpOrderResponse.setProductCompany(thrOrderDetailEntity.getManufactory()); erpOrderResponse.setPackSpec(thrOrderDetailEntity.getSpec()); erpOrderResponse.setGoodsunit(thrOrderDetailEntity.getSpec()); erpOrderResponse.setErpOrderId(thrOrderEntity.getBillNo()); + erpOrderResponse.setPrice(thrOrderDetailEntity.getPrice()); + erpOrderResponse.setSecSalesListNo(thrOrderDetailEntity.getSecSalesListNo()); + erpOrderResponse.setYlqxzcrbarmc(thrOrderDetailEntity.getYlqxzcrbarmc()); + erpOrderResponse.setSecSalesInvNo(thrOrderDetailEntity.getSecSalesInvNo()); + erpOrderResponse.setInvoiceDate(thrOrderDetailEntity.getInvoiceDate()); + erpOrderResponse.setFirstSalesInvNo(thrOrderDetailEntity.getFirstSalesInvNo()); erpOrderEntities.add(erpOrderResponse); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicBackUpdateProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicBackUpdateProductService.java index 44e5037..8426ff8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicBackUpdateProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicBackUpdateProductService.java @@ -132,7 +132,7 @@ public class BasicBackUpdateProductService { udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4()); udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName4()); } - + udiRelevanceEntity1.setManufactory(invmandocResponse.getManufactory()); udiRelevanceEntity1.setThirdId(invmandocResponse.getCode()); udiRelevanceEntity1.setThirdName(invmandocResponse.getName()); udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime()); @@ -164,8 +164,6 @@ public class BasicBackUpdateProductService { public void loadLocal(FilterErpGoodsRequest filterErpGoodsRequest, String thirdSysId, String onHandUrl, Boolean isEnable) { - - if (filterErpGoodsRequest == null) { filterErpGoodsRequest = new FilterErpGoodsRequest(); } @@ -237,7 +235,7 @@ public class BasicBackUpdateProductService { udiRelevanceEntity1.setMainName(udiRelevanceEntity1.getThirdName4()); } - + udiRelevanceEntity1.setManufactory(thrProductsEntity.getManufactory()); udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode()); udiRelevanceEntity1.setThirdName(thrProductsEntity.getName()); udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java index 6de9878..8f01ac7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java @@ -164,6 +164,7 @@ public class BasicUpdateProductService { udiRelevanceEntity1.setThirdName(thrProductsEntity.getName()); udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime()); udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName()); + udiRelevanceEntity1.setManufactory(udiInfoEntity.getManufactory()); BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); String mainSys = basicThirdSysEntity.getThirdId(); if (mainSys.equals("thirdId")) { @@ -234,6 +235,7 @@ public class BasicUpdateProductService { udiRelevanceEntity1.setThirdName(thrProductsEntity.getName()); udiRelevanceEntity1.setUpdateTime(DateUtil.getDateTime()); udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName()); + udiRelevanceEntity1.setManufactory(udiInfoEntity.getManufactory()); BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); String mainSys = basicThirdSysEntity.getThirdId(); @@ -289,6 +291,7 @@ public class BasicUpdateProductService { UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + udiRelevanceEntity.setManufactory(udiInfoEntity.getManufactory()); List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { boolean isAdd = false; 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 fb70ffc..a51d364 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 @@ -175,30 +175,33 @@ public class InvProductsTrService { List bussinessChangeTypeEntitys = bussinessChangeTypeService.findByAction(bussinessLocalTypeEntity.getLocalAction()); if ((bussinessChangeTypeEntitys != null && bussinessChangeTypeEntitys.size() > 0) && bussinessLocalTypeEntity.isChangeEnable()) { - //普通出库 - if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { - - //补采购入库或寄售转入单 + if (orderEntity.isOutChangeEnable()) {//是否缺量补单 + //普通出库 + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + //补采购入库或寄售转入单 // List datas = addOutOrder(orderEntity, mInvProductDetailEntities);//1.先计算现有库存, // List temps = filterMapCodes(datas); - addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys); + addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys); - } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) - //普通入库补单 - { - BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); - List datas = addPutOrder(orderEntity, mInvProductDetailEntities); - List temps = filterMapCodes(datas); + } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) + //普通入库补单 + { + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); + List datas = addPutOrder(orderEntity, mInvProductDetailEntities); + List temps = filterMapCodes(datas); // insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 - buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 - } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { - //寄售出库补单 - BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); - List datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); - List temps = filterMapCodes(datas); + buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { + //寄售出库补单 + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); + List datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); + List temps = filterMapCodes(datas); // insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 - buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } + }else { + insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 } } else { @@ -581,6 +584,12 @@ public class InvProductsTrService { outOrder.setFromCorp(basicUnitMaintainEntity.getName()); outOrder.setFromCorpId(corpName); outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -618,6 +627,12 @@ public class InvProductsTrService { outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setFromCorpId(null); outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); warehouseEntity.setOrderId(outOrder.getId()); warehouseEntity.setId(null); @@ -680,6 +695,11 @@ public class InvProductsTrService { outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); } + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -745,6 +765,11 @@ public class InvProductsTrService { outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); } + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -781,6 +806,12 @@ public class InvProductsTrService { outOrder.setFromCorp(null); outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); outOrder.setFromCorpId(null); + + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); warehouseEntity.setOrderId(outOrder.getId()); warehouseEntity.setId(null); @@ -850,6 +881,11 @@ public class InvProductsTrService { outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); } + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -918,6 +954,11 @@ public class InvProductsTrService { outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); } + //互填单号 + orderEntity.setUllageSupNo(outOrder.getId()); + orderService.updateOrder(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getId()); + orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -1100,7 +1141,7 @@ public class InvProductsTrService { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(warehouseEntity.getRelId()); UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); if (udiInfoBean != null) { - if ((udiRelevanceEntity.getIsUseDy()!=null && udiRelevanceEntity.getIsUseDy()) && udiInfoBean.getDiType() != 2) { + if ((udiRelevanceEntity.getIsUseDy() != null && udiRelevanceEntity.getIsUseDy()) && udiInfoBean.getDiType() != 2) { if (udiInfoBean.getBhzxxsbzsl() == 0) return udiInfoBean.getZxxsbzbhsydysl(); else @@ -1193,7 +1234,7 @@ public class InvProductsTrService { //是否严格按照UDI码出入库,是: // todo - if (warehouseEntity.getSerialNo() != null && udiRelevanceResponse.getDiType() == 1 && (udiRelevanceEntity.getIsUseDy()==null || !udiRelevanceEntity.getIsUseDy())) { + if (warehouseEntity.getSerialNo() != null && udiRelevanceResponse.getDiType() == 1 && (udiRelevanceEntity.getIsUseDy() == null || !udiRelevanceEntity.getIsUseDy())) { filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); } else { filterInvProductDetailRequest.setProductIdFk(warehouseEntity.getRelId()); 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 4a446b9..d025be0 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 @@ -199,6 +199,7 @@ public class IoTransInoutService { orderSaveRequest.setActor(warehouseEntity.getActor()); orderSaveRequest.setCorpOrderId(warehouseEntity.getCorpOrderId()); orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); + orderSaveRequest.setOutChangeEnable(postOrder.isOutChangeEnable()); orderSaveRequest.setCustomerId(postOrderRequest.getCustomerId()); orderSaveRequest.setLocStorageCode(warehouseEntity.getLocStorageCode()); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); @@ -308,6 +309,17 @@ public class IoTransInoutService { } public void transInout(OrderEntity orderEntity) { + + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setCorpOrderId(orderEntity.getCorpOrderId()); + List orderEntities = orderService.findAllOrders(orderFilterRequest); + if (orderEntities.size() > 1) { + orderEntity.setRemark("单据重复上传"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateOrder(orderEntity); + } + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); if (bussinessTypeEntity == null) { return; @@ -360,7 +372,7 @@ public class IoTransInoutService { for (int j = 0; j < filterList.size(); j++) { WarehouseEntity warehouseEntity = filterList.get(j); warehouseEntity.setInvStorageCode(orderEntity.getLocStorageCode()); - String result = new InoutUtils().filterCode(warehouseService, warehouseEntity, systemParamConfigService); + String result = new InoutUtils().filterCode(warehouseEntity, filterList); if (result == null) { insertList.add(warehouseEntity); } else { @@ -386,10 +398,12 @@ public class IoTransInoutService { } //过期提醒: - SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); - if (!"0".equals(expireParamConfigEntity.getParamValue())) { +// SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); + + + if (bussinessTypeEntity.isExpireTip()) { UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); - if (udiEntity.getExpireDate() != null) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { String expireDate = "20" + udiEntity.getExpireDate(); long expireTime = DateUtil.parseDateExpire(expireDate); if (expireTime - System.currentTimeMillis() < 0) { @@ -401,28 +415,27 @@ public class IoTransInoutService { } - - //近效期提醒: - SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); - int recent = Integer.parseInt(recentParamConfigEntity.getParamValue()); - if (recent > 0) { - UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); - if (udiEntity.getExpireDate() != null) { - String expireDate = "20" + udiEntity.getExpireDate(); - long expireTime = DateUtil.parseDateExpire(expireDate); - if (expireTime - System.currentTimeMillis() < recent * 24 * 60 * 60 * 1000) { - orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); - orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "临近过期!"); - return; - } - } - } +// //近效期提醒: +// SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); +// int recent = Integer.parseInt(recentParamConfigEntity.getParamValue()); +// if (recent > 0) { +// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); +// if (udiEntity.getExpireDate() != null) { +// String expireDate = "20" + udiEntity.getExpireDate(); +// long expireTime = DateUtil.parseDateExpire(expireDate); +// if (expireTime - System.currentTimeMillis() < recent * 24 * 60 * 60 * 1000) { +// orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); +// orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "临近过期!"); +// return; +// } +// } +// } //产品是否已维护已关联 if (StrUtil.isEmpty(warehouseEntity.getRelId())) { orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); - orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "绑定多个产品ID!"); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "上传时对照数据丢失,请选择对!"); return; } @@ -432,9 +445,12 @@ public class IoTransInoutService { orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "未指定供应商!"); return; } - + String unitFk = null; + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + unitFk = warehouseEntity.getFromCorpId(); + } //产品是否可以以使用单元入库 - List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode()); + List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode(), unitFk); if (udiRelevanceResponses.size() == 1) { UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); if (udiRelevanceResponse == null) { @@ -477,7 +493,11 @@ public class IoTransInoutService { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); //为所有条码关联基础信息关联表ID for (WarehouseEntity warehouseEntity : warehouseEntityList) { - List udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode()); + String unitFk = null; + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + unitFk = warehouseEntity.getFromCorpId(); + } + List udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(warehouseEntity.getNameCode(), unitFk); //默认或已选中供应商 String originSupId = checkOriginExitSup(bussinessTypeEntity, warehouseEntity); @@ -751,8 +771,11 @@ public class IoTransInoutService { StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); stockOrderDetailEntity.setProductId(erpOrderEntity.getGoodsid()); stockOrderDetailEntity.setRelId(erpOrderEntity.getGoodsid()); + UdiRelevanceResponse udiRelevanceEntity = udiRelevanceService.selectGroupById(stockOrderDetailEntity.getRelId()); stockOrderDetailEntity.setProductName(erpOrderEntity.getGoodsname()); - + stockOrderDetailEntity.setYlqxzcrbarmc(udiRelevanceEntity.getYlqxzcrbarmc()); + stockOrderDetailEntity.setManufactory(udiRelevanceEntity.getManufactory()); + stockOrderDetailEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); if (erpOrderEntity.getGoodsid() == null) stockOrderDetailEntity.setProductId(erpOrderEntity.getNameCode()); if (erpOrderEntity.getGoodsname() == null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java index 8eee78a..2597fce 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java @@ -30,7 +30,13 @@ public class UdiDlHttpClient { paramMap.put("uuid", uuid); String response = httpClient.mipsGetHead(udiUrl + "/udidl/device/filterByUuid", paramMap); try { - BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); +// BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); + + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + + }); + List udiInfoEntities = udiDlDeviceResponse.getData(); return udiInfoEntities; } catch (Exception e) { diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index e76ae39..d33d821 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -16,10 +16,11 @@ basic_bustype_local.name localName,basic_bussiness_type.checkEnable, basic_bustype_local.advanceType, basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder, basic_bustype_local.spUse,corpType,basic_bussiness_type.storageCode,basic_bussiness_type.checkBalacne, - basic_bussiness_type.secCheckBalacne, defaultUnit,basic_bustype_origin.action thirdAction,basic_bustype_origin.thirdSys + basic_bussiness_type.secCheckBalacne, defaultUnit,basic_bustype_origin.action + thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.useDyCount,basic_bussiness_type.expireTip FROM basic_bussiness_type LEFT JOIN basic_bustype_local on basic_bussiness_type.localAction = basic_bustype_local.action - left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action + left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action AND basic_bussiness_type.name LIKE concat('%',#{name},'%') @@ -40,14 +41,14 @@ AND basic_bustype_local.spUse =#{spUse} - GROUP BY basic_bussiness_type.id + GROUP BY basic_bussiness_type.id + diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml index 3a19a4a..c188eba 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml @@ -60,6 +60,27 @@ #{count}, #{nameCode}, #{supId}, #{invStorageCode}, #{invWarehouseCode}, #{locStorageCode}, #{relId}) + + replace INTO io_codes_temp(id,action, mainAction, code, corpOrderId, actor, actDate, + fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, serialNo, + count, nameCode, supId, invStorageCode, invWarehouseCode, locStorageCode, relId) + values (#{id},#{action}, + #{mainAction}, + #{code}, + #{corpOrderId}, + #{actor}, + #{actDate}, + #{fromCorpId}, + #{fromCorp}, + #{orderId}, + #{batchNo}, + #{produceDate}, + #{expireDate}, + #{serialNo}, + #{count}, #{nameCode}, #{supId}, #{invStorageCode}, #{invWarehouseCode}, #{locStorageCode}, #{relId}) + +