diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java index fc8c415..57887ec 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java @@ -1,6 +1,7 @@ package com.glxp.sale.admin.controller.basic; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.db.sql.Order; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.dao.basic.UdiInfoDao; @@ -23,6 +24,7 @@ import com.glxp.sale.admin.req.inventory.FilterInvUserRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; import com.glxp.sale.admin.req.thrsys.*; +import com.glxp.sale.admin.res.auth.AuthAdminRoleResponse; import com.glxp.sale.admin.res.basic.SpSyncUdiResponse; import com.glxp.sale.admin.res.basic.SpsSyncBusResponse; import com.glxp.sale.admin.res.basic.SpsSyncDataResponse; @@ -47,6 +49,7 @@ import org.springframework.web.bind.annotation.GetMapping; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class SpsSyncDownloadService { @@ -316,6 +319,10 @@ public class SpsSyncDownloadService { OrderService orderService; @Resource CodesService codesService; + @Resource + StockOrderDetailService stockOrderDetailService; + @Resource + StockOrderService stockOrderService; public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) { @@ -398,23 +405,48 @@ public class SpsSyncDownloadService { } } - - List allOrderDetailEntityList = new ArrayList<>(); + List stockOrderRemakEntities = new ArrayList<>(); List warehouseEntityList = new ArrayList<>(); if (CollUtil.isNotEmpty(orderEntities)) { for (OrderEntity orderEntity : orderEntities) { -// List orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId()); -// if (CollUtil.isNotEmpty(orderDetailEntityList)) { -// allOrderDetailEntityList.addAll(orderDetailEntityList); -// } List codes = codesService.findByReceiptId(orderEntity.getId()); if (CollUtil.isNotEmpty(codes)) { warehouseEntityList.addAll(codes); } + String erpId = orderEntity.getErpFk(); + List erpIdArray = new ArrayList<>(); + if (StrUtil.isNotEmpty(erpId)) { + if (erpId.contains(",")) { + String[] erpIDs = erpId.split(","); + for (int i = 0; i < erpIDs.length; i++) { + erpIdArray.add(erpIDs[i]); + } + } else { + erpIdArray.add(erpId); + } + + } + List stockOrderDetailArray = new ArrayList<>(); + for (String erpNo : erpIdArray) { + StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(erpNo); + if (stockOrderEntity != null) { + List stockOrderDetailEntities = stockOrderDetailService.findByOrderIdFk(stockOrderEntity.getId()); + stockOrderDetailArray.addAll(stockOrderDetailEntities); + } + + + } + List remakEntityList = stockOrderDetailArray.stream().map(e -> { + StockOrderRemakEntity stockOrderRemakEntity = new StockOrderRemakEntity(); + BeanUtils.copyProperties(e, stockOrderRemakEntity); + stockOrderRemakEntity.setOrderIdFk(orderEntity.getId()); + return stockOrderRemakEntity; + }).collect(Collectors.toList()); + stockOrderRemakEntities.addAll(remakEntityList); } } + syncOrderResponse.setStockOrderRemakEntities(stockOrderRemakEntities); syncOrderResponse.setOrderEntities(orderEntities); - syncOrderResponse.setOrderDetailEntityList(allOrderDetailEntityList); syncOrderResponse.setWarehouseEntityList(warehouseEntityList); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiContrastController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiContrastController.java index 3321dd4..e302c67 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiContrastController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiContrastController.java @@ -122,14 +122,21 @@ public class UdiContrastController { } } } else if (CollUtil.isNotEmpty(combineRequest.getThirdIds())) { + StringBuffer buffer = new StringBuffer(); //只添加产品 for (String thirdId : combineRequest.getThirdIds()) { if (udiContrastService.isExit(null, thirdId)) { - return ResultVOUtils.error(500, "产品编码:" + thirdId + "已存在!"); + buffer.append(thirdId).append(","); } else { createOnlyMainId(combineRequest, thirdId); } } + + if (StrUtil.isNotBlank(buffer.toString())) { + String errorInfo = StrUtil.removeSuffix(buffer.toString(), ","); + return ResultVOUtils.error(500, "产品编码:" + errorInfo + "已存在!"); + } + } return ResultVOUtils.success("添加成功"); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java index 1ebdbe8..3b857ad 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java @@ -589,7 +589,6 @@ public class OrderDetailController { return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!"); } - public int getActCount(WarehouseEntity warehouseEntity, UdiRelevanceService udiRelevanceService) { UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); if (udiInfoBean != null) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java index d8373a6..0ea9f38 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java @@ -27,7 +27,6 @@ import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.inventory.InvStockPrintService; -import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.util.*; import com.glxp.sale.common.enums.ResultEnum; @@ -65,7 +64,6 @@ public class StockOrderController { private UdiRelevanceService udiRelevanceService; @Resource private SystemParamConfigService systemParamConfigService; - @Resource private AuthAdminService authAdminService; @Resource @@ -81,10 +79,6 @@ public class StockOrderController { @Resource CustomerService customerService; @Resource - InvWarehouseService invWarehouseService; - @Resource - WarehouseUserService warehouseUserService; - @Resource GennerOrderUtils gennerOrderUtils; @Resource private BussinessTypeService bussinessTypeService; @@ -272,7 +266,6 @@ public class StockOrderController { if (StringUtils.isNotBlank(stockOrderFilterRequest.getCorpId())) { CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderFilterRequest.getCorpId())); if (companyEntity.getUnitIdFk().equals("110")) { - Integer userId = customerService.getUserId(); stockOrderFilterRequest.setUnitIdFk(null); stockOrderFilterRequest.setUserId(customerService.getUserId()); } else { 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 48c470a..2668851 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 @@ -28,7 +28,6 @@ import com.glxp.sale.admin.res.inout.StockOrderDetailQueryProductResponse; import com.glxp.sale.admin.res.inout.StockOrderDetailResponse; import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.BussinessLocalTypeService; -import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; @@ -72,7 +71,6 @@ public class StockOrderDetailController { private UdiRelevanceService udiRelevanceService; @Resource private CompanyProductRelevanceService companyProductRelevanceService; - @Autowired private SystemParamConfigService systemParamConfigService; @Resource @@ -81,8 +79,6 @@ public class StockOrderDetailController { BussinessLocalTypeService bussinessLocalTypeService; @Resource CodesService codesService; - @Resource - BussinessTypeService bussinessTypeService; @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/filter") @@ -94,8 +90,6 @@ public class StockOrderDetailController { } StockOrderEntity stockOrderEntity = stockOrderService.findById(stockOrderDetailFilterRequest.getOrderIdFk()); - stockOrderDetailFilterRequest.setPage(null); - stockOrderDetailFilterRequest.setLimit(null); List stockOrderDetailEntityList = stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest); @@ -494,6 +488,7 @@ public class StockOrderDetailController { companyProductRelevanceRequest.setIsDisable(false); List basicInstrumentMaintainRelevanceResponses = null; + PageInfo pageInfo2 = null; if (filterUdiInfoRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { BussinessLocalTypeEntity bussinessTypeEntity = bussinessLocalTypeService.findBTByAction(filterUdiInfoRequest.getBillType()); @@ -502,7 +497,17 @@ public class StockOrderDetailController { 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); + } + } } } else { basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); @@ -512,23 +517,15 @@ public class StockOrderDetailController { 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) { 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 1a47902..a5306ea 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 @@ -482,7 +482,6 @@ public class WareHouseController { } } BaseResponse baseResponse = ResultVOUtils.error(501, "UDI码格式错误"); - baseResponse.setData(originCode); return baseResponse; } @@ -1191,9 +1190,9 @@ public class WareHouseController { */ @AuthRuleAnnotation("") @PostMapping("/warehouse/inout/warehouseUserList") - public BaseResponse getWarehouseUserList(@RequestBody @Valid FilterInvLinkDataRequest filterInvLinkDataRequest) { - if (null == filterInvLinkDataRequest || StrUtil.isBlank(filterInvLinkDataRequest.getCode())) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + public BaseResponse getWarehouseUserList(@RequestBody FilterInvLinkDataRequest filterInvLinkDataRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List warehouseUserEntities = warehouseUserService.getListByCode(filterInvLinkDataRequest); PageInfo pageInfo = new PageInfo<>(warehouseUserEntities); @@ -1215,9 +1214,9 @@ public class WareHouseController { @AuthRuleAnnotation("") @PostMapping("/warehouse/inout/warehouseBussniessTypeList") - public BaseResponse getWarehouseBussniessTypeList(@RequestBody @Valid FilterInvLinkDataRequest filterInvLinkDataRequest) { - if (null == filterInvLinkDataRequest || StrUtil.isBlank(filterInvLinkDataRequest.getCode())) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + public BaseResponse getWarehouseBussniessTypeList(@RequestBody FilterInvLinkDataRequest filterInvLinkDataRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List warehouseBussniessTypeList = warehouseBussinessTypeService.getWarehouseBussniessTypeList(filterInvLinkDataRequest); PageInfo pageInfo = new PageInfo<>(warehouseBussniessTypeList); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java index 8abede8..3ca0cf1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java @@ -17,6 +17,7 @@ import com.glxp.sale.admin.res.inventory.InvSubWarehouseResponse; import com.glxp.sale.admin.res.inventory.InvWarehouseThirdSysResponse; import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.inout.WarehouseBussinessTypeService; +import com.glxp.sale.admin.service.inout.WarehouseUserService; import com.glxp.sale.admin.service.inventory.InvProductService; import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; import com.glxp.sale.admin.service.inventory.InvWarehouseService; @@ -47,6 +48,8 @@ public class InvSubWarehouseController { WarehouseBussinessTypeService warehouseBussinessTypeService; @Resource private InvProductService invProductService; + @Resource + private WarehouseUserService warehouseUserService; @AuthRuleAnnotation("") @GetMapping("spms/sub/inv/warehouse/filter") @@ -145,16 +148,14 @@ public class InvSubWarehouseController { InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseService.findById(deleteRequest.getId()); - FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); - filterInvWarehouseRequest.setCode(invSubWarehouseEntity.getParentId()); - List warehouseEntities = invWarehouseService.filterAllByUser(filterInvWarehouseRequest); - if (!warehouseEntities.isEmpty()) { - return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); + Integer userCount = warehouseUserService.countUserBySubInvCode(invSubWarehouseEntity.getCode()); + if (userCount > 0) { + return ResultVOUtils.error(500, "请先移除该仓库关联用户!"); } List warehouseBussinessTypeEntities = warehouseBussinessTypeService.getListByCode(invSubWarehouseEntity.getCode()); if (!warehouseBussinessTypeEntities.isEmpty()) { - return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); + return ResultVOUtils.error(500, "请先移除该仓库关联单据类型!"); } //判断此分库中是否还有库存 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java index 45fe9d4..8798e73 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java @@ -53,4 +53,12 @@ public interface BussinessTypeDao { * @param action */ void updateSupplementOrderType(@Param("supplementOrderType") String supplementOrderType, @Param("action") String action); + + /** + * 根据业务单据号查询补单类型 + * + * @param stockOrderBillNo + * @return + */ + String selectSupplementTypeByBillNo(@Param("stockOrderBillNo") String stockOrderBillNo); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java new file mode 100644 index 0000000..92a92d5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java @@ -0,0 +1,17 @@ +package com.glxp.sale.admin.dao.inout; + +import com.glxp.sale.admin.entity.inout.StockOrderRemakEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StockOrderRemakDao { + + List findByOrderIdFk(@Param("id") String id); + + boolean insertOrderRemaks(@Param("orderRemakEntities") List OrderRemakEntitys); + + boolean deleteByOrderIdFk(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/WarehouseUserDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/WarehouseUserDao.java index 1d25803..f471ac5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/WarehouseUserDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/WarehouseUserDao.java @@ -52,4 +52,12 @@ public interface WarehouseUserDao { * @param isDirector */ void updateDirectorById(@Param("id") Integer id, @Param("isDirector") int isDirector); + + /** + * 根据分仓编码统计绑定的用户数 + * + * @param code + * @return + */ + Integer countByCode(@Param("code") String code); } \ No newline at end of file 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 2f1c8ef..94af884 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 @@ -25,6 +25,7 @@ public class StockOrderPrintEntity extends StockOrderDetailEntity { private String customerId; private BigDecimal totalPrice; private String locInv; + private String subInv; public BigDecimal getPrice() { // if (price == null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java new file mode 100644 index 0000000..513caf2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.entity.inout; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class StockOrderRemakEntity { + private Integer id; + private String orderIdFk; + private String relId; + private String batchNo; + private BigDecimal price; + private String secSalesListNo; + private String firstSalesInvNo; + private String secSalesInvNo; + private String invoiceDate; + private String remark; + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicEntrustRecRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicEntrustRecRequest.java index 16098c8..495cd3c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicEntrustRecRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicEntrustRecRequest.java @@ -18,5 +18,6 @@ public class BasicEntrustRecRequest extends ListPageRequest { private String lastUpdateTime; private String entrustSubInv; private String invWarehouseCode; + private String name; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvLinkDataRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvLinkDataRequest.java index 7919e31..e205e7b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvLinkDataRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvLinkDataRequest.java @@ -3,8 +3,6 @@ package com.glxp.sale.admin.req.inventory; import com.glxp.sale.admin.req.ListPageRequest; import lombok.Data; -import javax.validation.constraints.NotEmpty; - /** * 查询仓库关联的数据请求参数 */ @@ -12,7 +10,6 @@ import javax.validation.constraints.NotEmpty; public class FilterInvLinkDataRequest extends ListPageRequest { //分仓码 - @NotEmpty(message = "请选择分仓!") private String code; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java index 857cf92..717e520 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.res.basic; import com.glxp.sale.admin.entity.inout.ErpOrderEntity; import com.glxp.sale.admin.entity.inout.OrderEntity; +import com.glxp.sale.admin.entity.inout.StockOrderRemakEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; import lombok.Data; @@ -15,4 +16,6 @@ public class SpsSyncOrderResponse { List orderEntities; List orderDetailEntityList; List warehouseEntityList; + + List stockOrderRemakEntities; } 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 9e320f7..6027ae3 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 @@ -8,7 +8,6 @@ import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.service.basic.BasicThirdSysService; -import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; import org.springframework.stereotype.Service; @@ -120,8 +119,7 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { PageHelper.offsetPage(offset, filterUdiInfoRequest.getLimit()); } - List data = udiRelevanceDao.filterUdiGp(filterUdiInfoRequest); - return data; + return udiRelevanceDao.filterUdiGp(filterUdiInfoRequest); } @Override diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java index db84b90..e129f27 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java @@ -9,6 +9,9 @@ import java.util.List; public interface StockOrderDetailService { + + List findByOrderIdFk(String orderFk); + List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); List filterStockOrderDetail2(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/WarehouseUserService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/WarehouseUserService.java index 1189226..46a020f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/WarehouseUserService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/WarehouseUserService.java @@ -47,4 +47,12 @@ public interface WarehouseUserService { * @param id */ void deleteWarehouseUser(Integer id); + + /** + * 根据分仓编码,统计用户数量 + * + * @param subInvCode + * @return + */ + Integer countUserBySubInvCode(String subInvCode); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index 7f66824..af3381d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -330,7 +330,7 @@ public class OrderServiceImpl implements OrderService { stockOrderEntityList.forEach(stockOrderEntity -> { StockOrderResponse response = new StockOrderResponse(); BeanUtil.copyProperties(stockOrderEntity, response); - if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_DELIVER)) { + if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_DELIVER) && checkBusTypeSupplementOrder(stockOrderEntity.getBillNo())) { response.setEnableSupplementOrder(true); } result.add(response); @@ -338,6 +338,21 @@ public class OrderServiceImpl implements OrderService { return result; } + /** + * 校验扫码单据类型是否绑定了补单类型 + * + * @param stockOrderBillNo 业务单据号 + * @return + */ + boolean checkBusTypeSupplementOrder(String stockOrderBillNo) { + String supplementOrderType = bussinessTypeDao.selectSupplementTypeByBillNo(stockOrderBillNo); + if (StrUtil.isNotBlank(supplementOrderType)) { + return true; + } + return false; + } + + @Override public List filterOrderForDelete(String billNo) { OrderEntity orderEntity = orderDao.selectByBillNo(billNo); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java index ac24067..7550b63 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java @@ -23,6 +23,17 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { @Resource private SystemParamConfigDao systemParamConfigDao; + @Override + public List findByOrderIdFk(String orderFk) { + if (StrUtil.isEmpty(orderFk)) { + return null; + } else { + StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest(); + stockOrderDetailFilterRequest.setOrderIdFk(orderFk); + return stockOrderDetailDao.filterStockOrderDetail(stockOrderDetailFilterRequest); + } + } + @Override public List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest) { if (stockOrderDetailFilterRequest == null) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/WarehouseUserServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/WarehouseUserServiceImpl.java index 28dd992..dedeebf 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/WarehouseUserServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/WarehouseUserServiceImpl.java @@ -107,4 +107,9 @@ public class WarehouseUserServiceImpl implements WarehouseUserService { warehouseUserDao.deleteByPrimaryKey(id); } } + + @Override + public Integer countUserBySubInvCode(String subInvCode) { + return warehouseUserDao.countByCode(subInvCode); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java index bf75a6a..7104aee 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java @@ -95,6 +95,10 @@ public class InvProductServiceImpl implements InvProductService { if (filterInvProductRequest == null) { return Collections.emptyList(); } + if (filterInvProductRequest.getPage() != null) { + int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); + } List data = invProductDao.stockStatistics(filterInvProductRequest); if (CollUtil.isNotEmpty(data)) { //默认根据产品id分组 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java index 284e35e..9772bf4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java @@ -3,9 +3,7 @@ package com.glxp.sale.admin.thread; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; -import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; -import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.util.HttpClient; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml index e95e8ed..757abca 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml @@ -19,9 +19,12 @@ and idDatas = #{idDatas} - + and scheduleType = #{scheduleType} + + and #{syncTime} BETWEEN startTime and endTime + ORDER BY updateTime DESC diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml index 0416f35..67b934f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml @@ -166,6 +166,7 @@ UPDATE basic_corp thirdId=#{thirdId}, + thirdId=null, erpId=#{erpId}, `name`=#{name}, spell=#{spell}, @@ -179,6 +180,10 @@ thirdId2=#{thirdId2}, thirdId3=#{thirdId3}, thirdId4=#{thirdId4}, + thirdId1=null, + thirdId2=null, + thirdId3=null, + thirdId4=null, thirdName=#{thirdName}, thirdName1=#{thirdName1}, thirdName2=#{thirdName2}, 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 e55ef27..52d91f0 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml @@ -62,7 +62,7 @@ basic_third_sys_detail.key = 'orderQueryUrl' and basic_third_sys_detail.enabled=1 - AND basic_bustype_origin.name LIKE concat(#{name},'%') + AND basic_bustype_origin.name LIKE concat('%', #{name}, '%') AND action LIKE concat(#{action},'%') 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 bef3f11..1da2028 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -370,4 +370,14 @@ or supplementOrderType = '') and corpType = 1 + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/EntrustReceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/EntrustReceDao.xml index 475fa34..9b80bab 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/EntrustReceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/EntrustReceDao.xml @@ -100,6 +100,9 @@ and curInv = #{curInv} + + and a.name like concat('%', #{name}, '%') + group by basic_entrust_accept.id order by updateTime desc 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 22a634f..18e025b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -265,7 +265,7 @@ AND basic_products.originUuid is NULL - AND mainId is NULL and basic_products.originUuid ]]> '' + AND (mainId is NULL or mainId = '') and basic_products.originUuid ]]> '' AND thirdId1 is NULL and basic_products.originUuid ]]> '' diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml index d601d0c..91925e2 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml @@ -309,11 +309,12 @@ select io_codes.code udiCode,basic_udirel.id productId,basic_products.cpmctymc productName,basic_products.ggxh spec,io_codes.batchNo,io_codes.produceDate productDate,io_codes.expireDate ,io_codes.serialNo,io_codes.count, basic_products.ylqxzcrbarmc,basic_udirel.manufactory,basic_udirel.measname,basic_products.zczbhhzbapzbh, - inv_warehouse.name locInv,basic_products.spmc, basic_products.cpms,io_codes.nameCode,io_codes.relId + inv_warehouse.name locInv, inv_warehouse_sub.name subInv, basic_products.spmc, basic_products.cpms,io_codes.nameCode,io_codes.relId from io_codes INNER JOIN basic_udirel on io_codes.relId = basic_udirel.id INNER JOIN basic_products on basic_products.uuid = basic_udirel.uuid LEFT JOIN inv_warehouse ON io_codes.locStorageCode = inv_warehouse.`code` + left join inv_warehouse_sub on io_codes.invWarehouseCode = inv_warehouse_sub.code and io_codes.orderId =#{orderId} diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml new file mode 100644 index 0000000..cdc0947 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml @@ -0,0 +1,39 @@ + + + + + + + + + + insert INTO stock_order_remak( + orderIdFk,batchNo,price,relId + ,firstSalesInvNo,secSalesInvNo,secSalesListNo,invoiceDate,remark) + values + + ( + #{item.orderIdFk}, + #{item.batchNo}, + #{item.price},#{item.relId},#{item.firstSalesInvNo},#{item.secSalesInvNo}, + #{item.secSalesListNo},#{item.invoiceDate},#{remark} + ) + + + + + + DELETE + FROM stock_order_remak + WHERE orderIdFk = #{id} + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml index cf6d2e3..58fbf8d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml @@ -243,7 +243,11 @@ select inv_warehouse_user.*, auth_user.employeeName from inv_warehouse_user inner join auth_user on auth_user.id = inv_warehouse_user.userId - where code = #{code} + + + AND code = #{code} + + @@ -273,6 +277,11 @@ from inv_warehouse_user where userId = #{userId} + + + delete from inv_warehouse_user diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml index 4ebd1f7..ba7aa6c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml @@ -105,6 +105,12 @@ WHERE id = #{id} + + update inv_warehouse_sub + set ${sysId} = #{thridWarehouseId,jdbcType=VARCHAR} + where id = #{id} + + replace into inv_warehouse_sub (id, code, `name`, parentId, remark,defaultInv) diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml index b167095..bb16668 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml @@ -244,7 +244,7 @@ #{item.remark}, #{item.level}, #{item.pcode}, #{item.thirdId}, #{item.thirdId1}, #{item.thirdId2}, - #{item.thirdId3}, #{item.thirdId4},#{item.spUse}) + #{item.thirdId3}, #{item.thirdId4},#{item.spUse} )