From 01225469b455084caf7ba5ac228c290d4decc560 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 3 Dec 2024 15:50:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A7=91=E5=AE=A4=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 47 +++++++++++++++ .../api/dao/inout/IoOrderDetailResultDao.java | 7 +-- ...rderDetailDeptProductOutResultRequest.java | 50 ++++++++++++++++ .../api/res/inout/IoOrdeProductOutVo.java | 46 ++++++++++++++ ...oOrderDetailDeptProductResultResponse.java | 5 ++ .../inout/IoOrderDetailResultService.java | 2 + .../impl/IoOrderDetailResultServiceImpl.java | 17 ++++++ .../mapper/inout/IoOrderDetailResultDao.xml | 60 +++++++++++++++++++ src/main/resources/schemas/schema_v2.4.sql | 21 ++++++- 9 files changed, 250 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductOutResultRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IoOrdeProductOutVo.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 ec8f3aaea..34d979e78 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -163,6 +163,18 @@ public class IoOrderDetailResultController extends BaseController { PageInfo pageInfo = new PageInfo<>(getOrderDeptProductResult(orderDetailResultRequest)); return ResultVOUtils.page(pageInfo); } + /** + * 查询单据仓库产品出库科室明细 + * + * @param filterOrderDetailDeptProductOutResultRequest + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/resultDetail/getResultOrderProductOutList") + public BaseResponse getResultOrderProductOutList(FilterOrderDetailDeptProductOutResultRequest filterOrderDetailDeptProductOutResultRequest) { + PageInfo pageInfo = new PageInfo<>(getOrderDeptProductOutResult(filterOrderDetailDeptProductOutResultRequest)); + return ResultVOUtils.page(pageInfo); + } /** * 查询单据仓库产品盘点明细 @@ -198,6 +210,41 @@ public class IoOrderDetailResultController extends BaseController { } + private List getOrderDeptProductOutResult(FilterOrderDetailDeptProductOutResultRequest filterOrderDetailDeptProductOutResultRequest) { + + List list = orderDetailResultService.getOrderDeptProductOutResult(filterOrderDetailDeptProductOutResultRequest); + return list; + } + + @PostMapping("/udiwms/inout/orderDeptProductOut/selectExportExcel") + public void orderDeptProductOutSelectExportExcel(@RequestBody FilterOrderDetailDeptProductOutResultRequest filterOrderDetailDeptProductOutResultRequest, HttpServletResponse response) throws IOException { + // 模拟数据库获取数据 + List list = filterOrderDetailDeptProductOutResultRequest.getList(); + + List orderDetailVos = BeanUtil.copyToList(list, IoOrdeProductOutVo.class); + response.setCharacterEncoding(StandardCharsets.UTF_8.name()); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", + "attachment;filename=" + URLEncoder.encode("科室出库统计" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name())); + + EasyExcel.write(response.getOutputStream(), IoOrdeProductOutVo.class).sheet().doWrite(orderDetailVos); + } + + @GetMapping("/udiwms/inout/orderDeptProductOut/exportExcel") + public void orderDeptProductOutExportTemplate(FilterOrderDetailDeptProductOutResultRequest filterOrderDetailDeptProductOutResultRequest, HttpServletResponse response) throws IOException { + // 模拟数据库获取数据 + List list = getOrderDeptProductOutResult(filterOrderDetailDeptProductOutResultRequest); + List orderDetailVos = BeanUtil.copyToList(list, IoOrdeProductOutVo.class); + response.setCharacterEncoding(StandardCharsets.UTF_8.name()); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", + "attachment;filename=" + URLEncoder.encode("科室出库统计" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name())); + + EasyExcel.write(response.getOutputStream(), IoOrdeProductOutVo.class).sheet().doWrite(orderDetailVos); + } + + + public List getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) { if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) { return orderDetailResultRequest.getList(); 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 6d3df685a..037746d63 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -2,10 +2,7 @@ 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.req.inout.*; import com.glxp.api.res.inout.*; import com.glxp.api.res.inv.IoOrderDetailStatRsponse; import io.lettuce.core.dynamic.annotation.Param; @@ -50,4 +47,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus filterOrderDeptSupList(FilterOrderDetailDeptResultRequest orderDetailResultRequest); List filterOrderDeptProductList(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest); + + List filterOrderDeptProductOutList(FilterOrderDetailDeptProductOutResultRequest orderDetailResultRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductOutResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductOutResultRequest.java new file mode 100644 index 000000000..f04a5d9e3 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptProductOutResultRequest.java @@ -0,0 +1,50 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.res.inout.IoOrderDetailDeptProductResultResponse; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterOrderDetailDeptProductOutResultRequest 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; + private Integer corpType; + + private List fromInvCodes; + + private String cpmctymc; + private String nameCode; + private String ggxh; + private String batchNo; + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrdeProductOutVo.java b/src/main/java/com/glxp/api/res/inout/IoOrdeProductOutVo.java new file mode 100644 index 000000000..c4e6bc7b8 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrdeProductOutVo.java @@ -0,0 +1,46 @@ +package com.glxp.api.res.inout; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoOrdeProductOutVo { + + + /** + * DI + */ + @ExcelProperty(value = "产品标识", index = 0) + private String nameCode; + + /** + * 产品名称 + */ + @ExcelProperty(value = "产品名称", index = 1) + private String coName; + + + /** + * 规格型号 + */ + @ExcelProperty(value = "规格型号", index = 2) + private String spec; + + + /** + * 产品名称 + */ + @ExcelProperty(value = "批次", index = 3) + private String batchNo; + + + /** + * 产品名称 + */ + @ExcelProperty(value = "出库数量", index = 4) + private String count; + + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java index ca9f58277..ab8fe6ff5 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptProductResultResponse.java @@ -28,4 +28,9 @@ public class IoOrderDetailDeptProductResultResponse { private Integer count; private BigDecimal amount; + + private String cpmctymc; + private String batchNo; + private String ggxh; + } 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 a947ee40d..11caf0be0 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -36,4 +36,6 @@ public interface IoOrderDetailResultService { List getOrderDeptProductResult(FilterOrderDetailDeptProductResultRequest orderDetailResultRequest); List getInvCountOrderSumResult(FilterInvCountOrderSumResultRequest filterInvCountOrderSumResultRequest); + + List getOrderDeptProductOutResult(FilterOrderDetailDeptProductOutResultRequest filterOrderDetailDeptProductOutResultRequest); } 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 a86fdf5cd..72a42bd3f 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 @@ -150,4 +150,21 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic } return invCountOrderMapper.getInvCountOrderSumResult(filterInvCountOrderSumResultRequest); } + + @Override + public List getOrderDeptProductOutResult(FilterOrderDetailDeptProductOutResultRequest orderDetailResultRequest) { + if (null == orderDetailResultRequest) { + return Collections.emptyList(); + } + FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); + filterInvSubWarehouseRequest.setLyInvType(true); + List data = invWarehouseDao.filterInvSubWarehouseResponse(filterInvSubWarehouseRequest); + List collect = data.stream().map(InvSubWarehouseResponse::getCode).collect(Collectors.toList()); + orderDetailResultRequest.setFromInvCodes(collect); + + if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) { + PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit()); + } + return orderDetailResultDao.filterOrderDeptProductOutList(orderDetailResultRequest); + } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index ea1eaeac8..ec0e1719a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -331,6 +331,66 @@ FROM spec + + + +