diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java index 312bb4a..a9a9ab1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.controller.basic; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.entity.auth.AuthAdmin; @@ -8,6 +9,7 @@ import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.inout.StockOrderEntity; import com.glxp.sale.admin.exception.JsonException; +import com.glxp.sale.admin.req.basic.BusNoUserRequest; import com.glxp.sale.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest; import com.glxp.sale.admin.req.info.DeleteRequest; @@ -32,6 +34,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; @RestController @@ -109,19 +112,25 @@ public class BussinessLocalTypeController { @GetMapping("/udiwms/localBusType/filterUnUse") - public BaseResponse filterUnUse(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, - BindingResult bindingResult) { + public BaseResponse filterUnUse(BusNoUserRequest busNoUserRequest, + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); + bussinessTypeFilterRequest.setEnabled(true); + List bussinessTypeEntities; - bussinessTypeEntities = bussinessLocalTypeService.filterList(bussinessTypeFilterRequest); - PageInfo pageInfo; - pageInfo = new PageInfo<>(bussinessTypeEntities); + List returnDatas = new ArrayList<>(); + bussinessTypeEntities = bussinessLocalTypeService.filterLeftJoin(bussinessTypeFilterRequest); + for (BussinessLocalTypeEntity bussinessLocalTypeEntity : bussinessTypeEntities) { + if (StrUtil.isEmpty(bussinessLocalTypeEntity.getAction()) || bussinessLocalTypeEntity.getLocalAction().equals(busNoUserRequest.getCurAction())) { + returnDatas.add(bussinessLocalTypeEntity); + } + } PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(bussinessTypeEntities); + pageSimpleResponse.setList(returnDatas); return ResultVOUtils.success(pageSimpleResponse); } @@ -140,7 +149,7 @@ public class BussinessLocalTypeController { List bussinessLocalTypeEntities = bussinessLocalTypeService.filterJoin(bussinessTypeFilterRequest); if (bussinessLocalTypeEntities != null && bussinessLocalTypeEntities.size() > 0) { return ResultVOUtils.error(500, "该业务单据类型已被扫码单据类型绑定,无法删除!"); - }else{ + } else { StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); stockOrderFilterRequest.setBillType(bussinessLocalTypeEntity.getAction()); StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); 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 3f54a37..511e6a5 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 @@ -214,7 +214,7 @@ public class ContrastErpUtil { if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) { erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); myErpOrderService.updateErpOrder(erpOrderEntity); - errMsg = "该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"; + errMsg = "该产品维护了多个产品信息,请在扫码单据详情绑定对应产品ID"; } } return errMsg; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessLocalTypeDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessLocalTypeDao.java index 81e0031..cb7d9f5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessLocalTypeDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessLocalTypeDao.java @@ -14,6 +14,8 @@ public interface BussinessLocalTypeDao { List filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + BussinessLocalTypeEntity findBTByAction(String action); BussinessLocalTypeEntity findBTByName(String name); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BusNoUserRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BusNoUserRequest.java new file mode 100644 index 0000000..6d1015e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BusNoUserRequest.java @@ -0,0 +1,10 @@ +package com.glxp.sale.admin.req.basic; + +import lombok.Data; + +@Data +public class BusNoUserRequest { + + private String curAction; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessLocalTypeService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessLocalTypeService.java index 007b630..bb186a1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessLocalTypeService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessLocalTypeService.java @@ -13,6 +13,8 @@ public interface BussinessLocalTypeService { List filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + BussinessLocalTypeEntity findBTByAction(String action); BussinessLocalTypeEntity findBTByName(String name); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java index a7787bf..f85af09 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java @@ -43,6 +43,19 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService return data; } + @Override + public List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) { + if (bussinessTypeFilterRequest == null) { + return Collections.emptyList(); + } + if (bussinessTypeFilterRequest.getPage() != null) { + int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit(); + PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit()); + } + List data = bussinessLocalTypeDao.filterLeftJoin(bussinessTypeFilterRequest); + return data; + } + @Override public BussinessLocalTypeEntity findBTByAction(String action) { BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java index 61ccc2c..75489b6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.service.basic.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.sale.admin.constant.TypeConstant; import com.glxp.sale.admin.dao.basic.BussinessTypeDao; @@ -114,10 +115,10 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { public boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity) { //更新对应单据类型补单类型 - if (bussinessTypeEntity.getSupplementOrderType().equals("")) { + if (StrUtil.isEmpty(bussinessTypeEntity.getSupplementOrderType())) { BussinessTypeEntity temp = bussinessTypeDao.selectByAction(bussinessTypeEntity.getAction()); BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeDao.selectByAction(temp.getSupplementOrderType()); - if(bussinessTypeEntity1!=null){ + if (bussinessTypeEntity1 != null) { bussinessTypeEntity1.setSupplementOrderType(""); bussinessTypeDao.updateBussinessType(bussinessTypeEntity1); } 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 d4d90e0..4e5e6ff 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 @@ -1,5 +1,6 @@ package com.glxp.sale.admin.thread; +import cn.hutool.core.util.StrUtil; import com.glxp.sale.admin.config.WebSocketServer; import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; @@ -265,6 +266,7 @@ public class IoTransInoutService { basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); } + // if (!Constant.SYSTEM_CUSTOMER_ID.equals(orderEntity.getFromCorpId())) { // BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(orderEntity.getFromCorpId()); // if (basicUnitMaintainEntity == null) { @@ -279,22 +281,17 @@ public class IoTransInoutService { List filterList = codesTempService.findByOrderId(warehouseQueryRequest); List insertList = new ArrayList<>(); orderEntity.setInvStorageCode(orderEntity.getLocStorageCode()); - orderService.updateOrder(orderEntity); - - if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INNOR) { - if (orderEntity.getInvStorageCode() == null) { + if (orderEntity.getInvStorageCode() == null) { + if (!StrUtil.isEmpty(bussinessTypeEntity.getStorageCode())) { + orderEntity.setInvStorageCode(bussinessTypeEntity.getStorageCode()); + } else { orderEntity.setRemark("未选择当前仓库信息"); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); orderService.updateOrder(orderEntity); - } - } else if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { - if (orderEntity.getInvStorageCode() == null) { - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findDefault(bussinessTypeEntity.isAdvanceType(), true); - orderEntity.setInvStorageCode(invWarehouseEntity.getCode()); - orderService.updateOrder(orderEntity); + return; } } - + orderService.updateOrder(orderEntity); for (int j = 0; j < filterList.size(); j++) { WarehouseEntity warehouseEntity = filterList.get(j); @@ -319,6 +316,14 @@ public class IoTransInoutService { orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库!"); return; } + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceService.findByUdiRlIdUnitFk(udiRelevanceResponse.getId() + "", warehouseEntity.getFromCorpId()); + if (companyProductRelevanceEntity == null) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), udiRelevanceResponse.getCpmctymc() + "该产品非此供应商配送"); + return; + } + } } if (insertList.size() > 0) { @@ -513,33 +518,25 @@ public class IoTransInoutService { erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); myErpOrderService.updateErpOrder(erpOrderEntity); - orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); + orderEntity.setRemark("该产品维护多个产品信息,请在扫码单据详情绑定对应产品产品信息"); checkStatus = ConstantStatus.ORDER_CHECK_FAIL; - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderService.updateOrder(orderEntity); + } else { if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT && (erpOrderEntity.getSupId() == null || erpOrderEntity.getSupId().equals("MUTI"))) { if (erpOrderEntity.getSupId() == null) { erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_NONE); - orderEntity.setRemark("该产品未绑定供应商"); + orderEntity.setRemark("该产品未指定供应商"); } else { erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_MUTI); - orderEntity.setRemark("该产品绑定多个供应商"); + orderEntity.setRemark("该产品指定多个供应商"); } checkStatus = ConstantStatus.ORDER_CHECK_FAIL; - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderService.updateOrder(orderEntity); } else { if (bussinessTypeEntity.getCorpType() != ConstantStatus.CORP_TYPE_INNOR) { CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceService.findByUdiRlIdUnitFk(erpOrderEntity.getBindRlFk(), erpOrderEntity.getSupId()); if (companyProductRelevanceEntity == null) { orderEntity.setRemark(erpOrderEntity.getCoName() + "该产品非此供应商配送"); checkStatus = ConstantStatus.ORDER_CHECK_FAIL; - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderService.updateOrder(orderEntity); } else { orderEntity.setContrastStatus(checkStatus); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); @@ -561,6 +558,10 @@ public class IoTransInoutService { } + orderEntity.setContrastStatus(checkStatus); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml index ea10ab4..bbe586a 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml @@ -29,10 +29,12 @@ + +