diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeController.java index f47aec5d0..0d66f9ff3 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeController.java @@ -41,13 +41,10 @@ public class IoCodeController extends BaseController { /** * 根据单据号查询正式码表数据 * - * @param orderId * @return */ @GetMapping("/udiwms/inout/code/findByOrderId") - public BaseResponse findAllByOrderId(String orderId) { - FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); - filterCodeRequest.setOrderId(orderId); + public BaseResponse findAllByOrderId(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.success(pageInfo); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 72d5672e8..6e806dc48 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -64,6 +64,10 @@ public class IoOrderDetailResultController { IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk()); List list = orderDetailResultService.filterList(filterErpOrderRequest); + + + + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); if ((bussinessTypeEntity.getOrderVisibleType() == 1 && orderEntity.getStatus() == 4) || filterErpOrderRequest.getShowType() == 1) { //todo使用关联查 diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java new file mode 100644 index 000000000..35f2b7377 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java @@ -0,0 +1,36 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.controller.BaseController; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inv.FilterInvPreinRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.inv.InvPreinOrderResponse; +import com.glxp.api.service.inv.InvPreinOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@Slf4j +@RestController +public class InvPreinOrderController extends BaseController { + + + @Resource + InvPreinOrderService invPreinOrderService; + + + @GetMapping("/udiwms/inv/prein/filter") + public BaseResponse filterOrder(FilterInvPreinRequest filterInvPreinRequest) { + List list = invPreinOrderService.filterList(filterInvPreinRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inv/UdiTraceController.java b/src/main/java/com/glxp/api/controller/inv/UdiTraceController.java index 5fbe2e51e..1f4f7d48c 100644 --- a/src/main/java/com/glxp/api/controller/inv/UdiTraceController.java +++ b/src/main/java/com/glxp/api/controller/inv/UdiTraceController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inv; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -132,4 +133,105 @@ public class UdiTraceController { } + @AuthRuleAnnotation("") + @GetMapping("spms/inv/products/order/trace") + public BaseResponse filterOrderTrace(FilterCodeTraceRequest filterCodeTraceRequest) { + if (filterCodeTraceRequest.getCode() == null) { + return ResultVOUtils.success(); + } + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeTraceRequest.getCode()); + if (udiEntity == null) { + return ResultVOUtils.error(500, "无效条码"); + } + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + if (udiInfoBean == null) { + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); + } + List mInvProductDetailEntities = new ArrayList<>(); + //判断是否多级包装 + List udiInfoEntities = udiProductService.findByUuids(udiInfoBean.getUuid()); + + if (udiInfoEntities != null && udiInfoEntities.size() > 1) { + //多级包装根据产品ID,批次号查询 + + //1.判断是否di关联多个产品ID + List udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(udiEntity.getUdi()); + if (CollUtil.isNotEmpty(udiRelevanceResponses)) { + + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + //假设条码不完整 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode()); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List temps = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(temps)) { + Map> filterMaps = temps.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getBatchNo)); + if (filterMaps.size() > 0) { + for (String bacthNo : filterMaps.keySet()) { + filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setRelId(udiRelevanceResponse.getId() + ""); + filterInvProductDetailRequest.setBatchNo(bacthNo); + List invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + mInvProductDetailEntities.addAll(invProductDetailEntities); + } + } + + } + + + } else { + filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setRelId(udiRelevanceResponse.getId() + ""); + filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); + List invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + mInvProductDetailEntities.addAll(invProductDetailEntities); + } + + } + } + + + } + + + } else { + //单级包装 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode()); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + mInvProductDetailEntities.addAll(invProductDetailEntities); + } + } + + + if (mInvProductDetailEntities.size() > 0) { + Map filterMap = new HashMap<>(); + + for (InvProductDetailEntity invProductDetailEntity : mInvProductDetailEntities) { + filterMap.put(invProductDetailEntity.getOrderId(), invProductDetailEntity.getOrderId()); + } + List orderIds = new ArrayList<>(); + for (String key : filterMap.keySet()) { + orderIds.add(key); + } + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setOrderIds(orderIds); + List orderEntities = orderService.filterList(filterOrderRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "未查询到数据!"); + } + + } + + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreinOrderDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreinOrderDao.java index f8e5729f1..527759439 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreinOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreinOrderDao.java @@ -2,8 +2,16 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreinOrderEntity; +import com.glxp.api.req.inv.FilterInvPreinRequest; +import com.glxp.api.res.inv.InvPreinOrderResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface InvPreinOrderDao extends BaseMapperPlus { + + + public List filterList(FilterInvPreinRequest filterInvPreinRequest) + } diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreinRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreinRequest.java new file mode 100644 index 000000000..94763eae6 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreinRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.inv; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterInvPreinRequest extends ListPageRequest { + + private String billNo; + +} diff --git a/src/main/java/com/glxp/api/res/inv/InvPreinOrderResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreinOrderResponse.java new file mode 100644 index 000000000..7a8a05746 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/InvPreinOrderResponse.java @@ -0,0 +1,73 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +@Data +public class InvPreinOrderResponse { + + private Integer id; + + /** + * 单据号 + */ + private String billNo; + + /** + * 往来单位 + */ + private String fromCorp; + + /** + * 来源 + */ + private String fromType; + + /** + * 创建人 + */ + private String createUser; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateUser; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 验收人 + */ + private String reviewUser; + + /** + * 验收时间 + */ + private Date auditTime; + + /** + * 客户ID + */ + private Integer customerId; + + /** + * 当前仓库 + */ + private String invCode; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/service/inv/InvPreinOrderService.java b/src/main/java/com/glxp/api/service/inv/InvPreinOrderService.java index 4b698e659..fcd63a894 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreinOrderService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreinOrderService.java @@ -1,9 +1,18 @@ package com.glxp.api.service.inv; import com.glxp.api.entity.inv.InvPreinOrderEntity; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inv.FilterInvPreinRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.inv.InvPreinOrderResponse; + +import java.util.List; public interface InvPreinOrderService { + + List filterList(FilterInvPreinRequest filterInvPreinRequest); + public void insert(InvPreinOrderEntity invPreinOrderEntity); int deleteByOrderId(String orderId); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java index d06b35924..1ff54cc9b 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java @@ -1,13 +1,18 @@ package com.glxp.api.service.inv.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inv.InvPreinOrderDao; import com.glxp.api.entity.inv.InvPreinOrderEntity; +import com.glxp.api.req.inv.FilterInvPreinRequest; +import com.glxp.api.res.inv.InvPreinOrderResponse; import com.glxp.api.service.inv.InvPreinOrderService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; @Service @Transactional(rollbackFor = Exception.class) @@ -15,6 +20,17 @@ public class InvPreinOrderServiceImpl implements InvPreinOrderService { @Resource InvPreinOrderDao invPreinOrderDao; + @Override + public List filterList(FilterInvPreinRequest filterInvPreinRequest) { + if (null == filterInvPreinRequest) { + return Collections.emptyList(); + } + if (null != filterInvPreinRequest.getPage() && null != filterInvPreinRequest.getLimit()) { + PageHelper.offsetPage((filterInvPreinRequest.getPage() - 1) * filterInvPreinRequest.getLimit(), filterInvPreinRequest.getLimit()); + } + return invPreinOrderDao.filterList(filterInvPreinRequest); + } + @Override public void insert(InvPreinOrderEntity invPreinOrderEntity) { invPreinOrderEntity.setId(null); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 973044518..c450cfd9b 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 60 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 833ca2c7f..afaae9e7a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: pro + active: dev jmx: enabled: true