pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/AgvMobileController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/ReportDownloadController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/AdjDetl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/ViewWorkInBean.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ViewWorkInMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pom.xml
@@ -93,7 +93,7 @@ <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> <version>3.1.0</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -406,6 +406,9 @@ agvLocMastByContainerCode.setBarcode(barcode1); agvLocMastService.updateById(agvLocMastByContainerCode); } // 保存调整记录 AdjDetl adjDetl = new AdjDetl(); return R.ok("维护成功"); } src/main/java/com/zy/asrs/controller/ReportDownloadController.java
@@ -7,10 +7,7 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.AgvWrkMastLog; import com.zy.asrs.entity.ViewInOutBean; import com.zy.asrs.entity.ViewWorkCountInView; import com.zy.asrs.entity.ViewWorkInBean; import com.zy.asrs.entity.*; import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.asrs.service.AgvWrkMastLogService; import com.zy.common.web.BaseController; @@ -18,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.xml.soap.SAAJResult; import java.io.IOException; import java.net.URLEncoder; import java.util.HashMap; @@ -44,8 +42,7 @@ * @since 2.1.1 */ @GetMapping("/countIn") public void download1(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { public void download1(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { try { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -53,8 +50,7 @@ String fileName = URLEncoder.encode("日入库汇总", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") .doWrite(getInData(param)); EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(getInData(param)); } catch (Exception e) { // 重置response response.reset(); @@ -88,17 +84,16 @@ * @since 2.1.1 */ @RequestMapping("/countOut") public void download2(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { public void download2(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { try { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 String fileName = URLEncoder.encode("日出库汇总", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); List<ViewWorkCountInView> outData = getOutData(param); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") .doWrite(getOutData(param)); EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(outData); } catch (Exception e) { // 重置response response.reset(); @@ -121,7 +116,7 @@ startTime = split[0].split(" ")[0].replace("-", "."); endTime = split[1].split(" ")[0].replace("-", "."); } List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime, endTime); List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(null,null, (String) param.get("matnr"), startTime, endTime); return allCountIn; } @@ -133,8 +128,7 @@ * @since 2.1.1 */ @RequestMapping("/wrkMastLog") public void wrkMastLog(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { public void wrkMastLog(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException { try { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -142,8 +136,7 @@ String fileName = URLEncoder.encode("工作档维护日志", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") .doWrite(getWrkMastLogData(param)); EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(getWrkMastLogData(param)); } catch (Exception e) { // 重置response response.reset(); @@ -189,8 +182,7 @@ * @since 2.1.1 */ @RequestMapping("/out") public void out(HttpServletResponse response, @RequestParam ViewWorkInBean bean) throws IOException { public void out(HttpServletResponse response, @RequestParam(required = false) ViewWorkInBean bean) throws IOException { try { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -199,8 +191,7 @@ response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkOutList(bean); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") .doWrite(list); EasyExcel.write(response.getOutputStream(), ViewWorkInBean.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(list); } catch (Exception e) { // 重置response response.reset(); @@ -220,8 +211,7 @@ * @since 2.1.1 */ @RequestMapping("/in") public void in(HttpServletResponse response, @RequestParam ViewWorkInBean bean) throws IOException { public void in(HttpServletResponse response, @RequestParam(required = false) ViewWorkInBean bean) throws IOException { try { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -229,9 +219,9 @@ String fileName = URLEncoder.encode("日入库明细统计", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkInList(bean); String s = "1"; // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") .doWrite(list); EasyExcel.write(response.getOutputStream(), ViewWorkInBean.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(list); } catch (Exception e) { // 重置response response.reset(); src/main/java/com/zy/asrs/entity/AdjDetl.java
@@ -42,6 +42,11 @@ */ @ApiModelProperty(value= "物料号") private String matnr; /** * 物料名称 */ @ApiModelProperty(value= "物料名称") private String maktx; /** * 序列码 src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
@@ -1,10 +1,12 @@ package com.zy.asrs.entity; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.text.SimpleDateFormat; @@ -12,237 +14,277 @@ /** * 入库明细统计 * * @author admin * @date 2018年11月26日 */ @Data public class ViewWorkInBean { @ExcelIgnore private int pageNumber; @ExcelIgnore private int pageSize; @ExcelIgnore private int pageNumber; private int pageSize; private int stay_time; @ExcelIgnore private int stay_time; private String begin_date; @ExcelIgnore private String end_date; @ExcelIgnore private String query_date; @ExcelIgnore private String begin_date; private String end_date; private String query_date; private Integer row; @ExcelIgnore private Integer row; private String crn_str_time; @ExcelIgnore private String crn_end_time; @ExcelIgnore private String crn_str_time; private String crn_end_time; @ExcelProperty(value = "工作号") private Integer wrk_no; @ApiModelProperty(value= "工作号") private Integer wrk_no; @ExcelProperty(value = "工作时间") private Date io_time; @ApiModelProperty(value= "工作时间") private Date io_time; @ExcelProperty(value = "库位号") private String loc_no; @ApiModelProperty(value= "库位号") private String loc_no; @ExcelProperty(value = "货架条码") private String zpallet; @ApiModelProperty(value= "货架条码") private String zpallet; @ExcelProperty(value = "数量") private Double anfme; @ApiModelProperty(value= "数量") private Double anfme; @ExcelProperty(value = "物料号") private String matnr; @ApiModelProperty(value= "物料号") private String matnr; @ExcelProperty(value = "物料号") private String maktx; @ApiModelProperty(value= "物料号") private String maktx; @ExcelProperty(value = "序列码") private String batch; @ApiModelProperty(value= "序列码") private String batch; @ExcelProperty(value = "单据编号") private String order_no; @ApiModelProperty(value= "单据编号") private String order_no; @ExcelProperty(value = "规格") private String specs; @ApiModelProperty(value= "规格") private String specs; @ExcelProperty(value = "批次") private String model; @ApiModelProperty(value= "批次") private String model; @ExcelProperty(value = "颜色") private String color; @ApiModelProperty(value= "颜色") private String color; @ExcelProperty(value = "品牌") private String brand; @ApiModelProperty(value= "品牌") private String brand; @ExcelProperty(value = "单位") private String unit; @ApiModelProperty(value= "单位") private String unit; @ExcelProperty(value = "单价") private Double price; @ApiModelProperty(value= "单价") private Double price; @ExcelProperty(value = "sku") private String sku; @ApiModelProperty(value= "sku") private String sku; @ExcelProperty(value = "包数") private Double units; @ApiModelProperty(value= "包数") private Double units; @ExcelProperty(value = "条码") private String barcode; @ApiModelProperty(value= "条码") private String barcode; @ExcelProperty(value = "物料状态") private String origin; @ExcelIgnore @ExcelProperty(value = "厂家") private String manu; @ApiModelProperty(value= "物料状态") private String origin; @ExcelProperty(value = "单据时间") private String manu_date; @ApiModelProperty(value= "厂家") private String manu; @ExcelProperty(value = "品项数") private String item_num; @ApiModelProperty(value= "单据时间") private String manu_date; @ExcelProperty(value = "安全库存量") private Double safe_qty; @ApiModelProperty(value= "品项数") private String item_num; @ExcelProperty(value = "重量") private Double weight; @ExcelIgnore @ExcelProperty(value = "长度") private Double length; @ExcelIgnore @ExcelProperty(value = "体积") private Double volume; @ApiModelProperty(value= "安全库存量") private Double safe_qty; @ExcelProperty(value = "销售单号") private String three_code; @ApiModelProperty(value= "重量") private Double weight; @ExcelProperty(value = "供应商") private String supp; @ApiModelProperty(value= "长度") private Double length; @ExcelProperty(value = "货站码") private String supp_code; @ExcelIgnore @ExcelProperty(value = "是否批次 1: 是 0: 否 ") private Integer be_batch; @ExcelIgnore @ExcelProperty(value = "保质期") private String dead_time; @ExcelIgnore private String deadTime = dead_time; @ExcelIgnore @ExcelProperty(value = "预警天数") private Integer dead_warn; @ExcelIgnore private Integer deadWarn = this.dead_warn; @ExcelIgnore @ExcelProperty(value = "制购 1: 制造 2: 采购 3: 外协 ") private Integer source; @ExcelIgnore @ExcelProperty(value = "要求检验 1: 是 0: 否 ") private Integer inspect; @ExcelIgnore @ExcelProperty(value = "危险品 1: 是 0: 否 ") private Integer danger; @ApiModelProperty(value= "体积") private Double volume; @ExcelProperty(value = "修改人员") private Long modi_user; @ApiModelProperty(value= "三方编码") private String three_code; @ExcelProperty(value = "修改时间") private Date modi_time; @ApiModelProperty(value= "供应商") private String supp; @ExcelProperty(value = "创建者") private Long appe_user; @ApiModelProperty(value= "供应商编码") private String supp_code; @ExcelProperty(value = "添加时间") private Date appe_time; @ApiModelProperty(value= "是否批次 1: 是 0: 否 ") private Integer be_batch; @ExcelProperty(value = "备注") private String memo; @ApiModelProperty(value= "保质期") private String dead_time; private String deadTime=dead_time; @ExcelIgnore @ExcelProperty(value = "工作号") // 工作号 private Integer wrkNo; @ExcelIgnore @DateTimeFormat(value = "yyyy-MM-dd HH:mm:ss") @ExcelProperty(value = "工作时间") // 工作时间 private Date ioTime; @ExcelIgnore @ExcelProperty(value = "单据编号") //单据编号 private String orderNo; @ExcelIgnore @ExcelProperty(value = "单据时间") //单据时间 private String manuDate; @ExcelIgnore @ExcelProperty(value = "品项数") //品项数 private String itemNum; @ExcelIgnore @ExcelProperty(value = "安全库存量") //安全库存量 private Double safeQty; @ExcelIgnore @ExcelProperty(value = "销售单号") //三方编码 private String threeCode; @ExcelIgnore @ExcelProperty(value = "供应商编码") //供应商编码 private String suppCode; @ExcelIgnore @ExcelProperty(value = "师傅批次") //是否批次 1: 是 0: 否 private Integer beBatch; @ExcelIgnore @ExcelProperty(value = "修改人员") // 修改人员 private Long modiUser; @ExcelIgnore @ExcelProperty(value = "修改时间") // 修改时间 private Date modiTime; @ExcelIgnore @ExcelProperty(value = "创建者") // 创建者 private Long appeUser; @ExcelIgnore @ExcelProperty(value = "添加时间") // 添加时间 private Date appeTime; @ApiModelProperty(value= "预警天数") private Integer dead_warn; private Integer deadWarn=this.dead_warn; public void sype() { // 工作号 wrkNo = wrk_no; // 工作时间 ioTime = io_time; //单据编号 orderNo = order_no; //单据时间 manuDate = manu_date; //品项数 itemNum = item_num; //安全库存量 safeQty = safe_qty; //三方编码 threeCode = three_code; //供应商编码 suppCode = supp_code; //是否批次 1: 是 0: 否 beBatch = be_batch; // 修改人员 modiUser = modi_user; // 修改时间 modiTime = modi_time; // 创建者 appeUser = appe_user; // 添加时间 appeTime = appe_time; } @ApiModelProperty(value= "制购 1: 制造 2: 采购 3: 外协 ") private Integer source; public String getModiUser$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.modi_user); if (!Cools.isEmpty(user)) { return String.valueOf(user.getUsername()); } return null; } @ApiModelProperty(value= "要求检验 1: 是 0: 否 ") private Integer inspect; public String getAppeUser$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.appe_user); if (!Cools.isEmpty(user)) { return String.valueOf(user.getUsername()); } return null; } @ApiModelProperty(value= "危险品 1: 是 0: 否 ") private Integer danger; public String getIoTime$() { if (Cools.isEmpty(this.io_time)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.io_time); } @ApiModelProperty(value= "修改人员") private Long modi_user; public void setQuery_date(String query_date) { this.query_date = query_date; if (query_date.contains(" - ")) { String[] dates = query_date.split(" - "); this.begin_date = dates[0]; this.end_date = dates[1]; @ApiModelProperty(value= "修改时间") private Object modi_time; @ApiModelProperty(value= "创建者") private Long appe_user; @ApiModelProperty(value= "添加时间") private Object appe_time; @ApiModelProperty(value= "备注") private String memo; // 工作号 private Integer wrkNo; // 工作时间 private Date ioTime; //单据编号 private String orderNo; //单据时间 private String manuDate; //品项数 private String itemNum; //安全库存量 private Double safeQty; //三方编码 private String threeCode; //供应商编码 private String suppCode; //是否批次 1: 是 0: 否 private Integer beBatch; // 修改人员 private Long modiUser; // 修改时间 private Object modiTime; // 创建者 private Long appeUser; // 添加时间 private Object appeTime; public void sype(){ // 工作号 wrkNo=wrk_no; // 工作时间 ioTime=io_time; //单据编号 orderNo=order_no; //单据时间 manuDate=manu_date; //品项数 itemNum=item_num; //安全库存量 safeQty=safe_qty; //三方编码 threeCode=three_code; //供应商编码 suppCode=supp_code; //是否批次 1: 是 0: 否 beBatch=be_batch; // 修改人员 modiUser=modi_user; // 修改时间 modiTime=modi_time; // 创建者 appeUser=appe_user; // 添加时间 appeTime=appe_time; } public String getModiUser$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.modi_user); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } public String getAppeUser$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.appe_user); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } public String getIoTime$(){ if (Cools.isEmpty(this.io_time)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.io_time); } public void setQuery_date(String query_date) { this.query_date = query_date; if (query_date.contains(" - ")) { String[] dates = query_date.split(" - "); this.begin_date = dates[0]; this.end_date = dates[1]; } } } } } src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -689,6 +689,7 @@ adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); @@ -720,6 +721,7 @@ adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(0.0D); adjDetl.setModiTime(now); @@ -756,6 +758,7 @@ adjDetl.setLocNo(locMast.getLocNo()); adjDetl.setMatnr(adjust.getMatnr()); adjDetl.setBatch(adjust.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(0.0D); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -970,6 +970,7 @@ adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); @@ -999,6 +1000,7 @@ adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(0.0D); adjDetl.setModiTime(now); @@ -1032,6 +1034,7 @@ adjDetl.setLocNo(locMast.getLocNo()); adjDetl.setMatnr(adjust.getMatnr()); adjDetl.setBatch(adjust.getBatch()); adjDetl.setMaktx(locDetl.getMaktx()); adjDetl.setOriQty(0.0D); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); src/main/resources/mapper/ViewWorkInMapper.xml
@@ -87,7 +87,10 @@ where 1=1 <include refid="viewWorkInConditionSql"></include> ) t ) a where 1=1 and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) ) a where 1=1 <if test="pageNumber!=null and pageSize!=null"> and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </if> </select> <select id="getViewWorkInCount" parameterType="com.zy.asrs.entity.ViewWorkInBean" resultType="Integer"> @@ -132,8 +135,10 @@ where 1=1 <include refid="viewWorkInConditionSql"></include> ) t ) a where 1=1 and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) ) a where 1=1 <if test="pageNumber!=null and pageSize!=null"> and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </if> </select> <select id="getViewWorkOutCount" parameterType="com.zy.asrs.entity.ViewWorkInBean" resultType="Integer">