预验收相关功能

master
anthonywj 2 years ago
parent 5f6ee6ff6a
commit 528deba44f

@ -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<IoCodeResponse> list = ioCodeService.filterList(filterCodeRequest);
PageInfo<IoCodeResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.success(pageInfo);

@ -64,6 +64,10 @@ public class IoOrderDetailResultController {
IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk());
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterList(filterErpOrderRequest);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if ((bussinessTypeEntity.getOrderVisibleType() == 1 && orderEntity.getStatus() == 4) || filterErpOrderRequest.getShowType() == 1) {
//todo使用关联查

@ -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<InvPreinOrderResponse> list = invPreinOrderService.filterList(filterInvPreinRequest);
PageInfo<InvPreinOrderResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
}

@ -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<InvProductDetailEntity> mInvProductDetailEntities = new ArrayList<>();
//判断是否多级包装
List<UdiProductEntity> udiInfoEntities = udiProductService.findByUuids(udiInfoBean.getUuid());
if (udiInfoEntities != null && udiInfoEntities.size() > 1) {
//多级包装根据产品ID批次号查询
//1.判断是否di关联多个产品ID
List<UdiRelevanceResponse> 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<InvProductDetailEntity> temps = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest);
if (CollUtil.isNotEmpty(temps)) {
Map<String, List<InvProductDetailEntity>> 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<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
mInvProductDetailEntities.addAll(invProductDetailEntities);
}
}
}
} else {
filterInvProductDetailRequest = new FilterInvProductDetailRequest();
filterInvProductDetailRequest.setRelId(udiRelevanceResponse.getId() + "");
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
List<InvProductDetailEntity> 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<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
mInvProductDetailEntities.addAll(invProductDetailEntities);
}
}
if (mInvProductDetailEntities.size() > 0) {
Map<String, String> filterMap = new HashMap<>();
for (InvProductDetailEntity invProductDetailEntity : mInvProductDetailEntities) {
filterMap.put(invProductDetailEntity.getOrderId(), invProductDetailEntity.getOrderId());
}
List<String> orderIds = new ArrayList<>();
for (String key : filterMap.keySet()) {
orderIds.add(key);
}
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setOrderIds(orderIds);
List<IoOrderResponse> orderEntities = orderService.filterList(filterOrderRequest);
PageInfo<IoOrderResponse> pageInfo;
pageInfo = new PageInfo<>(orderEntities);
PageSimpleResponse<IoOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntities);
return ResultVOUtils.success(pageSimpleResponse);
} else {
return ResultVOUtils.error(500, "未查询到数据!");
}
}
}

@ -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<InvPreinOrderDao, InvPreinOrderEntity, InvPreinOrderEntity> {
public List<InvPreinOrderResponse> filterList(FilterInvPreinRequest filterInvPreinRequest)
}

@ -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;
}

@ -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;
}

@ -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<InvPreinOrderResponse> filterList(FilterInvPreinRequest filterInvPreinRequest);
public void insert(InvPreinOrderEntity invPreinOrderEntity);
int deleteByOrderId(String orderId);

@ -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<InvPreinOrderResponse> 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);

@ -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

@ -1,6 +1,6 @@
spring:
profiles:
active: pro
active: dev
jmx:
enabled: true

Loading…
Cancel
Save