From a44e4b402d086769448224019332135b80bc69d1 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Wed, 6 Nov 2024 15:06:01 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E7=89=A9=E8=B5=84=E5=BE=80?= =?UTF-8?q?=E6=9D=A5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 101 ++++++++++++++++++ .../api/dao/inout/IoOrderDetailResultDao.java | 8 +- ...erOrderDetailDeptProductResultRequest.java | 42 ++++++++ ...oOrderDetailDeptProductResultResponse.java | 31 ++++++ .../inout/IoOrderDetailResultService.java | 8 +- .../impl/IoOrderDetailResultServiceImpl.java | 17 ++- .../mapper/inout/IoOrderDetailResultDao.xml | 80 ++++++++++++++ 7 files changed, 275 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductResultRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java 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 e84432303..46e807e2c 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -148,6 +148,34 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.page(pageInfo); } + /** + * 查询单据仓库产品带票出入库明细 + * + * @param orderDetailResultRequest + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/resultDetail/getResultOrderProductList") + public BaseResponse getResultOrderProductList(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest) { + PageInfo pageInfo = new PageInfo<>(getOrderDeptProductResult(orderDetailResultRequest)); + return ResultVOUtils.page(pageInfo); + } + + private List getOrderDeptProductResult(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest) { + + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setVueType(orderDetailResultRequest.getActionType()); + List actions = orderService.setActions(filterOrderRequest); + if (CollUtil.isEmpty(actions)) { + return Collections.emptyList(); + } + orderDetailResultRequest.setActions(actions); + + List list = orderDetailResultService.getOrderDeptProductResult(orderDetailResultRequest); + + return list; + } + public List getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) { if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) { @@ -597,6 +625,79 @@ public class IoOrderDetailResultController extends BaseController { } + /** + * 仓库出入库明细打印 + * + * @param filterOrderDetailDeptResultRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/resultDetail/filterOrderPrintDeptProduct") + public BaseResponse filterOrderPrintDeptProduct(@RequestBody FilterOrderDetailDeptProductResultRequest filterOrderDetailDeptResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List ioOrderDetailResultResponseList = new ArrayList<>(); + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailDeptResultRequest.getTemplateId()); + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(SysPdfTemplateRelevanceBizEntity::getTemplateId,systemPDFTemplateEntity.getId()); + qw.last("limit 1"); + SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity = systemPDFTemplateRelevanceBizService.getOne(qw); + + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateStr = sdf.format(new Date()); + + //按选入打印 + if (filterOrderDetailDeptResultRequest.getList() != null && filterOrderDetailDeptResultRequest.getList().size() > 0) { + ioOrderDetailResultResponseList = filterOrderDetailDeptResultRequest.getList(); + } else { + + //按查询打印 + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setVueType(filterOrderDetailDeptResultRequest.getActionType()); + List actions = orderService.setActions(filterOrderRequest); + if (CollUtil.isEmpty(actions)) { + return ResultVOUtils.success(""); + } + filterOrderDetailDeptResultRequest.setActions(actions); + + ioOrderDetailResultResponseList = orderDetailResultService.getOrderDeptProductResult(filterOrderDetailDeptResultRequest); + } + int i = 1; + for (IoOrderDetailDeptProductResultResponse item : ioOrderDetailResultResponseList) { + + //组装数据 + Map ioOrderDetailResultData = new HashMap<>(); + ioOrderDetailResultData.put("index", String.valueOf(i)); + ioOrderDetailResultData.put("amount", item.getAmount() == null ? null : item.getAmount()); + ioOrderDetailResultData.put("count", item.getCount()); + ioOrderDetailResultData.put("fromInvCode", item.getFromInvCode() == null ? ' ' : item.getFromInvCode()); + ioOrderDetailResultData.put("fromInvName", item.getFromInvName() == null ? ' ' : item.getFromInvName()); + ioOrderDetailResultData.put("nameCode", item.getNameCode() == null ? ' ' : item.getNameCode()); + ioOrderDetailResultData.put("coName", item.getCoName() == null ? ' ' : item.getCoName()); + ioOrderDetailResultData.put("spec", item.getSpec() == null ? ' ' : item.getSpec()); + ioOrderDetailResultData.put("startAduditTime", filterOrderDetailDeptResultRequest.getStartAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getStartAduditTime()); + ioOrderDetailResultData.put("endAduditTime", filterOrderDetailDeptResultRequest.getEndAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getEndAduditTime()); + ioOrderDetailResultData.put("locInvName", filterOrderDetailDeptResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailDeptResultRequest.getLocInvName()); + ioOrderDetailResultData.put("employeeName", filterOrderDetailDeptResultRequest.getEmployeeName() == null ? ' ' : filterOrderDetailDeptResultRequest.getEmployeeName()); + ioOrderDetailResultData.put("exportTime", dateStr); + + ioOrderDetailResultData.put("remark1", sysPdfTemplateRelevanceBizEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark1()); + ioOrderDetailResultData.put("remark2", sysPdfTemplateRelevanceBizEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark2()); + ioOrderDetailResultData.put("remark3", sysPdfTemplateRelevanceBizEntity.getRemark3() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark3()); + list.add(ioOrderDetailResultData); + i++; + } + + + data.put("data", list); + String param = JSON.toJSONString(data); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + return ResultVOUtils.success(); + } + + /** * 入账库明细打印 diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java index f65d9be92..6d3df685a 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -3,12 +3,10 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; +import com.glxp.api.req.inout.FilterOrderDetailDeptProductResultRequest; import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; -import com.glxp.api.res.inout.CptTraceOrderResponse; -import com.glxp.api.res.inout.IoExOrderDetailResultResponse; -import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.res.inout.*; import com.glxp.api.res.inv.IoOrderDetailStatRsponse; import io.lettuce.core.dynamic.annotation.Param; @@ -50,4 +48,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus filterOrderDeptList(FilterOrderDetailDeptResultRequest orderDetailResultRequest); List filterOrderDeptSupList(FilterOrderDetailDeptResultRequest orderDetailResultRequest); + + List filterOrderDeptProductList(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductResultRequest.java new file mode 100644 index 000000000..8bc4451be --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductResultRequest.java @@ -0,0 +1,42 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.res.inout.IoOrderDetailDeptProductResultResponse; +import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterOrderDetailDeptProductResultRequest extends ListPageRequest { + + private String startAduditTime; //起始日期 + private String endAduditTime; //结束日期 + private String fromCorp; + private String invCode; + private String actionType; + private String manufacturer; + private String zczbhhzbapzbh; + private Boolean isStack; + private String invoiceEncode; + + private String templateId; + private List actions; + private List list; + private String action; + private String mainAction; + private Integer inoutPrintStatus; + private String invName; + private String employeeName; + private String fromInvName; + private String locInvName; + private String confirmStarTime; //发票确认起始日期 + private String confirmEndTime; //发票确认结束日期 + private String corpName;//供应商名字 + private String fromInvCode;//供应商名字 + + + private Boolean groupBuy; //是否集采产品 + + private Integer hcType; +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java new file mode 100644 index 000000000..ca9f58277 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java @@ -0,0 +1,31 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 单据扫码明细VO + */ +@Data +public class IoOrderDetailDeptProductResultResponse { + + + /** + * 往来 + */ + private String fromInvCode; + private String nameCode; + private String coName; + private String spec; + + + /** + * 往来 + */ + private String fromInvName; + + private Integer count; + private BigDecimal amount; + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java index a561ac359..21fed8122 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -3,12 +3,10 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; +import com.glxp.api.req.inout.FilterOrderDetailDeptProductResultRequest; import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; -import com.glxp.api.res.inout.CptTraceOrderResponse; -import com.glxp.api.res.inout.IoExOrderDetailResultResponse; -import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.res.inout.*; import java.util.List; @@ -37,4 +35,6 @@ public interface IoOrderDetailResultService { List getOrderDeptResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest); List getOrderDeptSupResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest); + + List getOrderDeptProductResult(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java index 5af36471b..af04e15b2 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java @@ -7,12 +7,10 @@ import com.glxp.api.dao.inout.IoOrderDetailResultDao; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; +import com.glxp.api.req.inout.FilterOrderDetailDeptProductResultRequest; import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; -import com.glxp.api.res.inout.CptTraceOrderResponse; -import com.glxp.api.res.inout.IoExOrderDetailResultResponse; -import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.res.inout.*; import com.glxp.api.service.inout.IoOrderDetailResultService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -117,4 +115,15 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic } return orderDetailResultDao.filterOrderDeptSupList(orderDetailResultRequest); } + + @Override + public List getOrderDeptProductResult(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest) { + if (null == orderDetailResultRequest) { + return Collections.emptyList(); + } + if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) { + PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit()); + } + return orderDetailResultDao.filterOrderDeptProductList(orderDetailResultRequest); + } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index a7b1d6e8d..e27323654 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -246,6 +246,86 @@ FROM fromCorpName + +