diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java index 3d4125ba..80f12d44 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java @@ -119,7 +119,7 @@ public class BasicUnitMaintainController { @AuthRuleAnnotation("") @PostMapping("/udiwms/basic/unit/maintain/save") - public BaseResponse save(@RequestBody BasicUnitMaintainEntity basicUnitMaintainSaveRequest, + public BaseResponse save(@RequestBody @Valid BasicUnitMaintainEntity basicUnitMaintainSaveRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java index 61384b53..8d3aa2d7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java @@ -97,6 +97,11 @@ public class BussinessOriginTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { + //校验单据类型代码是否重复 + boolean exists = bussinessOriginTypeService.checkActionExists(bussinessTypeEntity.getAction(), bussinessTypeEntity.getThirdSys()); + if (exists) { + return ResultVOUtils.error(500, "单据类型已存在!"); + } bussinessOriginTypeService.updateBusOriginType(bussinessTypeEntity); } else { ResultVOUtils.error(999, "参数错误"); @@ -112,9 +117,12 @@ public class BussinessOriginTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { - bussinessTypeEntity.setUpdateTime(new Date()); - + boolean exists = bussinessOriginTypeService.checkActionExists(bussinessTypeEntity.getAction(), bussinessTypeEntity.getThirdSys()); + if (exists) { + return ResultVOUtils.error(500, "单据类型已存在!"); + } + bussinessTypeEntity.setUpdateTime(new Date()); BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByAction(bussinessTypeEntity.getAction()); if (bussinessOriginTypeEntity != null) { return ResultVOUtils.error(500, "单据类型已存在!"); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java index c40c15f1..fcebfa38 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java @@ -64,7 +64,7 @@ public class UdiContrastController { //关联添加 if (StrUtil.isEmpty(combineRequest.getRelId()) || combineRequest.isIdSpliUdi()) { if (StrUtil.isNotEmpty(combineRequest.getThirdId())) { - if (udiContrastService.isExit(key, combineRequest.getThirdId())) { + if (udiContrastService.isExit(key, combineRequest.getThirdId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { createUnionContrast(combineRequest, key); @@ -73,7 +73,7 @@ public class UdiContrastController { } } else { //只添加DI - if (udiContrastService.isExit(key, null)) { + if (udiContrastService.isExit(key, null, null)) { return ResultVOUtils.error(500, "已存在该DI,且未对照!"); } else { createOnlyUuid(combineRequest, key); @@ -81,7 +81,7 @@ public class UdiContrastController { } } else {//修改关联DI UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(combineRequest.getRelId()); - if (udiContrastService.isExit(key, udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(key, udiRelevanceEntity.getMainId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { updateDi(udiRelevanceEntity, key); @@ -93,7 +93,7 @@ public class UdiContrastController { StringBuffer buffer = new StringBuffer(); //只添加产品 for (String thirdId : combineRequest.getThirdIds()) { - if (udiContrastService.isExit(null, thirdId)) { + if (udiContrastService.isExit(null, thirdId, null)) { buffer.append(thirdId).append(","); } else { createOnlyMainId(combineRequest, thirdId); @@ -112,7 +112,7 @@ public class UdiContrastController { @PostMapping("/udi/udirel/changeVersion") public BaseResponse changeVersion(@RequestBody CombineRequest combineRequest) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(combineRequest.getRelId()); - if (udiContrastService.isExit(combineRequest.getKeys().get(0), udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(combineRequest.getKeys().get(0), udiRelevanceEntity.getMainId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,无法切换版本"); } List udiInfoEntities = udiDlHttpClient.getUdiByUuid(combineRequest.getKeys().get(0)); @@ -146,7 +146,7 @@ public class UdiContrastController { udiRelevanceEntity.setSupName(combineRequest.getSupName()); udiRelevanceEntity.setPrice(combineRequest.getPrice()); UdiRelevanceEntity temp = udiContrastService.findById(udiRelevanceEntity.getId()); - if (udiContrastService.isExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId(), combineRequest.getThirdSys())) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { try { @@ -179,7 +179,7 @@ public class UdiContrastController { udiRelevanceEntity.setThirdId(""); udiRelevanceEntity.setThirdName(""); UdiRelevanceEntity temp = udiContrastService.findById(udiRelevanceEntity.getId()); - if (udiContrastService.isExit(temp.getOriginUuid(), null)) { + if (udiContrastService.isExit(temp.getOriginUuid(), null, null)) { return ResultVOUtils.error(500, "解除绑定失败!"); } } else if (removeRelRequest.getThirdSys().equals("thirdId1")) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiInfoController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiInfoController.java index 57e531ec..ee6ddcbb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiInfoController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiInfoController.java @@ -13,15 +13,13 @@ import com.glxp.api.admin.req.receipt.ProductInfoFilterRequest; import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.ErpProductsResponse; -import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; -import com.glxp.api.admin.service.basic.SyncUdiService; -import com.glxp.api.admin.service.basic.UdiInfoService; -import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.basic.*; import com.glxp.api.admin.service.thrsys.ThrProductsService; import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -33,6 +31,7 @@ import javax.annotation.Resource; import java.util.*; //基础信息维护 +@Slf4j @RestController public class UdiInfoController { @@ -53,9 +52,7 @@ public class UdiInfoController { @AuthRuleAnnotation("") @GetMapping("udiwms/udiinfo/filterUdi") public BaseResponse filterUdi(FilterUdiInfoRequest filterUdiInfoRequest) { - Map paramMap = new HashMap<>(16); - - String nameCode = null; + String nameCode; if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().equals("")) { UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode()); if (udiEntity != null) { @@ -100,10 +97,9 @@ public class UdiInfoController { } } } - return udiDlDeviceResponse; } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage(), e); return ResultVOUtils.error(500, "连接UDI数据下载服务出错!"); } } @@ -232,6 +228,11 @@ public class UdiInfoController { return ResultVOUtils.success(udiInfoEntity); } + @Resource + UdiContrastService udiContrastService; + @Resource + BasicThirdSysService basicThirdSysService; + /** * 新增第三方产品信息 * @@ -245,6 +246,14 @@ public class UdiInfoController { thrProductsEntity.setThirdSysFk(thrProductsEntity.getThirdSys()); thrProductsEntity.setUpdateTime(new Date()); thrProductsService.insertThrProducts(thrProductsEntity); + + + //新增主系统产品信息直接加到耗材字典里 + BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); + if (basicThirdSysEntity.getThirdId().equals(thrProductsEntity.getThirdSysFk())) + if (!udiContrastService.isExit(null, thrProductsEntity.getCode(), null)) { + udiContrastService.createOnlyMainId(thrProductsEntity.getCode()); + } return ResultVOUtils.success(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java index 0a021076..2cc5d40f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java @@ -146,7 +146,7 @@ public class UdiRelevanceController { } } - filterUdiInfoRequest.setDiType(1); + //filterUdiInfoRequest.setDiType(1); udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); PageInfo pageInfo; diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java index 21851137..63565377 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java @@ -1,10 +1,10 @@ package com.glxp.api.admin.controller.business; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; -import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; @@ -13,7 +13,6 @@ import com.glxp.api.admin.entity.basic.UdiInfoEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.exception.JsonException; import com.glxp.api.admin.req.basic.CompanyProductRelevanceRequest; @@ -30,17 +29,14 @@ import com.glxp.api.admin.res.business.StockOrderDetailResponse; import com.glxp.api.admin.res.info.CompanyProductRelevanceResponse; import com.glxp.api.admin.service.auth.AuthAdminService; import com.glxp.api.admin.service.basic.BussinessLocalTypeService; -import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.business.StockOrderDetailService; import com.glxp.api.admin.service.business.StockOrderDetailTempService; import com.glxp.api.admin.service.business.StockOrderService; -import com.glxp.api.admin.service.business.StockQRCodeTextService; import com.glxp.api.admin.service.info.CompanyProductRelevanceService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.CodesService; -import com.glxp.api.admin.thread.IoTransInoutService; import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -58,7 +54,6 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; @RestController @@ -97,7 +92,6 @@ public class StockOrderDetailController { } StockOrderEntity stockOrderEntity = stockOrderService.findById(stockOrderDetailFilterRequest.getOrderIdFk()); - String value = systemParamConfigService.selectValueByParamKey("oeder_detail_by_code"); List stockOrderDetailEntityList = stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest); BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); @@ -465,10 +459,8 @@ public class StockOrderDetailController { @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/filterProduct") public BaseResponse filterProduct(FilterUdiInfoRequest filterUdiInfoRequest) { - - - String nameCode = null; - UdiEntity udiEntity = null; + String nameCode; + UdiEntity udiEntity; if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) { udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode()); if (udiEntity != null) { @@ -490,33 +482,37 @@ public class StockOrderDetailController { companyProductRelevanceRequest.setIsDisable(false); List basicInstrumentMaintainRelevanceResponses = null; BussinessLocalTypeEntity bussinessTypeEntity = bussinessLocalTypeService.findBTByAction(filterUdiInfoRequest.getBillType()); + + PageInfo pageInfo2 = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { companyProductRelevanceRequest.setCustomerId(null); companyProductRelevanceRequest.setUnitFk(companyProductRelevanceRequest.getCorpId()); basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); } else { - basicInstrumentMaintainRelevanceResponses = getHosDatas(filterUdiInfoRequest); + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + pageInfo2 = new PageInfo<>(udiRelevanceResponses); + if (!pageInfo2.getList().isEmpty()) { + basicInstrumentMaintainRelevanceResponses = new ArrayList<>(pageInfo2.getList().size()); + for (UdiRelevanceResponse udiRelevanceResponse : pageInfo2.getList()) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponse, companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponse.getId()); + basicInstrumentMaintainRelevanceResponses.add(companyProductRelevanceResponse); + } + } } PageInfo pageInfo; pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); + if (null != pageInfo2) { + pageSimpleResponse.setTotal(pageInfo2.getTotal()); + } else { + pageSimpleResponse.setTotal(pageInfo.getTotal()); + } pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses); return ResultVOUtils.success(pageSimpleResponse); } - public List getHosDatas(FilterUdiInfoRequest filterUdiInfoRequest) { - List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); - List basicInstrumentMaintainRelevanceResponses = new ArrayList<>(); - for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { - CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); - BeanUtils.copyProperties(udiRelevanceResponse, companyProductRelevanceResponse); - companyProductRelevanceResponse.setRlId(udiRelevanceResponse.getId()); - basicInstrumentMaintainRelevanceResponses.add(companyProductRelevanceResponse); - } - return basicInstrumentMaintainRelevanceResponses; - } - @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/copy") public BaseResponse uploadCount(@RequestParam("id") String id) { @@ -558,7 +554,7 @@ public class StockOrderDetailController { } StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - BeanUtils.copyProperties(stockOrderDetailFilterRequest, stockOrderDetailEntity); + BeanUtil.copyProperties(stockOrderDetailFilterRequest, stockOrderDetailEntity); boolean b = stockOrderDetailService.updateById(stockOrderDetailEntity); if (b) { return ResultVOUtils.success(); @@ -619,7 +615,7 @@ public class StockOrderDetailController { @PostMapping("/udiwms/stock/order/detail/update") public BaseResponse updateStockOrderDetail(@RequestBody StockOrderDetailEntity stockOrderDetailEntity) { if (null != stockOrderDetailEntity) - stockOrderDetailService.updateById(stockOrderDetailEntity); + stockOrderDetailService.updateOrderDetailInfo(stockOrderDetailEntity); return ResultVOUtils.success("更新成功"); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java index 77be0fc7..af8d505e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java @@ -31,7 +31,6 @@ import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.EntrustReceService; import com.glxp.api.admin.service.business.StockOrderService; -import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.service.inventory.InvWarehouseService; @@ -672,6 +671,7 @@ public class OrderController { OrderEntity orderEntity = orderService.findById(orderFilterRequest.getId()); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + orderEntity.setErpFk(""); //将业务单据号置空 List warehouseEntityList = codesService.findByReceiptId(orderEntity.getId()); codesTempService.insertCodesTemp(warehouseEntityList); codesService.deleteByOrderId(orderEntity.getId()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreInProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreInProductsController.java index 1ae95a90..5876d952 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreInProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreInProductsController.java @@ -7,7 +7,6 @@ import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; -import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; import com.glxp.api.admin.req.inout.DeleteRequest; @@ -18,7 +17,6 @@ import com.glxp.api.admin.res.inventory.InvProductDetailResponse; import com.glxp.api.admin.res.inventory.InvProductPageRespnonse; import com.glxp.api.admin.res.inventory.InvProductResponse; import com.glxp.api.admin.res.inventory.InvProductStatResponse; -import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.inventory.InvPreInProductDetailService; import com.glxp.api.admin.service.inventory.InvPreInProductService; import com.glxp.api.common.enums.ResultEnum; @@ -38,13 +36,10 @@ import java.util.List; @RestController public class InvPreInProductsController { - @Resource InvPreInProductService invProductService; @Resource InvPreInProductDetailService invProductDetailService; - @Resource - private CompanyService companyService; @AuthRuleAnnotation("") @GetMapping("spms/prein/inv/products/filter") diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index a53dad4f..aa39d2d0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -6,20 +6,16 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; -import com.glxp.api.admin.controller.inout.UdiTraceController; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.basic.UdiInfoEntity; -import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseUserEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; -import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inventory.FilterCodeTraceRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductRequest; -import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; import com.glxp.api.admin.res.inventory.InvProductDetailResponse; @@ -29,20 +25,14 @@ import com.glxp.api.admin.res.inventory.InvProductStatResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; -import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inout.WarehouseUserService; import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.inventory.InvProductService; -import com.glxp.api.admin.service.inventory.InvWarehouseService; import com.glxp.api.admin.util.FilterUdiUtils; -import com.glxp.api.admin.util.GennerOrderUtils; -import com.glxp.api.admin.util.OrderNoTypeBean; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -72,10 +62,6 @@ public class InvProductsController { @Resource private UdiInfoService udiInfoService; @Resource - private CompanyService companyService; - @Resource - private InvWarehouseService invWarehouseService; - @Resource private WarehouseUserService warehouseUserService; @Resource CustomerService customerService; diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java index 4c75afad..51eb09bd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java @@ -21,6 +21,8 @@ public interface BussinessOriginTypeDao { boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); +// boolean insertOrUpdate(BussinessOriginTypeEntity bussinessOriginTypeEntity); + boolean deleteById(@Param("id") String id); /** @@ -30,4 +32,12 @@ public interface BussinessOriginTypeDao { * @return */ String selectNameByAction(@Param("action") String action); + + /** + * 根据单据类型统计条数 + * + * @param action + * @return + */ + int countByAction(@Param("action") String action, @Param("thirdSys") String thirdSys); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java index a9de4711..ed843beb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.req.business; +import com.fasterxml.jackson.annotation.JsonFormat; import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; @@ -44,4 +45,10 @@ public class StockOrderFilterRequest extends ListPageRequest { private String orderId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String endDate; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiTraceResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiTraceResponse.java index 15b316c9..2fc966a2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiTraceResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiTraceResponse.java @@ -17,4 +17,5 @@ public class UdiTraceResponse { private String batchNo; private String produceDate; private String expireDate; + private String billTypeName; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java index 8efe9b20..24884a70 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java @@ -26,6 +26,9 @@ public interface BussinessOriginTypeService { boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); + boolean insertOrUpdate(BussinessOriginTypeEntity bussinessOriginTypeEntity); + + List filterJoinList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); //第三方单据类型 @@ -46,4 +49,13 @@ public interface BussinessOriginTypeService { * @return */ String findNameByAction(String originAction); + + /** + * 校验单据类型代码是否重复 + * + * @param action + * @param thirdSys + * @return + */ + boolean checkActionExists(String action, String thirdSys); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java index 0a080504..8efc13d3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java @@ -2,9 +2,19 @@ package com.glxp.api.admin.service.basic; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.dao.basic.UdiRelevanceDao; +import com.glxp.api.admin.entity.basic.UdiInfoEntity; import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; +import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.admin.service.thrsys.ThrProductsService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.GennerOrderUtils; +import com.glxp.api.admin.util.UdiInfoUtil; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -17,9 +27,9 @@ public class UdiContrastService { UdiRelevanceDao udiRelevanceDao; - public boolean isExit(String originUuid, String mainId) { + public boolean isExit(String originUuid, String mainId, String thirdSys) { - if (StrUtil.isNotEmpty(originUuid) && StrUtil.isNotEmpty(mainId)) { + if (StrUtil.isNotEmpty(originUuid) && StrUtil.isNotEmpty(mainId) && StrUtil.isBlank(thirdSys)) { List udiRelevanceEntities = findByUnion(originUuid, mainId); if (CollUtil.isNotEmpty(udiRelevanceEntities)) { return true; @@ -45,9 +55,23 @@ public class UdiContrastService { } } return false; - } else return false; - + } else if (StrUtil.isNotBlank(originUuid) && StrUtil.isNotBlank(mainId) && StrUtil.isNotBlank(thirdSys)) { + List udiRelevanceEntities = findByUnion2(originUuid, mainId, thirdSys); + if (CollUtil.isNotEmpty(udiRelevanceEntities)) { + return true; + } else + return false; + } + return false; + } + private List findByUnion2(String originUuid, String mainId, String thirdSys) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setMainId(mainId); + filterUdiInfoRequest.setOriginUuid(originUuid); + filterUdiInfoRequest.setThirdSys(thirdSys); + List udiRelevanceEntities = udiRelevanceDao.selectByOrigiUuid(filterUdiInfoRequest); + return udiRelevanceEntities; } public List findByUnion(String originUuid, String mainId) { @@ -95,4 +119,56 @@ public class UdiContrastService { } + + + + @Resource + GennerOrderUtils gennerOrderUtils; + @Resource + ThrProductsService thrProductsService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + UdiInfoService udiInfoService; + + public void createOnlyMainId(String mainId) { + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setCode(mainId); + List thrProductsEntities = thrProductsService.selectThrProducts(filterThrProductsRequest); + ThrProductsEntity thrProductsEntity = thrProductsEntities.get(0); + UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); + udiRelevanceEntity.setThirdId(thrProductsEntity.getCode()); + udiRelevanceEntity.setThirdName(thrProductsEntity.getName()); + udiRelevanceEntity.setMainId(thrProductsEntity.getCode()); + udiRelevanceEntity.setMainName(thrProductsEntity.getName()); + udiRelevanceEntity.setMeasname(thrProductsEntity.getMeasname()); + String time = DateUtil.getDateTime(); + udiRelevanceEntity.setUpdateTime(time); + udiRelevanceEntity.setModifyTime(time); + udiRelevanceEntity.setUuid(CustomUtil.getUUId()); + udiRelevanceEntity.setSupName(thrProductsEntity.getSupName()); + udiRelevanceEntity.setManufactory(thrProductsEntity.getManufactory()); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + ""); + udiRelevanceEntity.setPrice(thrProductsEntity.getPrice()); + udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); + BeanUtils.copyProperties(thrProductsEntity, udiInfoEntity); + udiInfoEntity.setNameCode(thrProductsEntity.getCode()); + udiInfoEntity.setCpmctymc(thrProductsEntity.getName()); + udiInfoEntity.setManufactory(thrProductsEntity.getManufactory()); + udiInfoEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory()); + udiInfoEntity.setGgxh(thrProductsEntity.getSpec()); + udiInfoEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); + udiInfoEntity.setUuid(udiRelevanceEntity.getUuid()); + udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); + udiInfoEntity.setDiType(1); + udiInfoEntity.setScbssfbhph("是"); + udiInfoEntity.setScbssfbhscrq("是"); + udiInfoEntity.setScbssfbhsxrq("是"); + udiInfoEntity.setScbssfbhxlh("否"); + udiInfoEntity = UdiInfoUtil.initUdiInfoEntity(udiInfoEntity); + udiInfoService.insertUdiInfo(udiInfoEntity); + } + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java index 43c0f35b..0323e3dd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java @@ -43,6 +43,8 @@ public interface UdiRelevanceService { UdiRelevanceEntity selectUpdateByThirdId(String thirdId); + UdiRelevanceEntity selectByMainIdLimitOne(String mainId); + List selectByMainId(String mainId); UdiRelevanceEntity selectUpteaByAll(String uuid, String thirdId); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java index e9eddbbc..9175c47d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java @@ -89,6 +89,12 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic return bussinessOriginTypeDao.insertBusOriginType(bussinessTypeEntity); } + @Override + public boolean insertOrUpdate(BussinessOriginTypeEntity bussinessOriginTypeEntity) { + + return false; + } + @Override public List filterJoinList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest) { return bussinessOriginTypeDao.filterJoinList(bussinessOriginTypeFilterRequest); @@ -136,4 +142,13 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic public String findNameByAction(String originAction) { return bussinessOriginTypeDao.selectNameByAction(originAction); } + + @Override + public boolean checkActionExists(String action, String thirdSys) { + int count = bussinessOriginTypeDao.countByAction(action, thirdSys); + if (count > 0) { + return true; + } + return false; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java index 7040843c..4cb29e56 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -199,6 +199,16 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return null; } + @Override + public UdiRelevanceEntity selectByMainIdLimitOne(String mainId) { + + if (mainId == null) + return null; + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setMainId(mainId); + return udiRelevanceDao.selectByThirdId(filterUdiInfoRequest); + } + @Override public List selectByMainId(String mainId) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java index 9b867998..9d7f93c4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java @@ -27,5 +27,11 @@ public interface StockOrderDetailService { boolean verifyCount(List subErpOrders); + /** + * 更新业务单据详情信息 + * + * @param stockOrderDetailEntity + */ + void updateOrderDetailInfo(StockOrderDetailEntity stockOrderDetailEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java index 7b8a8380..69db6af4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java @@ -95,4 +95,23 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { return true; } + @Override + public void updateOrderDetailInfo(StockOrderDetailEntity stockOrderDetailEntity) { + if (null != stockOrderDetailEntity) { + if (StrUtil.isBlank(stockOrderDetailEntity.getInvoiceDate())) { + stockOrderDetailEntity.setInvoiceDate(""); + } + if (StrUtil.isBlank(stockOrderDetailEntity.getFirstSalesInvNo())) { + stockOrderDetailEntity.setFirstSalesInvNo(""); + } + if (StrUtil.isBlank(stockOrderDetailEntity.getSecSalesInvNo())) { + stockOrderDetailEntity.setSecSalesInvNo(""); + } + if (StrUtil.isBlank(stockOrderDetailEntity.getSecSalesListNo())) { + stockOrderDetailEntity.setSecSalesListNo(""); + } + stockOrderDetailDao.updateById(stockOrderDetailEntity); + } + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index 5cee70e0..7c306515 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.service.business.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -24,6 +25,7 @@ import com.glxp.api.admin.req.business.StockOrderUploadRequest; import com.glxp.api.admin.res.business.StockOrderDetailEntityVo; import com.glxp.api.admin.res.business.StockOrderExportResponse; import com.glxp.api.admin.service.business.StockOrderService; +import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.HttpOkClient; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -112,6 +114,18 @@ public class StockOrderServiceImpl implements StockOrderService { } int offset = (stockOrderFilterRequest.getPage() - 1) * stockOrderFilterRequest.getLimit(); PageHelper.offsetPage(offset, stockOrderFilterRequest.getLimit()); + try { + if (StrUtil.isNotBlank(stockOrderFilterRequest.getStartDate())) { + String startDate = DateUtil.formatDate(DateUtil.parseDate(stockOrderFilterRequest.getStartDate(), DatePattern.UTC_MS_PATTERN), DatePattern.NORM_DATETIME_PATTERN); + stockOrderFilterRequest.setStartDate(startDate); + } + if (StrUtil.isNotBlank(stockOrderFilterRequest.getEndDate())) { + String endDate = DateUtil.formatDate(DateUtil.parseDate(stockOrderFilterRequest.getEndDate(), DatePattern.UTC_MS_PATTERN), DatePattern.NORM_DATETIME_PATTERN); + stockOrderFilterRequest.setEndDate(endDate); + } + } catch (Exception e) { + log.error("格式化单据查询日期参数异常", e); + } return stockOrderDao.filterListOr(stockOrderFilterRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java index f316fcaf..4c86000a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java @@ -17,9 +17,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; @Service public class InvPreInProductDetailServiceImpl implements InvPreInProductDetailService { @@ -103,7 +101,7 @@ public class InvPreInProductDetailServiceImpl implements InvPreInProductDetailSe public InvProductDetailEntity statInvPreInDetail(String code) { FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); filterInvProductDetailRequest.setOriginCode(code); - + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); List datas = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isEmpty(datas)) { filterInvProductDetailRequest.setOriginCode(null); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 72005a28..d76c7037 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -21,7 +21,7 @@ import java.util.List; public class InvProductDetailServiceImpl implements InvProductDetailService { @Resource - InvProductDetailDao invProductDetailDao; + private InvProductDetailDao invProductDetailDao; @Override public List findByCode(String code) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index 12d22dcc..9b246505 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -42,6 +42,7 @@ public class InvProductServiceImpl implements InvProductService { int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); } + List data = invProductDao.filterJoinInvProduct(filterInvProductRequest); return data; } @@ -92,16 +93,34 @@ public class InvProductServiceImpl implements InvProductService { relIdFkSet.add(invProductResponse.getRelIdFk()); }); + //按照产品批次分组 + Set batchNoSet = new HashSet<>(); + data.forEach(invProductResponse -> { + batchNoSet.add(invProductResponse.getBatchNo()); + }); + List result = new ArrayList<>(); for (String relIdFk : relIdFkSet) { - InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); - int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); - int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); - invProductResponse.setInCount(inCount); - invProductResponse.setOutCount(outCount); - invProductResponse.setReCount(inCount - outCount); - result.add(invProductResponse); + if (CollUtil.isNotEmpty(batchNoSet)) { + for (String batchNo : batchNoSet) { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } + } else { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } } return result; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUdiInfoImportService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUdiInfoImportService.java index b9140301..9fbf8c82 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUdiInfoImportService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUdiInfoImportService.java @@ -43,8 +43,6 @@ public class BasicUdiInfoImportService { UdiRelevanceService udiRelevanceService; @Resource ThrDataService thrDataService; - @Value("${UDI_SERVER_URL}") - private String udiUrl; @Resource SystemParamConfigService systemParamConfigService; @Resource diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/DownloadThirdSysDataTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/DownloadThirdSysDataTask.java index ffdec211..c855e298 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/DownloadThirdSysDataTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/DownloadThirdSysDataTask.java @@ -10,6 +10,7 @@ import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.dao.schedule.SystemParamConfigDao; import com.glxp.api.admin.entity.basic.BasicThirdSysBusApiEntity; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; @@ -20,6 +21,7 @@ import com.glxp.api.admin.req.basic.FilterBasicThirdSysDetailRequest; import com.glxp.api.admin.req.info.ScheduledRequest; import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.service.basic.BasicThirdSysService; import com.glxp.api.admin.service.basic.BussinessOriginTypeService; import com.glxp.api.admin.service.thrsys.ThrCorpImportLogService; import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService; @@ -93,6 +95,8 @@ public class DownloadThirdSysDataTask implements SchedulingConfigurer { //下载第三方仓库数据 //查询所有启用的第三方系统的标识 List thirdIds = basicThirdSysDao.selectEnabledThirdId(); + + if (CollUtil.isNotEmpty(thirdIds)) { for (String thirdId : thirdIds) { //查询此系统的仓库仓位码配置详情 diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java index b803301a..6f3e922b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java @@ -7,7 +7,10 @@ import com.alibaba.fastjson.TypeReference; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.BasicProcessStatus; import com.glxp.api.admin.constant.Constant; +import com.glxp.api.admin.dao.basic.UdiRelevanceDao; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; +import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; import com.glxp.api.admin.entity.info.SyncDataSetEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsExportLogEntity; @@ -22,6 +25,9 @@ import com.glxp.api.admin.req.thrsys.ThrProductsExportRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.ErpProductsResponse; import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; +import com.glxp.api.admin.service.basic.BasicThirdSysService; +import com.glxp.api.admin.service.basic.UdiContrastService; +import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.info.SyncDataSetService; import com.glxp.api.admin.service.thrsys.ThrProductsExportLogService; import com.glxp.api.admin.service.thrsys.ThrProductsImportDetailService; @@ -67,6 +73,12 @@ public class ThrProductsDlService { ThrProductsExportLogService thrProductsExportLogService; @Resource private ErpBasicClient erpBasicClient; + @Resource + private BasicThirdSysService basicThirdSysService; + @Resource + private UdiRelevanceService udiRelevanceService; + @Resource + private UdiContrastService udiContrastService; @Async public void importSelectProducrs(String genKey, List thrProductsEntities, String thirdSys) { @@ -142,6 +154,15 @@ public class ThrProductsDlService { for (List data : splitList) { thrProductsService.insertThrProductss(data); } + BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); + if (filterThrProductsRequest.getThirdSysFk().equals(basicThirdSysEntity.getThirdId())) { + for (ThrProductsEntity thrProductsEntity : thrProductsEntities) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByMainIdLimitOne(thrProductsEntity.getCode()); + if (udiRelevanceEntity == null) { + udiContrastService.createOnlyMainId(thrProductsEntity.getCode()); + } + } + } redisUtil.set(Constant.dlThrProducts, "false"); thrProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); thrProductsImportLogService.updateImportLog(thrProductsImportLogEntity); diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 435bfedc..4e972fe2 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,62 +1,32 @@ -# \u672C\u5730\u73AF\u5883 server.port=9991 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 -#spring.datasource.password=89083fb2fc145533 server.servlet.context-path= -#logging.level.com.glxp.api.admin.dao=debug -logging.level.com.glxp.api.admin.dao.auth=debug -logging.level.com.glxp.api.admin.dao.basic=debug -logging.level.com.glxp.api.admin.dao.business=debug -logging.level.com.glxp.api.admin.dao.info=debug -logging.level.com.glxp.api.admin.dao.inout=debug -logging.level.com.glxp.api.admin.dao.inventory=debug -logging.level.com.glxp.api.admin.dao.thrsys=debug -logging.level.com.glxp.api.admin.erp.second=debug +logging.level.com.glxp.api.admin.dao=debug file_path=D:/udi/udiwms/udiwmsfile/ #file_path=/home/glxp/udiwms -#UDI\u6570\u636E\u4E0B\u8F7D UDI_KEY=6b137c66-6286-46c6-8efa-c2f5dd9237df UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test SPMS_KEY=lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs -#\u4E2D\u8F6C\u670D\u52A1IP\u5730\u5740 -#SPSYNC_IP=http://192.168.0.35:9150/SP_SYNC_SERVER -SPSYNC_IP=http://127.0.0.1:9989 -#SPSYNC_IP=http://139.159.187.130/SP_SYNC_SERVER -#UDI_SERVER_URL=http://127.0.0.1:9995 -##\u7AEF\u53E3\u53F7 -# Redis\u6570\u636E\u5E93\u7D22\u5F15\uFF08\u9ED8\u8BA4\u4E3A0\uFF09 spring.redis.database=8 -# Redis\u670D\u52A1\u5668\u5730\u5740 spring.redis.host=127.0.0.1 -# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3 spring.redis.port=6379 -# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09 spring.redis.password= -#\u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 spring.redis.jedis.pool.max-active=8 -# \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 spring.redis.jedis.pool.max-wait=-1 -# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5 spring.redis.jedis.pool.max-idle=8 -# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5 spring.redis.jedis.pool.min-idle=0 -# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09 spring.redis.jedis.timeout=300 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 spring.servlet.multipart.max-file-size=500MB spring.servlet.multipart.max-request-size=500MB - - ok.http.connect-timeout=3000 ok.http.read-timeout=3000 ok.http.write-timeout=3000 -# \u8FDE\u63A5\u6C60\u4E2D\u6574\u4F53\u7684\u7A7A\u95F2\u8FDE\u63A5\u7684\u6700\u5927\u6570\u91CF ok.http.max-idle-connections=200 -# \u8FDE\u63A5\u7A7A\u95F2\u65F6\u95F4\u6700\u591A\u4E3A 300 \u79D2 ok.http.keep-alive-duration=300 diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml index d90c3ad5..9cc0ad64 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml @@ -81,6 +81,10 @@ select name from basic_bustype_origin where action = #{action} + + replace @@ -98,6 +102,7 @@ ) + UPDATE basic_bustype_origin diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 49228d88..7c625b22 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -324,6 +324,23 @@ AND basic_udirel.id = #{id} + + + AND basic_udirel.thirdId = #{mainId} + + + AND basic_udirel.thirdId1 = #{mainId} + + + AND basic_udirel.thirdId2 = #{mainId} + + + AND basic_udirel.thirdId3 = #{mainId} + + + AND basic_udirel.thirdId4 = #{mainId} + + diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml index 0a8eaf09..df8e7c55 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml @@ -124,6 +124,12 @@ and billdate = #{billdate} + + and billdate >= #{startDate} + + + and billdate #{endDate} + and corpId = #{corpId} diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml index d97356bd..85d527b7 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml @@ -590,7 +590,9 @@ - SELECT * FROM io_order WHERE id IN + SELECT io_order.*,basic_bussiness_type.name billTypeName FROM io_order + left join basic_bussiness_type on io_order.action =basic_bussiness_type.action + WHERE io_order.id IN #{item} + order by actDate