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