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 89f55776c..29813c0d3 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -120,6 +120,19 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.page(pageInfo); } + /** + * 查询单据仓库带票出入库明细 + * + * @param orderDetailResultRequest + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/resultDetail/filterOrderDeptList") + public BaseResponse filterOrderDeptList(FilterOrderDetailDeptResultRequest orderDetailResultRequest) { + PageInfo pageInfo = new PageInfo<>(getOrderDeptResult(orderDetailResultRequest)); + return ResultVOUtils.page(pageInfo); + } + public List getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) { if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) { @@ -159,6 +172,21 @@ public class IoOrderDetailResultController extends BaseController { return list; } + public List getOrderDeptResult(FilterOrderDetailDeptResultRequest 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.getOrderDeptResult(orderDetailResultRequest); + + return list; + } + @GetMapping("/udiwms/inout/resultDetail/exportExcel") public void exportTemplate(FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException { @@ -395,6 +423,69 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(); } + + /** + * 仓库出入库明细打印 + * + * @param filterOrderDetailDeptResultRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/resultDetail/filterOrderPrintDept") + public BaseResponse filterOrderPrintDept(@RequestBody FilterOrderDetailDeptResultRequest filterOrderDetailDeptResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List ioOrderDetailResultResponseList = new ArrayList<>(); + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailDeptResultRequest.getTemplateId()); + //打印单号标签 + 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.getOrderDeptResult(filterOrderDetailDeptResultRequest); + } + int i = 1; + for (IoOrderDetailDeptResultResponse 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("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); + + + 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 4d2c5489c..4d34e5618 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -3,9 +3,11 @@ 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.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.inv.IoOrderDetailStatRsponse; import io.lettuce.core.dynamic.annotation.Param; @@ -44,4 +46,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); + + List filterOrderDeptList(FilterOrderDetailDeptResultRequest orderDetailResultRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptResultRequest.java new file mode 100644 index 000000000..7094861de --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailDeptResultRequest.java @@ -0,0 +1,42 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse; +import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +/** + * 单据扫码明细查询参数 + */ +@Data +public class FilterOrderDetailDeptResultRequest 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 Boolean groupBuy; //是否集采产品 +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptResultResponse.java new file mode 100644 index 000000000..aaa2f1ecc --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailDeptResultResponse.java @@ -0,0 +1,31 @@ +package com.glxp.api.res.inout; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 单据扫码明细VO + */ +@Data +public class IoOrderDetailDeptResultResponse { + + + /** + * 部门编码外键 + */ + private String fromInvCode; + + + /** + * 部门编码外键 + */ + 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 48fab077f..c4d53ffb0 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -3,9 +3,11 @@ 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.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 java.util.List; @@ -31,4 +33,6 @@ public interface IoOrderDetailResultService { List cptTrace(CptTraceRequest cptTraceRequest); List exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); + + List getOrderDeptResult(FilterOrderDetailDeptResultRequest 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 95eea1c7c..3274c98ae 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,9 +7,11 @@ 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.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.service.inout.IoOrderDetailResultService; import org.springframework.stereotype.Service; @@ -93,4 +95,15 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic } return orderDetailResultDao.exFilterOrderDetail(orderDetailResultRequest); } + + @Override + public List getOrderDeptResult(FilterOrderDetailDeptResultRequest 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.filterOrderDeptList(orderDetailResultRequest); + } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index 3afd30e08..a463b1237 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -116,6 +116,50 @@ group by a2.id + + +