From a8b9893712835e3e4ebb94c3563234f7ed81d089 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期四, 07 四月 2022 15:02:24 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java | 87 ++++++++++++++ src/main/webapp/views/item/item.html | 4 src/main/webapp/views/itemReport/itemReport.html | 10 + src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java | 138 +++++++++++++++++++++++ src/main/webapp/static/js/itemReport/itemReport.js | 36 +++++ src/main/resources/excel/analysis_report.xlsx | 0 pom.xml | 1 src/main/webapp/views/itemBusiness/itemBusiness.html | 8 src/main/java/zy/cloud/wms/manager/service/ItemReportService.java | 6 + src/main/resources/mapper/ItemReportMapper.xml | 3 src/main/java/zy/cloud/wms/manager/entity/ItemReport.java | 36 ++++++ 11 files changed, 314 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 4b0adc0..3383f13 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ <artifactId>mysql-connector-java</artifactId> <version>${mysql-driver.version}</version> </dependency> + <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> diff --git a/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java b/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java index a6e0717..5ceea8a 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java @@ -7,6 +7,10 @@ import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; import com.core.exception.CoolException; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellAddress; +import org.apache.poi.xssf.usermodel.*; import zy.cloud.wms.manager.entity.Cstmr; import zy.cloud.wms.manager.entity.Item; import zy.cloud.wms.manager.entity.ItemReport; @@ -20,6 +24,11 @@ import org.springframework.web.bind.annotation.*; import zy.cloud.wms.manager.service.ItemService; +import javax.servlet.http.HttpServletResponse; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.*; @RestController @@ -76,11 +85,35 @@ @RequestMapping(value = "/itemReport/update/auth") @ManagerAuth - public R update(ItemReport itemReport){ - if (Cools.isEmpty(itemReport) || null==itemReport.getId()){ + public R update(ItemReport report){ + if (Cools.isEmpty(report) || null==report.getId()){ return R.error(); } - itemReportService.updateById(itemReport); + if (report.getDeliverReason() == null || report.getDeliverReason().equals("")) { + report.setDeliverIssue(false); + }else { + report.setDeliverIssue(true); + } + + if (report.getQualityReason() == null || report.getQualityReason().equals("")) { + report.setQualityIssue(false); + }else { + report.setQualityIssue(true); + } + + if (report.getDesignReason() == null || report.getDesignReason().equals("")) { + report.setDesignIssue(false); + }else { + report.setDesignIssue(true); + } + + if (report.getInstallReason() == null || report.getInstallReason().equals("")) { + report.setInstallIssue(false); + }else { + report.setInstallIssue(true); + } + itemReportService.update(report,new EntityWrapper<ItemReport>() + .eq("id",report.getId())); return R.ok(); } @@ -144,4 +177,52 @@ } return R.ok(result); } + + @RequestMapping("/itemReport/makeReport/auth") + public HttpServletResponse makeReport(@RequestParam("id") String id, HttpServletResponse response){ + /** + * 鎺х涓庡垵濮嬪寲 + * + */ + if (Cools.isEmpty(id)) { + throw new CoolException("闇�瑕佺敓鎴愭姤鍛婄殑椤圭洰涓虹┖,鏃犳硶鐢熸垚"); + } + Item item = itemService.selectOne(new EntityWrapper<Item>() + .eq("id", id)); + ItemReport itemReport = itemReportService.selectOne(new EntityWrapper<ItemReport>() + .eq("item_id", id)); + if (Cools.isEmpty(item) || Cools.isEmpty(itemReport)) { + throw new CoolException("鎵句笉鍒拌椤圭洰鎴栨槸椤圭洰鐨勬�荤粨"); + } + return itemReportService.makeReport(item,itemReport, response); + } + + public static void main(String[] args) { + FileOutputStream out = null; + FileInputStream in = null; + try { + in = new FileInputStream("src/main/resources/excel/analysis_report.xlsx"); + out = new FileOutputStream("C:\\Users\\Zhs\\Desktop\\report.xlsx"); + XSSFWorkbook wb = new XSSFWorkbook(in); + XSSFSheet mainSheet = wb.getSheet("鎶ュ憡"); + + XSSFRow row10 = mainSheet.getRow(11); + XSSFCell cell = row10.getCell(1); + cell.setCellValue("涓哄暐浣犲氨鍙互鍛�?"); + wb.write(out); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + }finally { + try { + out.close(); + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + + } + + } } diff --git a/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java b/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java index fdef57c..d29c60c 100644 --- a/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java +++ b/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java @@ -129,6 +129,15 @@ @ApiModelProperty(value= "1:鏈敓鎴�,2:宸茬敓鎴�(涓嶅彲淇敼)") private Integer status; + private String issue; + + public String getIssue$(){ + if (this.issue == null || this.issue.equals("")){ + return "鏃犲紓甯�"; + } + return this.issue; + } + public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ @@ -198,4 +207,31 @@ } return this.installReason; } + + public String getDeliverIssue$() { + if (this.deliverIssue) { + return "鏈�"; + } + return "鏃�"; + } + + public String getQualityIssue$() { + if (this.qualityIssue) { + return "鏈�"; + } + return "鏃�"; + } + public String getDesignIssue$() { + if (this.designIssue) { + return "鏈�"; + } + return "鏃�"; + } + public String getInstallIssue$() { + if (this.installIssue) { + return "鏈�"; + } + return "鏃�"; + } + } diff --git a/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java b/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java index f53f5d9..98bfb28 100644 --- a/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java +++ b/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java @@ -1,9 +1,15 @@ package zy.cloud.wms.manager.service; +import com.core.common.R; +import zy.cloud.wms.manager.entity.Item; import zy.cloud.wms.manager.entity.ItemReport; import com.baomidou.mybatisplus.service.IService; + +import javax.servlet.http.HttpServletResponse; public interface ItemReportService extends IService<ItemReport> { void init(ItemReport itemReport, Long userId); + + HttpServletResponse makeReport(Item item, ItemReport itemReport, HttpServletResponse response); } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java index 7618d0c..f3f7deb 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.R; import com.core.exception.CoolException; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import zy.cloud.wms.manager.entity.Item; import zy.cloud.wms.manager.mapper.ItemReportMapper; @@ -12,6 +16,10 @@ import org.springframework.stereotype.Service; import zy.cloud.wms.manager.service.ItemService; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; import java.util.Date; @Service("itemReportService") @@ -70,4 +78,134 @@ report.setCreateBy(userId); insert(report); } + + @Override + public HttpServletResponse makeReport(Item item, ItemReport itemReport, HttpServletResponse response) { + + FileInputStream in = null; + ServletOutputStream out = null; + try { + /** + * 涓�浜涘垵濮嬪寲 + */ + in = new FileInputStream("src/main/resources/excel/analysis_report.xlsx"); + + XSSFWorkbook wb = new XSSFWorkbook(in); + XSSFSheet mainSheet = wb.getSheet("鎶ュ憡"); + /** + * 寮�濮嬭缃10鍜�11鍚堝苟琛岀殑鎵�鏈夊垪, 瑙掓爣浠�0寮�濮�,rownum9瀹為檯涓婄瓑浜�10 + */ + XSSFRow row10 = mainSheet.getRow(9); + row10.getCell(1).setCellValue(item.getUuid()); + row10.getCell(3).setCellValue(item.getEndTime0$()); + row10.getCell(5).setCellValue(item.getRealEndTime0$()); + + XSSFRow row1 = mainSheet.getRow(0); + row1.getCell(0).setCellValue(item.getName()+"璁㈠崟鎬荤粨鍒嗘瀽鎶ュ憡"); + + /** + * 寮�濮嬭缃12琛� + */ + XSSFRow row12 = mainSheet.getRow(11); + row12.getCell(1).setCellValue(item.getUuid()); + row12.getCell(3).setCellValue(item.getPlandeAmt()); + row12.getCell(5).setCellValue(item.getRealdeAmt()); + + /** + *寮�濮嬭缃14琛� + */ + XSSFRow row14 = mainSheet.getRow(13); + row14.getCell(1).setCellValue(item.getName()); + row14.getCell(3).setCellValue(item.getPlaninAmt()); + row14.getCell(5).setCellValue(item.getRealinAmt()); + + /** + * 绗�16琛� + */ + XSSFRow row16 = mainSheet.getRow(15); + row16.getCell(1).setCellValue(item.getType$()); + + /** + * 绗�18琛� + */ + XSSFRow row17 = mainSheet.getRow(17); + row17.getCell(1).setCellValue(item.getSalesman()); + row17.getCell(2).setCellValue(itemReport.getIssue()); + + + /** + * 绗�20琛� + */ + XSSFRow row19 = mainSheet.getRow(19); + row19.getCell(1).setCellValue(item.getLeader()); + + /** + * 绗�22琛� + */ + XSSFRow row22 = mainSheet.getRow(21); + row22.getCell(1).setCellValue(item.getOriginArea()); + + /** + * 绗�29琛� + */ + XSSFRow row29 = mainSheet.getRow(28); + row29.getCell(1).setCellValue(itemReport.getDeliverIssue$()); + row29.getCell(2).setCellValue(itemReport.getDeliverReason()); + + /** + * 绗�31琛� + */ + XSSFRow row31 = mainSheet.getRow(30); + row31.getCell(1).setCellValue(itemReport.getQualityIssue$()); + row31.getCell(2).setCellValue(itemReport.getQualityReason()); + + /** + * 33琛� + */ + + XSSFRow row33 = mainSheet.getRow(32); + row33.getCell(1).setCellValue(itemReport.getDesignIssue$()); + row33.getCell(2).setCellValue(itemReport.getDesignReason()); + /** + * 35琛� + */ + + XSSFRow row35 = mainSheet.getRow(34); + row35.getCell(1).setCellValue(itemReport.getInstallIssue$()); + row35.getCell(2).setCellValue(itemReport.getInstallReason()); + /** + * 绗�45琛� + */ + XSSFRow row45 = mainSheet.getRow(44); + row45.getCell(1).setCellValue(itemReport.getConclusion()); + + +// wb.write(out); + + out = response.getOutputStream(); + + response.setContentType("application/octet-stream; charset=utf-8"); + + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(item.getName()+"鎶ュ憡.xlsx")); + + ServletOutputStream outputStream = response.getOutputStream(); + wb.write(outputStream); + + + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + in.close(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + return response; + } + } diff --git a/src/main/resources/excel/analysis_report.xlsx b/src/main/resources/excel/analysis_report.xlsx new file mode 100644 index 0000000..520b2b7 --- /dev/null +++ b/src/main/resources/excel/analysis_report.xlsx Binary files differ diff --git a/src/main/resources/mapper/ItemReportMapper.xml b/src/main/resources/mapper/ItemReportMapper.xml index 1b33edc..0529624 100644 --- a/src/main/resources/mapper/ItemReportMapper.xml +++ b/src/main/resources/mapper/ItemReportMapper.xml @@ -10,7 +10,7 @@ <result column="deliver_issue" property="deliverIssue" /> <result column="deliver_reason" property="deliverReason" /> <result column="quality_issue" property="qualityIssue" /> - <result column="quality_reson" property="qualityReson" /> + <result column="quality_reson" property="qualityReason" /> <result column="design_issue" property="designIssue" /> <result column="design_reason" property="designReason" /> <result column="install_issue" property="installIssue" /> @@ -21,6 +21,7 @@ <result column="create_by" property="createBy" /> <result column="create_time" property="createTime" /> <result column="status" property="status" /> + <result column="issue" property="issue" /> </resultMap> diff --git a/src/main/webapp/static/js/itemReport/itemReport.js b/src/main/webapp/static/js/itemReport/itemReport.js index c08290e..8333c1f 100644 --- a/src/main/webapp/static/js/itemReport/itemReport.js +++ b/src/main/webapp/static/js/itemReport/itemReport.js @@ -26,6 +26,7 @@ ,{field: 'qualityReason$', align: 'center',title: '璐ㄩ噺闂鍘熷洜'} ,{field: 'designReason$', align: 'center',title: '璁捐闂鍘熷洜'} ,{field: 'installReason$', align: 'center',title: '瀹夎闂鍘熷洜'} + ,{field: 'issue$', align: 'center',title: '寮傚父鎻忚堪'} ,{field: 'conclusion', align: 'center',title: '鎬荤粨'} ,{field: 'updateBy', align: 'center',title: '', hide:true} ,{field: 'updateTime$', align: 'center',title: '', hide:true} @@ -134,19 +135,47 @@ // 鐩戝惉琛屽伐鍏蜂簨浠� table.on('tool(itemReport)', function(obj){ var data = obj.data; + + switch (obj.event) { case 'edit': showEditModel(data); break; case "del": - var ids = [data.id]; - del(ids); + var id = data.id; + del(id); + break; + case "makeReport": + console.log(obj); + var ids = [data.itemId]; + makeReport(ids); break; } }); - + function makeReport(id) { + location.href = 'http://localhost:8080/pms/itemReport/makeReport/auth?id=' + id; + // layer.confirm('纭畾瑕佺敓鎴愰�変腑鏁版嵁鐨勬姤鍛婂悧锛�', { + // skin: 'layui-layer-admin', + // shade: .1 + // }, function (i) { + // layer.close(i); + // var loadIndex = layer.load(2); + // $.ajax({ + // url: baseUrl+"/itemReport/makeReport/auth", + // headers: {'token': localStorage.getItem('token')}, + // data: {ids: ids}, + // method: 'POST', + // success: function (res) { + // layer.close(loadIndex); + // + // } + // }) + // } + // ) + }; /* 寮圭獥 - 鏂板銆佷慨鏀� */ function showEditModel(mData) { + mData.itemId$ = mData.itemName; admin.open({ type: 1, area: '600px', @@ -156,6 +185,7 @@ layDateRender(); form.val('detail', mData); form.on('submit(editSubmit)', function (data) { + console.log(data); var loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/itemReport/"+(mData?'update':'add')+"/auth", diff --git a/src/main/webapp/views/item/item.html b/src/main/webapp/views/item/item.html index 9f01407..94fcd5b 100644 --- a/src/main/webapp/views/item/item.html +++ b/src/main/webapp/views/item/item.html @@ -181,9 +181,9 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label layui-form-required">瀹炴柦鍛ㄦ湡(鏈�): </label> + <label class="layui-form-label layui-form-required">瀹炴柦鍛ㄦ湡(澶�): </label> <div class="layui-input-block"> - <input class="layui-input" name="realMonth" id="realMonth$" placeholder="濉啓鏁板瓧鏈堜唤" type="number" lay-verify="required" + <input class="layui-input" name="realMonth" id="realMonth$" placeholder="濉啓鏁板瓧澶╂暟" type="number" lay-verify="required" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" oninput="if(value>200)value=200;if(value<=0)value=1"> diff --git a/src/main/webapp/views/itemBusiness/itemBusiness.html b/src/main/webapp/views/itemBusiness/itemBusiness.html index 46db8e7..9a4ba5c 100644 --- a/src/main/webapp/views/itemBusiness/itemBusiness.html +++ b/src/main/webapp/views/itemBusiness/itemBusiness.html @@ -87,9 +87,9 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label layui-form-required">瀹炴柦鍛ㄦ湡(鏈�): </label> + <label class="layui-form-label layui-form-required">瀹炴柦鍛ㄦ湡(澶�): </label> <div class="layui-input-block"> - <input class="layui-input" name="realMonth" id="realMonth$" placeholder="濉啓鏁板瓧鏈堜唤" type="number" lay-verify="required" + <input class="layui-input" name="realMonth" id="realMonth$" placeholder="濉啓鏁板瓧澶╂暟" type="number" lay-verify="required" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" oninput="if(value>200)value=200;if(value<=0)value=1"> @@ -174,9 +174,9 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label layui-form-required">閿�鍞瀹夎鏈�: </label> + <label class="layui-form-label ">閿�鍞瀹夎鏈�: </label> <div class="layui-input-block"> - <input class="layui-input" name="preinDate" id="preinDate" placeholder="璇疯緭鍏ラ瀹夎鏃ユ湡" lay-vertype="tips" lay-verify="required"> + <input class="layui-input" name="preinDate" id="preinDate" placeholder="璇疯緭鍏ラ瀹夎鏃ユ湡" lay-vertype="tips"> </div> </div> diff --git a/src/main/webapp/views/itemReport/itemReport.html b/src/main/webapp/views/itemReport/itemReport.html index d782991..dab17e8 100644 --- a/src/main/webapp/views/itemReport/itemReport.html +++ b/src/main/webapp/views/itemReport/itemReport.html @@ -40,7 +40,7 @@ </script> <script type="text/html" id="operate"> -<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>--> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>--> <a class="layui-btn layui-btn layui-btn-xs btn-edit" lay-event="makeReport">鐢熸垚鎶ュ憡</a> </script> @@ -91,7 +91,7 @@ <div class="layui-form-item"> <label class="layui-form-label">璐ㄩ噺闂鎻忚堪: </label> <div class="layui-input-block"> - <input class="layui-input" name="qualityReson" placeholder="涓虹┖琛ㄧず鏃�"> + <input class="layui-input" name="qualityReason" placeholder="涓虹┖琛ㄧず鏃�"> </div> </div> <!-- <div class="layui-form-item">--> @@ -119,6 +119,12 @@ </div> </div> <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="issue" placeholder="涓虹┖琛ㄧず鏃�"> + </div> + </div> + <div class="layui-form-item"> <label class="layui-form-label">鎬荤粨: </label> <div class="layui-input-block"> <input class="layui-input" name="conclusion" placeholder="璇疯緭鍏ユ�荤粨"> -- Gitblit v1.9.1