diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java index 1b93e7a8c..b19a2920c 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceFreightController.java @@ -1,6 +1,9 @@ package com.glxp.api.controller.auth; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; @@ -15,8 +18,12 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.basic.SysWorkplaceFreightRequest; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; +import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.*; +import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.res.inout.IoOrderDetailVo; +import com.glxp.api.res.inout.IoSplitInvResponse; import com.glxp.api.service.basic.SysWorkplaceFreightService; import com.glxp.api.service.basic.SysWorkplaceQueueService; import com.glxp.api.service.system.SystemPDFModuleService; @@ -32,6 +39,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.*; /** diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java index 989ecb0a3..1289e5b8e 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java @@ -1,6 +1,9 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.enums.ResultEnum; @@ -13,9 +16,13 @@ import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.basic.SysWorkplacePutRel; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.entity.inout.IoSplitFifoInv; +import com.glxp.api.req.basic.SysWorkplaceFreightRequest; import com.glxp.api.req.inout.IoSplitFifoInvRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.SysWorkplaceFreightViewResponse; +import com.glxp.api.res.inout.IoOrderDetailVo; import com.glxp.api.res.inout.IoSplitInvResponse; +import com.glxp.api.res.inout.IoSplitInvViewResponse; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.SysWorkplaceDocumentService; import com.glxp.api.service.inout.IoSplitFifoCodeService; @@ -29,6 +36,11 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Date; import java.util.List; @Slf4j @@ -116,4 +128,23 @@ public class IoSplitFifoInvController extends BaseController { return ResultVOUtils.success(codeList); } + + + + @GetMapping("/udiwms/ioSplit/inv/exportExcel") + public void exportExcel(IoSplitFifoInvRequest ioSplitFifoInvRequest, HttpServletResponse response) throws IOException { + // 模拟数据库获取数据 + ioSplitFifoInvRequest.setPage(null); + ioSplitFifoInvRequest.setLimit(null); + List list = splitFifoInvService.filterList(ioSplitFifoInvRequest); + List splitCodeEntities = BeanUtil.copyToList(list, IoSplitInvViewResponse.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(), IoSplitInvViewResponse.class).sheet().doWrite(splitCodeEntities); + } + } diff --git a/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java index 1eed708da..a271fd9c4 100644 --- a/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java @@ -1,5 +1,6 @@ package com.glxp.api.res.inout; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -122,7 +123,9 @@ public class IoSplitInvResponse { //产品信息----------------------------start---------------------- private String supName; private String workPlaceName; + private String cpmctymc; + private String ggxh; private String ylqxzcrbarmc; private String manufactory; @@ -132,13 +135,23 @@ public class IoSplitInvResponse { private String zxxsdycpbs; private String bzgg; private String useLevelUnit; + + private String nameCode; private Integer remindState; private String busName; private Integer availableCount; private Integer monopoly; private Integer queueRemindCount; + + private Integer row; + + + private Integer maxDrugCount; + private String workPlaceQueueCodeName; private Boolean queueEnableRemind; + private Integer suggestOutCount; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoSplitInvViewResponse.java b/src/main/java/com/glxp/api/res/inout/IoSplitInvViewResponse.java new file mode 100644 index 000000000..58650558c --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoSplitInvViewResponse.java @@ -0,0 +1,60 @@ +package com.glxp.api.res.inout; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentFontStyle; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoSplitInvViewResponse { + + + /** + * 出库数量 + */ + @ExcelProperty(value = "剩余数量", index = 6) + @ColumnWidth(30) + private Integer reCount; + + + /** + * 出货槽编码 + */ + @ExcelProperty(value = "出货槽编码", index = 1) + @ColumnWidth(30) + private String workPlaceQueueCode; + + @ExcelProperty(value = "产品通用名", index = 3) + @ColumnWidth(30) + private String cpmctymc; + + @ExcelProperty(value = "规格型号", index = 5) + @ColumnWidth(30) + private String ggxh; + + + @ExcelProperty(value = "产品标识", index = 4) + @ColumnWidth(30) + private String nameCode; + + + @ExcelProperty(value = "区域编码", index = 0) + @ColumnWidth(30) + private Integer row; + + @ExcelProperty(value = "最大存药数量", index = 7) + @ColumnWidth(30) + private Integer maxDrugCount; + + @ExcelProperty(value = "出货槽名称", index = 2) + @ColumnWidth(30) + private String workPlaceQueueCodeName; + + @ExcelProperty(value = "推荐上货数量", index = 8) + @ColumnWidth(30) + private Integer suggestOutCount; + +} diff --git a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml index e41a44986..f16ac5a6a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml @@ -30,7 +30,7 @@