From b306d1106b915bb13fd7a02217ae9c65de2fd03d Mon Sep 17 00:00:00 2001
From: ws183 <1143478319@qq.com>
Date: 星期一, 28 四月 2025 17:19:52 +0800
Subject: [PATCH] 新增质检页面附件上传
---
igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml | 223 +++++++++++---
igds-core/src/main/java/com/ld/igds/m/view/QualityManager.js | 19 +
igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java | 78 ++++-
igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java | 46 +++
igds-core/src/main/java/com/ld/igds/file/MyUploadProcessor.java | 40 ++
igds-core/src/main/java/com/ld/igds/view/service/HDepotStoreService.java | 22 +
igds-core/src/main/java/com/ld/igds/check/dto/CheckItemData.java | 5
igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java | 13
igds-core/src/main/java/com/ld/igds/m/ReportBill.java | 69 ++++
igds-core/src/main/java/com/ld/igds/m/ReportManage.java | 217 ++++++++++++++
igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java | 8
igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java | 88 +++++
igds-core/src/main/resources/mapper/CheckStandardMapper.xml | 11
igds-core/src/main/java/com/ld/igds/models/MQuality.java | 15 +
14 files changed, 782 insertions(+), 72 deletions(-)
diff --git a/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java b/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
index 1ce6b66..95d231d 100644
--- a/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
+++ b/igds-basic/src/main/java/com/ld/igds/basic/controller/FileController.java
@@ -5,6 +5,8 @@
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,11 +15,13 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
+import java.util.Date;
/**
* 鏂囦欢涓婁紶鎺ュ彛
@@ -170,4 +174,46 @@
}
}
+ /**
+ * PDF鏂囦欢棰勮
+ * @param response
+ */
+ @RequestMapping("/show-pdf")
+ public void showFile(String fileTime, String fileName, String filePathType, HttpServletResponse response) throws Exception {
+
+ if (!fileName.endsWith(".pdf")) {
+ return;
+ }
+ Date time = DateUtils.parseDate(fileTime, new String[]{"yy-MM-dd HH:mm:ss"});
+
+ String filePath = fileManager.getPathByType(filePathType, time);
+ if(StringUtils.isEmpty(filePath)){
+ return;
+ }
+
+ File file = new File(filePath, fileName);
+ try {
+ response.setHeader("Content-Disposition", "inline; filename*=UTF-8''" + URLEncoder.encode(file.getName(), "UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+
+ ServletOutputStream os = null;
+ try {
+ os = response.getOutputStream();
+ os.write(FileUtils.readFileToByteArray(file));
+ os.flush();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (os != null) {
+ try {
+ os.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
}
diff --git a/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java b/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
index 671ff63..2ac1da0 100644
--- a/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
+++ b/igds-basic/src/main/java/com/ld/igds/basic/manager/FileManager.java
@@ -177,4 +177,17 @@
return readFile.getFile().getAbsolutePath();
}
+
+ /**
+ * 鏍规嵁涓嶅悓鐨勭被鍨嬭幏鍙栨枃浠惰矾寰�
+ * @param filePathType
+ * @param time
+ * @return
+ */
+ public String getPathByType(String filePathType, Date time) {
+ if("common".equals(filePathType)){
+ return fileService.getCommonFilePath(time);
+ }
+ return null;
+ }
}
diff --git a/igds-core/src/main/java/com/ld/igds/check/dto/CheckItemData.java b/igds-core/src/main/java/com/ld/igds/check/dto/CheckItemData.java
index df34e09..3a41c1e 100644
--- a/igds-core/src/main/java/com/ld/igds/check/dto/CheckItemData.java
+++ b/igds-core/src/main/java/com/ld/igds/check/dto/CheckItemData.java
@@ -25,4 +25,9 @@
//杩愮畻绗﹀彿鍊硷紝鍙仛椤甸潰鏄剧ず鐢�
private String operaSymbolValue;
+ private double perWet;
+
+ private double perImpurity;
+
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java b/igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java
index 153cc2e..c62a8d9 100644
--- a/igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java
+++ b/igds-core/src/main/java/com/ld/igds/check/mapper/CheckStandardMapper.java
@@ -62,4 +62,12 @@
*/
int delCheckItemByParam(@Param("data") CheckItemData item);
+ /**
+ * 鑾峰彇鎸囧畾鐨勫寲楠岄」
+ *
+ * @param item 鏌ヨ鏉′欢
+ * @return
+ */
+ List<CheckItemData> getCheckItemByParam(@Param("data") CheckItemData item);
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/file/MyUploadProcessor.java b/igds-core/src/main/java/com/ld/igds/file/MyUploadProcessor.java
index f86a499..41919a7 100644
--- a/igds-core/src/main/java/com/ld/igds/file/MyUploadProcessor.java
+++ b/igds-core/src/main/java/com/ld/igds/file/MyUploadProcessor.java
@@ -56,4 +56,44 @@
return newFileName;
}
+ /**
+ * 涓婁紶鍏叡鏂囦欢锛屽鍚堝悓銆佽鍒掔瓑
+ * myUploadProcessor#uploadCommonFile
+ * @param file
+ * @param parameter
+ * @return
+ */
+ @FileResolver
+ public String uploadCommonFile(UploadFile file, Map<String, Object> parameter) {
+
+ String fileId = null;
+ try {
+
+ String oldFileName = (String)parameter.get("name");
+ if(oldFileName == null){
+ //涓婁紶澶辫触锛氶檮浠跺悕绉颁负绌恒��
+ return "10";
+ }
+ //鍒ゆ柇oldFileName鍚庣紑鍚嶆槸鍚︿负pdf
+ if(!oldFileName.endsWith(".pdf")) {
+ //涓婁紶澶辫触锛氶檮浠朵笉鏄痯df鏂囦欢銆�
+ return "20";
+ }
+ String basePath = fileService.getCommonFilePath(null);
+
+ fileId = ContextUtil.getTimeId(1000)
+ + file.getFileName().substring(
+ file.getFileName().lastIndexOf("."));
+
+ file.transferTo(new File(basePath + fileId));
+
+ } catch (IllegalStateException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return fileId;
+ }
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/m/ReportBill.java b/igds-core/src/main/java/com/ld/igds/m/ReportBill.java
new file mode 100644
index 0000000..718db0e
--- /dev/null
+++ b/igds-core/src/main/java/com/ld/igds/m/ReportBill.java
@@ -0,0 +1,69 @@
+package com.ld.igds.m;
+
+/**
+ * @Description 璐ㄦ鎶ュ憡鍗曟嵁妯℃澘-鍖呭惈鏁翠粨鍜屽崟杞�
+ * @Author CZT
+ * @Date 2024/4/29 9:06
+ */
+public class ReportBill {
+
+ /*----------鏁翠粨璐ㄦ----------*/
+
+ //鏁翠粨璐ㄦ鎶ュ憡鍗�-灏忛害
+ public static String QUALITY_111 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(灏忛害)</title><style>body{text-align:center;padding:10px}.tit{margin:10px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'rowspan=\"5\"`width`=\"22%\">鏍峰搧淇℃伅</td><td width='14%'>鍗曚綅鍚嶇О</td><td colspan='2'`width`='27%'>dwmc</td><td width='13%'>搴撳尯鍚嶇О</td><td colspan='2'`width`='26%'>deptName</td></tr><tr><td width='14%'>浠撴埧鍚嶇О</td><td width='13%'>buildingName</td><td width='14%'>璐т綅鍚嶇О</td><td width='13%'>depotName</td><td width='13%'>淇濈鍛�</td><td width='13%'>storeKeeperName</td></tr><tr><td>鍝佺</td><td>foodVariety</td><td>鎬ц川</td><td>foodType</td><td>浠撳唴绮鏁伴噺</td><td>storageReal鍚�</td></tr><tr><td>浜у湴</td><td>foodLocation</td><td>绛夌骇</td><td>foodLevel</td><td>鐢熶骇骞撮檺</td><td>foodYear</td></tr><tr><td>鏍峰搧鏁伴噺</td><td>checkNum KG</td><td>鏍峰搧浠h〃鏁伴噺</td><td>foodNumber鍚�</td><td colspan=\"2\"></td></tr><tr><td colspan='2'>妫�楠屽崟浣�</td><td colspan=\"6\">unit</td></tr><tr><td colspan='2'rowspan=\"2\">璐ㄦ浜哄憳</td><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td colspan=\"2\"></td></tr><tr><td>鎵︽牱鏃堕棿</td><td>sampleTime</td><td>妫�楠屾椂闂�</td><td>checkTime</td><td>鎶ュ憡鍑哄叿鏃堕棿</td><td>bgcjsj</td></tr><tr><td rowspan=\"6\">璐ㄦ缁撴灉</td><td rowspan=\"3\">璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>瀹归噸(g/L)</td><td>C03_VAL</td><td>绛夌骇</td><td>foodLevel</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熻娊绮�(%)</td><td>C35_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td></tr><tr><td>鍌ㄥ瓨鍝佽川妫�楠�</td><td>闈㈢瓔鍚告按閲�(%)</td><td>C08_VAL</td><td>鍝佸皾鍒嗗��</td><td>C07_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td rowspan=\"2\">椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣�(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td colspan=\"2\">澶囨敞</td><td colspan=\"6\">remark</td></tr></table><div class='div-tit'></div></body></html>";
+
+
+ //鏁翠粨璐ㄦ鎶ュ憡鍗�-鐜夌背
+ public static String QUALITY_112 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(鐜夌背)</title><style>body{text-align:center;padding:10px}.tit{margin:10px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'rowspan=\"5\"`width`=\"22%\">鏍峰搧淇℃伅</td><td width='14%'>鍗曚綅鍚嶇О</td><td colspan='2'`width`='27%'>dwmc</td><td width='13%'>搴撳尯鍚嶇О</td><td colspan='2'`width`='26%'>deptName</td></tr><tr><td width='14%'>浠撴埧鍚嶇О</td><td width='13%'>buildingName</td><td width='14%'>璐т綅鍚嶇О</td><td width='13%'>depotName</td><td width='13%'>淇濈鍛�</td><td width='13%'>storeKeeperName</td></tr><tr><td>鍝佺</td><td>foodVariety</td><td>鎬ц川</td><td>foodType</td><td>浠撳唴绮鏁伴噺</td><td>storageReal鍚�</td></tr><tr><td>浜у湴</td><td>foodLocation</td><td>绛夌骇</td><td>foodLevel</td><td>鐢熶骇骞撮檺</td><td>foodYear</td></tr><tr><td>鏍峰搧鏁伴噺</td><td>checkNum KG</td><td>鏍峰搧浠h〃鏁伴噺</td><td>foodNumber鍚�</td><td colspan=\"2\"></td></tr><tr><td colspan='2'>妫�楠屽崟浣�</td><td colspan=\"6\">unit</td></tr><tr><td colspan='2'rowspan=\"2\">璐ㄦ浜哄憳</td><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td colspan=\"2\"></td></tr><tr><td>鎵︽牱鏃堕棿</td><td>sampleTime</td><td>妫�楠屾椂闂�</td><td>checkTime</td><td>鎶ュ憡鍑哄叿鏃堕棿</td><td>bgcjsj</td></tr><tr><td rowspan=\"6\">璐ㄦ缁撴灉</td><td rowspan=\"3\">璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>瀹归噸(g/L)</td><td>C03_VAL</td><td>绛夌骇</td><td>foodLevel</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td><td>闇夊彉绮�(%)</td><td>C15_VAL</td></tr><tr><td>鍌ㄥ瓨鍝佽川妫�楠�</td><td>鑴傝偑閰稿��(mgKOH/100g)</td><td>C14_VAL</td><td>鍝佸皾鍒嗗��</td><td>C15_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td rowspan=\"2\">椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣�(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td colspan=\"2\">澶囨敞</td><td colspan=\"6\">remark</td></tr></table><div class='div-tit'></div></body></html>";
+
+
+ //鏁翠粨璐ㄦ鎶ュ憡鍗�-閫傜敤浜庣ɑ璋枫�佸ぇ绫�
+ public static String QUALITY_113 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(绋昏胺)</title><style>body{text-align:center;padding:10px}.tit{margin:10px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1><div class='div-tit'>缂栫爜锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'rowspan=\"5\"`width`=\"22%\">鏍峰搧淇℃伅</td><td width='14%'>鍗曚綅鍚嶇О</td><td colspan='2'`width`='27%'>dwmc</td><td width='13%'>搴撳尯鍚嶇О</td><td colspan='2'`width`='26%'>deptName</td></tr><tr><td width='14%'>浠撴埧鍚嶇О</td><td width='13%'>buildingName</td><td width='14%'>璐т綅鍚嶇О</td><td width='13%'>depotName</td><td width='13%'>淇濈鍛�</td><td width='13%'>storeKeeperName</td></tr><tr><td>鍝佺</td><td>foodVariety</td><td>鎬ц川</td><td>foodType</td><td>浠撳唴绮鏁伴噺</td><td>storageReal鍚�</td></tr><tr><td>浜у湴</td><td>foodLocation</td><td>绛夌骇</td><td>foodLevel</td><td>鐢熶骇骞撮檺</td><td>foodYear</td></tr><tr><td>鏍峰搧鏁伴噺</td><td>checkNum KG</td><td>鏍峰搧浠h〃鏁伴噺</td><td>foodNumber鍚�</td><td colspan=\"2\"></td></tr><tr><td colspan='2'>妫�楠屽崟浣�</td><td colspan=\"6\">unit</td></tr><tr><td colspan='2'rowspan=\"2\">璐ㄦ浜哄憳</td><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td colspan=\"2\"></td></tr><tr><td>鎵︽牱鏃堕棿</td><td>sampleTime</td><td>妫�楠屾椂闂�</td><td>checkTime</td><td>鎶ュ憡鍑哄叿鏃堕棿</td><td>bgcjsj</td></tr><tr><td rowspan=\"7\">璐ㄦ缁撴灉</td><td rowspan=\"4\">璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>鍑虹硻鐜�(%)</td><td>C09_VAL</td><td>绛夌骇</td><td>foodLevel</td></tr><tr><td>鏁寸簿绫崇巼(%)</td><td>C10_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>榛勭矑绫�(%)</td><td>C11_VAL</td><td>璋峰绯欑背(%)</td><td>C12_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td>浜掓贩鐜�(%)</td><td>C13_VAL</td><td colspan=\"4\"></td></tr><tr><td>鍌ㄥ瓨鍝佽川妫�楠�</td><td>鑴傝偑閰稿��(mgKOH/100g)</td><td>C14_VAL</td><td>鍝佸皾鍒嗗��</td><td>C07_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td rowspan=\"2\">椋熷搧瀹夊叏妫�楠�</td><td>榛勬洸闇夋瘨绱燘1(渭g/kg)</td><td>C28_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td></tr><tr><td>姹�(渭g/kg)</td><td>C34_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td><td colspan=\"2\"></td></tr><tr><td colspan=\"2\">澶囨敞</td><td colspan=\"6\">remark</td></tr></table><div class='div-tit'></div></body></html>";
+
+
+ //鏁翠粨璐ㄦ鎶ュ憡鍗�-澶ц眴
+ public static String QUALITY_141 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(澶ц眴)</title><style>body{text-align:center;padding:10px}.tit{margin:10px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'rowspan=\"5\"`width`=\"22%\">鏍峰搧淇℃伅</td><td width='14%'>鍗曚綅鍚嶇О</td><td colspan='2'`width`='27%'>dwmc</td><td width='13%'>搴撳尯鍚嶇О</td><td colspan='2'`width`='26%'>deptName</td></tr><tr><td width='14%'>浠撴埧鍚嶇О</td><td width='13%'>buildingName</td><td width='14%'>璐т綅鍚嶇О</td><td width='13%'>depotName</td><td width='13%'>淇濈鍛�</td><td width='13%'>storeKeeperName</td></tr><tr><td>鍝佺</td><td>foodVariety</td><td>鎬ц川</td><td>foodType</td><td>浠撳唴绮鏁伴噺</td><td>storageReal鍚�</td></tr><tr><td>浜у湴</td><td>foodLocation</td><td>绛夌骇</td><td>foodLevel</td><td>鐢熶骇骞撮檺</td><td>foodYear</td></tr><tr><td>鏍峰搧鏁伴噺</td><td>checkNum KG</td><td>鏍峰搧浠h〃鏁伴噺</td><td>foodNumber鍚�</td><td colspan=\"2\"></td></tr><tr><td colspan='2'>妫�楠屽崟浣�</td><td colspan=\"6\">unit</td></tr><tr><td colspan='2'rowspan=\"2\">璐ㄦ浜哄憳</td><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td colspan=\"2\"></td></tr><tr><td>鎵︽牱鏃堕棿</td><td>sampleTime</td><td>妫�楠屾椂闂�</td><td>checkTime</td><td>鎶ュ憡鍑哄叿鏃堕棿</td><td>bgcjsj</td></tr><tr><td rowspan=\"5\">璐ㄦ缁撴灉</td><td rowspan=\"3\">璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>瀹屾暣绮掔巼(%)</td><td>C16_VAL</td><td>绛夌骇</td><td>foodLevel</td></tr><tr><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td>鎹熶激绮掔巼(%)</td><td>C17_VAL</td><td>鐑崯浼ょ矑(%)</td><td>C34_VAL</td><td colspan=\"2\"></td></tr><tr><td>鍌ㄥ瓨鍝佽川妫�楠�</td><td>绮楄剛鑲吀鍊�(mgKOH/100g)</td><td>C18_VAL</td><td>鍝佸皾鍒嗗��</td><td>C07_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td>椋熷搧瀹夊叏妫�楠�</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td><td colspan=\"2\"></td></tr><tr><td colspan=\"2\">澶囨敞</td><td colspan=\"6\">remark</td></tr></table><div class='div-tit'></div></body></html>";
+
+
+ //鏁翠粨璐ㄦ鎶ュ憡鍗�-鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补璐ㄦ鍗�
+ public static String QUALITY_212 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'rowspan='5'`width`='22%'>鏍峰搧淇℃伅</td><td width='14%'>鍗曚綅鍚嶇О</td><td colspan='2'`width`='27%'>dwmc</td><td width='13%'>搴撳尯鍚嶇О</td><td colspan='2'`width`='26%'>deptName</td></tr><tr><td width='14%'>浠撴埧鍚嶇О</td><td width='13%'>buildingName</td><td width='14%'>璐т綅鍚嶇О</td><td width='13%'>depotName</td><td width='13%'>淇濈鍛�</td><td width='13%'>storeKeeperName</td></tr><tr><td>鍝佺</td><td>foodVariety</td><td>鎬ц川</td><td>foodType</td><td>浠撳唴绮鏁伴噺</td><td>storageReal鍚�</td></tr><tr><td>浜у湴</td><td>foodLocation</td><td>绛夌骇</td><td>foodLevel</td><td>鐢熶骇骞撮檺</td><td>foodYear</td></tr><tr><td>鏍峰搧鏁伴噺</td><td>checkNum KG</td><td>鏍峰搧浠h〃鏁伴噺</td><td>foodNumber鍚�</td><td colspan='2'></td></tr><tr><td colspan='2'>妫�楠屽崟浣�</td><td colspan='6'>unit</td></tr><tr><td colspan='2'rowspan='2'>璐ㄦ浜哄憳</td><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td colspan='2'></td></tr><tr><td>鎵︽牱鏃堕棿</td><td>sampleTime</td><td>妫�楠屾椂闂�</td><td>checkTime</td><td>鎶ュ憡鍑哄叿鏃堕棿</td><td>bgcjsj</td></tr><tr><td colspan='2'rowspan='7'>璐ㄦ缁撴灉</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td colspan='2'></td></tr><tr><td>鑹叉辰</td><td>_01020302_VAL</td><td>姘斿懗婊嬪懗</td><td colspan='3'>_01020323_VAL</td></tr><tr><td>閫忔槑搴�</td><td>_01020301_VAL</td><td>姘村垎鍙婃尌鍙戠墿(%)</td><td>_01020324_VAL</td><td>涓嶆憾鎬ф潅璐�(%)</td><td>_01020325_VAL</td></tr><tr><td>閰镐环(KOH)(mg/g)</td><td>_0201033_VAL</td><td>杩囨哀鍖栧��(g/100g)</td><td>02010332_VAL</td><td>鍚殏閲�(%)</td><td>_02010307_VAL</td></tr><tr><td>鍔犵儹璇曢獙(280鈩�)</td><td>_01020326_VAL</td><td>鐑熺偣(鈩�)</td><td>_01020313_VAL</td><td>鍐峰喕璇曢獙</td><td>_01022327_VAL</td></tr><tr><td>婧跺墏娈嬬暀閲�(mg/kg)</td><td>_02030922_VAL</td><td>鑴傝偑閰稿��</td><td>_02010306_VAL</td><td>妫夌苯娌规鍑�</td><td>_02010302_VAL</td></tr><tr><td>娓哥妫夐厷(mg/kg)</td><td>_02030921_VAL</td><td>榛勬洸闇夋瘨绱燘1</td><td>_02030201_VAL</td><td colspan='2'></td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+
+
+ /*----------鍏ュ簱璐ㄦ鍗�----------*/
+
+ //鍏ュ簱璐ㄦ鍗�-灏忛害璐ㄦ鍗�
+ public static String INOUT_CHECK_111 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>鍏ュ簱璐ㄦ鍗�(灏忛害)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>鍏ュ簱璐ㄦ鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='6'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹归噸(g/L)</td><td>C03_VAL</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熻娊绮�(%)</td><td>C35_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣掔礌(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱璐ㄦ鍗�-鐜夌背璐ㄦ鍗�
+ public static String INOUT_CHECK_112 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>鍏ュ簱璐ㄦ鍗�(鐜夌背)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱璐ㄦ鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='6'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹归噸(g/L)</td><td>C03_VAL</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td><td>闇夊彉绮�(%)</td><td>C15_VAL</td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣�(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱璐ㄦ鍗�-绋昏胺璐ㄦ鍗�
+ public static String INOUT_CHECK_113 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>鍏ュ簱璐ㄦ鍗�(绋昏胺)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱璐ㄦ鍗�(foodVariety)</h1><div class='div-tit'>缂栫爜锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='7'>妫�楠�</td><td rowspan='4'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>鍑虹硻鐜�(%)</td><td>C09_VAL</td></tr><tr><td>鏁寸簿绫崇巼(%)</td><td>C10_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>榛勭矑绫�(%)</td><td>C11_VAL</td><td>璋峰绯欑背(%)</td><td>C12_VAL</td><td>鑹叉辰銆佹皵鍛�</td><td>C06_VAL</td></tr><tr><td>浜掓贩鐜�(%)</td><td>C13_VAL</td><td colspan='4'></td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>榛勬洸闇夋瘨绱燘1(渭g/kg)</td><td>C28_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td></tr><tr><td>姹�(渭g/kg)</td><td>C34_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td><td colspan='2'></td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱璐ㄦ鍗�-澶ц眴璐ㄦ鍗�
+ public static String INOUT_CHECK_141 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>鍏ュ簱璐ㄦ鍗�(澶ц眴)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱璐ㄦ鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='5'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹屾暣绮掔巼(%)</td><td>C16_VAL</td></tr><tr><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td>鎹熶激绮掔巼(%)</td><td>C17_VAL</td><td>鐑崯浼ょ矑(%)</td><td>C34_VAL</td><td colspan='2'></td></tr><tr><td>椋熷搧瀹夊叏妫�楠�</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td><td colspan='2'></td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱璐ㄦ鍗�-鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补璐ㄦ鍗�
+ public static String INOUT_CHECK_212 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>鍏ュ簱璐ㄦ鍗�(鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>鍏ュ簱璐ㄦ鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='25%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td width='15%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='5'>妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td colspan='2'></td></tr><tr><td>姘村垎鍙婃尌鍙戠墿(%)</td><td>_01020324_VAL</td><td>涓嶆憾鎬ф潅璐�(%)</td><td>_01020325_VAL</td><td>閰镐环(KOH)(mg/g)</td><td>_0201033_VAL</td></tr><tr><td>杩囨哀鍖栧��(g/100g)</td><td>02010332_VAL</td><td>鍚殏閲�(%)</td><td>_02010307_VAL</td><td>鍔犵儹璇曢獙(280鈩�)</td><td>_01020326_VAL</td></tr><tr><td>婧跺墏娈嬬暀閲�(mg/kg)</td><td>_02030922_VAL</td><td>娓哥妫夐厷(mg/kg)</td><td>_02030921_VAL</td><td>榛勬洸闇夋瘨绱燘1</td><td>_02030201_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td>checkTime</td></tr><tr><td>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+
+
+ /*----------鍏ュ簱妫�鏂よ川妫�鍗�----------*/
+
+ //鍏ュ簱妫�鏂よ川妫�鍗�-灏忛害璐ㄦ鍗�
+ public static String INOUT_WEIGHT_CHECK_111 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(灏忛害)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>鍏ュ簱妫�鏂よ川妫�鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='2'colspan='2'>鐧昏</td><td>鍏ラ棬鏃堕棿</td><td colspan='2'>registerTime</td><td>鐧昏鍛�</td><td colspan='2'>registerUser</td></tr><tr><td>鍑洪棬鏃堕棿</td><td colspan='2'>completeTime</td><td>鐧昏鍛�</td><td colspan='2'>completeUser</td></tr><tr><td rowspan='3'colspan='2'>妫�鏂�</td><td>姣涢噸妫�鏂ゆ椂闂�</td><td>fullWeightTime</td><td>鐩戠鍛�</td><td>fullWeightUser</td><td>姣涢噸(KG)</td><td>fullWeight</td></tr><tr><td>鐨噸妫�鏂ゆ椂闂�</td><td>emptyWeightTime</td><td>鐩戠鍛�</td><td>emptyWeightUser</td><td>鐨噸(KG)</td><td>emptyWeight</td></tr><tr><td>姘存潅鎵�(澧�)閲�(KG)</td><td>deWet</td><td>鍏朵粬鎵i噸(KG)</td><td>deOther</td><td>瀹為檯鏁伴噺(KG)</td><td>netWeight</td></tr><tr><td rowspan='6'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹归噸(g/L)</td><td>C03_VAL</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熻娊绮�(%)</td><td>C35_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣掔礌(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱妫�鏂よ川妫�鍗�-鐜夌背璐ㄦ鍗�
+ public static String INOUT_WEIGHT_CHECK_112 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(鐜夌背)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱妫�鏂よ川妫�鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='2'colspan='2'>鐧昏</td><td>鍏ラ棬鏃堕棿</td><td colspan='2'>registerTime</td><td>鐧昏鍛�</td><td colspan='2'>registerUser</td></tr><tr><td>鍑洪棬鏃堕棿</td><td colspan='2'>completeTime</td><td>鐧昏鍛�</td><td colspan='2'>completeUser</td></tr><tr><td rowspan='3'colspan='2'>妫�鏂�</td><td>姣涢噸妫�鏂ゆ椂闂�</td><td>fullWeightTime</td><td>鐩戠鍛�</td><td>fullWeightUser</td><td>姣涢噸(KG)</td><td>fullWeight</td></tr><tr><td>鐨噸妫�鏂ゆ椂闂�</td><td>emptyWeightTime</td><td>鐩戠鍛�</td><td>emptyWeightUser</td><td>鐨噸(KG)</td><td>emptyWeight</td></tr><tr><td>姘存潅鎵�(澧�)閲�(KG)</td><td>deWet</td><td>鍏朵粬鎵i噸(KG)</td><td>deOther</td><td>瀹為檯鏁伴噺(KG)</td><td>netWeight</td></tr><tr><td rowspan='6'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹归噸(g/L)</td><td>C03_VAL</td></tr><tr><td>鑹叉辰姘斿懗</td><td>C06_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>涓嶅畬鍠勭矑(%)</td><td>C04_VAL</td><td>鐢熼湁绮�(%)</td><td>C29_VAL</td><td>闇夊彉绮�(%)</td><td>C15_VAL</td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>鍛曞悙姣�(mg/kg)</td><td>C27_VAL</td><td>鐜夌背璧ら湁鐑叜(渭g/kg)</td><td>C31_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td></tr><tr><td>闀�(mg/kg)</td><td>C25_VAL</td><td>姹�(渭g/kg)</td><td>C33_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱妫�鏂よ川妫�鍗�-绋昏胺璐ㄦ鍗�
+ public static String INOUT_WEIGHT_CHECK_113 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(绋昏胺)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱妫�鏂よ川妫�鍗�(foodVariety)</h1><div class='div-tit'>缂栫爜锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='2'colspan='2'>鐧昏</td><td>鍏ラ棬鏃堕棿</td><td colspan='2'>registerTime</td><td>鐧昏鍛�</td><td colspan='2'>registerUser</td></tr><tr><td>鍑洪棬鏃堕棿</td><td colspan='2'>completeTime</td><td>鐧昏鍛�</td><td colspan='2'>completeUser</td></tr><tr><td rowspan='3'colspan='2'>妫�鏂�</td><td>姣涢噸妫�鏂ゆ椂闂�</td><td>fullWeightTime</td><td>鐩戠鍛�</td><td>fullWeightUser</td><td>姣涢噸(KG)</td><td>fullWeight</td></tr><tr><td>鐨噸妫�鏂ゆ椂闂�</td><td>emptyWeightTime</td><td>鐩戠鍛�</td><td>emptyWeightUser</td><td>鐨噸(KG)</td><td>emptyWeight</td></tr><tr><td>姘存潅鎵�(澧�)閲�(KG)</td><td>deWet</td><td>鍏朵粬鎵i噸(KG)</td><td>deOther</td><td>瀹為檯鏁伴噺(KG)</td><td>netWeight</td></tr><tr><td rowspan='7'>妫�楠�</td><td rowspan='4'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>鍑虹硻鐜�(%)</td><td>C09_VAL</td></tr><tr><td>鏁寸簿绫崇巼(%)</td><td>C10_VAL</td><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td></tr><tr><td>榛勭矑绫�(%)</td><td>C11_VAL</td><td>璋峰绯欑背(%)</td><td>C12_VAL</td><td>鑹叉辰銆佹皵鍛�</td><td>C06_VAL</td></tr><tr><td>浜掓贩鐜�(%)</td><td>C13_VAL</td><td colspan='4'></td></tr><tr><td rowspan='2'>椋熷搧瀹夊叏妫�楠�</td><td>榛勬洸闇夋瘨绱燘1(渭g/kg)</td><td>C28_VAL</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td></tr><tr><td>姹�(渭g/kg)</td><td>C34_VAL</td><td>鏃犳満鐮�(mg/kg)</td><td>C30_VAL</td><td colspan='2'></td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱妫�鏂よ川妫�鍗�-澶ц眴璐ㄦ鍗�
+ public static String INOUT_WEIGHT_CHECK_141 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(澶ц眴)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}</style></head><body><h1 class='tit'>鍏ュ簱妫�鏂よ川妫�鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='10%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td colspan='2'width='30%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'colspan='2'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td colspan='2'>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'colspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='2'colspan='2'>鐧昏</td><td>鍏ラ棬鏃堕棿</td><td colspan='2'>registerTime</td><td>鐧昏鍛�</td><td colspan='2'>registerUser</td></tr><tr><td>鍑洪棬鏃堕棿</td><td colspan='2'>completeTime</td><td>鐧昏鍛�</td><td colspan='2'>completeUser</td></tr><tr><td rowspan='3'colspan='2'>妫�鏂�</td><td>姣涢噸妫�鏂ゆ椂闂�</td><td>fullWeightTime</td><td>鐩戠鍛�</td><td>fullWeightUser</td><td>姣涢噸(KG)</td><td>fullWeight</td></tr><tr><td>鐨噸妫�鏂ゆ椂闂�</td><td>emptyWeightTime</td><td>鐩戠鍛�</td><td>emptyWeightUser</td><td>鐨噸(KG)</td><td>emptyWeight</td></tr><tr><td>姘存潅鎵�(澧�)閲�(KG)</td><td>deWet</td><td>鍏朵粬鎵i噸(KG)</td><td>deOther</td><td>瀹為檯鏁伴噺(KG)</td><td>netWeight</td></tr><tr><td rowspan='5'>妫�楠�</td><td rowspan='3'>璐ㄩ噺鎸囨爣妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td>瀹屾暣绮掔巼(%)</td><td>C16_VAL</td></tr><tr><td>鏉傝川(%)</td><td>C02_VAL</td><td>姘村垎(%)</td><td>C01_VAL</td><td>鑹叉辰姘斿懗</td><td>C06_VAL</td></tr><tr><td>鎹熶激绮掔巼(%)</td><td>C17_VAL</td><td>鐑崯浼ょ矑(%)</td><td>C34_VAL</td><td colspan='2'></td></tr><tr><td>椋熷搧瀹夊叏妫�楠�</td><td>閾�(mg/kg)</td><td>C32_VAL</td><td>闀�(mg/kg)</td><td>C25_VAL</td><td colspan='2'></td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td colspan='2'>checkTime</td></tr><tr><td colspan='2'>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+ //鍏ュ簱妫�鏂よ川妫�鍗�-鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补璐ㄦ鍗�
+ public static String INOUT_WEIGHT_CHECK_212 = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'><title>璐ㄦ鎶ュ憡(鑿滅苯娌广�佸ぇ璞嗘补銆佹绫芥补)</title><style>body{text-align:center;padding:10px}.tit{margin:0px;font-size:24px;font-family:'瀹嬩綋';padding-top:5px}.div-tit{text-align:right;padding-right:20px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}</style></head><body><h1 class='tit'>鍏ュ簱妫�鏂よ川妫�鍗�(foodVariety)</h1><div class='div-tit'>鍗曞彿锛歴erId</div><table cellspacing='0'cellpadding='0'><tr><td colspan='2'width='25%'>鍗曚綅鍚嶇О</td><td colspan='2'width='30%'>dwmc</td><td width='15%'>搴撳尯鍚嶇О</td><td colspan='2'width='30%'>deptName</td></tr><tr><td width='10%'>鍏ヤ粨</td><td width='15%'>浠撴埧鍚嶇О</td><td width='15%'>buildingName</td><td width='15%'>璐т綅鍚嶇О</td><td width='15%'>depotName</td><td width='15%'>淇濈鍛�</td><td width='15%'>storeKeeperName</td></tr><tr><td>瀹㈡埛</td><td>瀹㈡埛鍚嶇О</td><td colspan='2'>customerName</td><td>淇$敤浠g爜(韬唤璇佸彿)</td><td colspan='2'>customerId</td></tr><tr><td rowspan='2'>鎵胯繍</td><td>鎵胯繍浜�</td><td colspan='2'>userName</td><td>韬唤璇佸彿</td><td colspan='2'>userId</td></tr><tr><td>杩愯緭宸ュ叿</td><td>transType</td><td>杞﹁埞鍙�</td><td>plateNum</td><td>鑱旂郴鐢佃瘽</td><td>userContact</td></tr><tr><td rowspan='2'>鐧昏</td><td>鍏ラ棬鏃堕棿</td><td colspan='2'>registerTime</td><td>鐧昏鍛�</td><td colspan='2'>registerUser</td></tr><tr><td>鍑洪棬鏃堕棿</td><td colspan='2'>completeTime</td><td>鐧昏鍛�</td><td colspan='2'>completeUser</td></tr><tr><td rowspan='3'>妫�鏂�</td><td>姣涢噸妫�鏂ゆ椂闂�</td><td>fullWeightTime</td><td>鐩戠鍛�</td><td>fullWeightUser</td><td>姣涢噸(KG)</td><td>fullWeight</td></tr><tr><td>鐨噸妫�鏂ゆ椂闂�</td><td>emptyWeightTime</td><td>鐩戠鍛�</td><td>emptyWeightUser</td><td>鐨噸(KG)</td><td>emptyWeight</td></tr><tr><td>姘存潅鎵�(澧�)閲�(KG)</td><td>deWet</td><td>鍏朵粬鎵i噸(KG)</td><td>deOther</td><td>瀹為檯鏁伴噺(KG)</td><td>netWeight</td></tr><tr><td rowspan='5'>妫�楠�</td><td>鍝佺</td><td>foodVariety</td><td>绛夌骇</td><td>foodLevel</td><td colspan='2'></td></tr><tr><td>姘村垎鍙婃尌鍙戠墿(%)</td><td>_01020324_VAL</td><td>涓嶆憾鎬ф潅璐�(%)</td><td>_01020325_VAL</td><td>閰镐环(KOH)(mg/g)</td><td>_0201033_VAL</td></tr><tr><td>杩囨哀鍖栧��(g/100g)</td><td>02010332_VAL</td><td>鍚殏閲�(%)</td><td>_02010307_VAL</td><td>鍔犵儹璇曢獙(280鈩�)</td><td>_01020326_VAL</td></tr><tr><td>婧跺墏娈嬬暀閲�(mg/kg)</td><td>_02030922_VAL</td><td>娓哥妫夐厷(mg/kg)</td><td>_02030921_VAL</td><td>榛勬洸闇夋瘨绱燘1</td><td>_02030201_VAL</td></tr><tr><td>鎵︽牱鍛�</td><td>sampleUser</td><td>妫�楠屽憳</td><td>checkUser</td><td>妫�楠屾椂闂�</td><td>checkTime</td></tr><tr><td>澶囨敞</td><td colspan='6'>remark</td></tr></table><div class='div-tit' style='float: left;margin-top: 5px;font-size: 12px'>璇存槑锛氫娇鐢ㄣ�婄伯椋熻喘閿�棰嗗煙鐩戠淇℃伅鍖栬鑼冦�嬪浗绮(2022)78鍙�-闄勫綍G妯$増</div></body></html>";
+
+}
\ No newline at end of file
diff --git a/igds-core/src/main/java/com/ld/igds/m/ReportManage.java b/igds-core/src/main/java/com/ld/igds/m/ReportManage.java
new file mode 100644
index 0000000..2fa8af9
--- /dev/null
+++ b/igds-core/src/main/java/com/ld/igds/m/ReportManage.java
@@ -0,0 +1,217 @@
+package com.ld.igds.m;
+
+import com.bstek.bdf2.core.model.DefaultDept;
+import com.ld.igds.check.dto.CheckItemData;
+import com.ld.igds.common.CoreCommonService;
+import com.ld.igds.constant.FoodLevel;
+import com.ld.igds.constant.FoodType;
+import com.ld.igds.constant.FoodVariety;
+import com.ld.igds.models.Building;
+import com.ld.igds.models.Depot;
+import com.ld.igds.models.DepotStore;
+import com.ld.igds.models.MQuality;
+import com.ld.igds.sys.service.SysDeptService;
+import com.ld.igds.view.service.BuildingService;
+import com.ld.igds.view.service.HDepotStoreService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 鎵撳嵃鍚勭鎶ュ憡鍗曟嵁绠$悊绫�
+ */
+@Component
+public class ReportManage {
+
+ @Autowired
+ private CoreCommonService commonService;
+ @Autowired
+ private SysDeptService sysDeptService;
+ @Autowired
+ private BuildingService buildingService;
+ @Resource
+ private HDepotStoreService depotStoreService;
+
+ /**
+ * 鏁磋溅璐ㄦ鎶ュ憡鍗曟嵁
+ *
+ * @param data
+ * @return
+ */
+ public String printQualityBill(MQuality data) {
+
+ //鑾峰彇榛樿妯$増
+ String htmlStr = "妯℃澘鏆傛湭纭畾锛侊紒";
+
+ if (data.getFoodVariety().startsWith("111")) {
+ //璋冪敤灏忛害璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_111;
+ }
+ if (data.getFoodVariety().startsWith("112")) {
+ //璋冪敤鐜夌背璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_112;
+ }
+ if (data.getFoodVariety().startsWith("113")) {
+ //璋冪敤绋昏胺璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_113;
+ }
+ if (data.getFoodVariety().startsWith("141")) {
+ //璋冪敤澶ц眴璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_141;
+ }
+ if (data.getFoodVariety().startsWith("236")) {
+ //璋冪敤绋昏胺璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_113;
+ }
+ if (data.getFoodVariety().startsWith("212")) {
+ //璋冪敤娌硅剛璐ㄦ鎶ュ憡妯$増
+ htmlStr = ReportBill.QUALITY_212;
+ }
+
+ //鑾峰彇鍗曚綅鍚嶇О
+ DefaultDept dept = sysDeptService.getDeptById(data.getCompanyId());
+ if (null != dept && StringUtils.isNotEmpty(dept.getName())) {
+ htmlStr = htmlStr.replace("dwmc", dept.getName());
+ } else {
+ htmlStr = htmlStr.replace("dwmc", "-");
+ }
+
+ //鑾峰彇搴撳尯鍚嶇О
+ dept = sysDeptService.getDeptById(data.getDeptId());
+ if (null != dept && StringUtils.isNotEmpty(dept.getName())) {
+ htmlStr = htmlStr.replace("deptName", dept.getName());
+ } else {
+ htmlStr = htmlStr.replace("deptName", "-");
+ }
+
+ //鑾峰彇浠撳簱淇℃伅
+ Depot depot = commonService.getCacheDepot(data.getCompanyId(), data.getDepotId());
+ String buildingName = "-";
+ if (depot != null) {
+ htmlStr = htmlStr.replace("depotName", depot.getName() == null ? "-" : depot.getName());
+ htmlStr = htmlStr.replace("foodLocation", StringUtils.isEmpty(depot.getFoodLocation()) ? "-" : depot.getFoodLocation());
+ htmlStr = htmlStr.replace("storeKeeperName", StringUtils.isEmpty(depot.getStoreKeeperName()) ? "-" : depot.getStoreKeeperName());
+
+ //鑾峰彇浠撴埧淇℃伅
+ if (StringUtils.isNotEmpty(depot.getBuildingId())) {
+ Building building = buildingService.getCacheBuilding(depot.getCompanyId(), depot.getDeptId(), depot.getBuildingId());
+ if (null != building) {
+ buildingName = building.getName();
+ }
+ }
+ } else {
+ htmlStr = htmlStr.replace("depotName", "-");
+ htmlStr = htmlStr.replace("foodLocation", "-");
+ htmlStr = htmlStr.replace("storeKeeperName", "-");
+ }
+ htmlStr = htmlStr.replace("buildingName", buildingName);
+
+ htmlStr = htmlStr.replace("foodVariety", FoodVariety.getMsg(data.getFoodVariety()));
+ htmlStr = htmlStr.replace("serId", data.getId());
+
+ //鑾峰彇璐ㄦ鏃堕棿涔嬪墠鐨勫簱瀛樹俊鎭�
+ DepotStore lastDepotStore = depotStoreService.getLastData(data.getDepotId(), data.getTime());
+ String storageReal = "-";
+ String foodYear = "-";
+ String foodType = "-";
+ if(null != lastDepotStore){
+ if(StringUtils.isNotEmpty(lastDepotStore.getFoodYear())){
+ foodYear = lastDepotStore.getFoodYear();
+ }
+ if(null != lastDepotStore.getStorageReal()){
+ storageReal = lastDepotStore.getStorageReal()/1000 + "";
+ }
+ if(StringUtils.isNotEmpty(lastDepotStore.getFoodType())){
+ foodType = FoodType.getMsg(lastDepotStore.getFoodType());
+ }
+ }
+ htmlStr = htmlStr.replace("storageReal", storageReal);
+ htmlStr = htmlStr.replace("foodYear", foodYear);
+ htmlStr = htmlStr.replace("foodType", foodType);
+
+ htmlStr = htmlStr.replace("foodNumber", data.getDbsl() == null? "-":data.getDbsl()/1000 + "");
+ htmlStr = htmlStr.replace("foodLevel", StringUtils.isEmpty(data.getFoodLevel()) ? "-" : FoodLevel.getMsg(data.getFoodLevel()));
+
+ htmlStr = htmlStr.replace("checkNum", data.getYpsl() == null? "-":data.getYpsl() + "");
+
+ htmlStr = htmlStr.replace("unit", StringUtils.isEmpty(data.getUnit()) ? "-" : data.getUnit());
+ htmlStr = htmlStr.replace("sampleUser", StringUtils.isEmpty(data.getCheckUser()) ? "-" : data.getCheckUser());
+ htmlStr = htmlStr.replace("checkUser", StringUtils.isEmpty(data.getUser()) ? "-" : data.getUser());
+ htmlStr = htmlStr.replace("sampleTime", data.getCheckTime() == null ? "-" : DateFormatUtils.format(data.getCheckTime(), "yyyy/MM/dd HH:mm:ss"));
+ htmlStr = htmlStr.replace("checkTime", data.getTime() == null ? "-" : DateFormatUtils.format(data.getTime(), "yyyy/MM/dd HH:mm:ss"));
+ htmlStr = htmlStr.replace("bgcjsj", data.getBgcjsj() == null ? "-" : DateFormatUtils.format(data.getBgcjsj(), "yyyy/MM/dd HH:mm:ss"));
+ htmlStr = htmlStr.replace("remark", StringUtils.isEmpty(data.getRemark()) ? "-" : data.getRemark());
+
+ Map<String, String> checkBillItems = getCheckBillItems();
+ // 閬嶅巻鍖栭獙缁撴灉锛屽瓨鍏ap闆嗗悎涓�
+ String key;
+ for (CheckItemData item : data.getCheckItems()) {
+ key = item.getStandardId() + "_VAL";
+ checkBillItems.put(key, item.getValue());
+ }
+
+ // 閬嶅巻map闆嗗悎锛屾浛鎹㈠寲楠屽崟涓寲楠屽��
+ String value;
+ for (String str : checkBillItems.keySet()) {
+ value = checkBillItems.get(str);
+ if (StringUtils.isNotEmpty(value)) {
+ htmlStr = htmlStr.replace(str, value);
+ } else {
+ htmlStr = htmlStr.replace(str, "-");
+ }
+ }
+
+ return htmlStr;
+ }
+
+
+ /**
+ * 灏佽鍖栭獙椤规暟鍊硷紝key-鍖栭獙椤圭紪鐮侊紝value-鏀剧疆鍖栭獙鍊�
+ *
+ * @return
+ */
+ private Map<String, String> getCheckBillItems() {
+ Map<String, String> map = new HashMap<>();
+ map.put("C01_VAL", "");
+ map.put("C02_VAL", "");
+ map.put("C03_VAL", "");
+ map.put("C04_VAL", "");
+ map.put("C05_VAL", "");
+ map.put("C06_VAL", "");
+ map.put("C07_VAL", "");
+ map.put("C08_VAL", "");
+ map.put("C09_VAL", "");
+ map.put("C10_VAL", "");
+ map.put("C11_VAL", "");
+ map.put("C12_VAL", "");
+ map.put("C13_VAL", "");
+ map.put("C14_VAL", "");
+ map.put("C15_VAL", "");
+ map.put("C16_VAL", "");
+ map.put("C17_VAL", "");
+ map.put("C18_VAL", "");
+ map.put("C19_VAL", "");
+ map.put("C20_VAL", "");
+ map.put("C21_VAL", "");
+ map.put("C22_VAL", "");
+ map.put("C23_VAL", "");
+ map.put("C24_VAL", "");
+ map.put("C25_VAL", "");
+ map.put("C26_VAL", "");
+ map.put("C27_VAL", "");
+ map.put("C28_VAL", "");
+ map.put("C29_VAL", "");
+ map.put("C30_VAL", "");
+ map.put("C31_VAL", "");
+ map.put("C32_VAL", "");
+ map.put("C33_VAL", "");
+ map.put("C34_VAL", "");
+ map.put("C35_VAL", "");
+ return map;
+ }
+}
\ No newline at end of file
diff --git a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
index b54172e..e149c87 100644
--- a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
+++ b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
@@ -11,6 +11,7 @@
import com.ld.igds.util.DateUtil;
import com.ld.igds.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
import org.hibernate.Session;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -126,7 +127,7 @@
if (null == data.getDeptId()) {
data.setDeptId(ContextUtil.subDeptId(null));
}
- if (null != data.getZblb() || "" != data.getZblb()) {
+ if (null != data.getZblb() && "" != data.getZblb() && "null" != data.getZblb()) {
String[] str = data.getZblb().split("#");
//闃叉鍦ㄦ洿鏂版搷浣滄椂鍐嶆瀛樺叆鐩稿悓鐨勬暟鎹�
Set<String> metrics = new HashSet<>();
@@ -144,11 +145,9 @@
try {
if (null == data.getId()) {
data.setId(id);
- session.save(data);
- } else {
- session.update(data);
}
- redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
+ session.saveOrUpdate(data);
+ redisUtil.del(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
MQuality newData;
if (EntityUtils.isEntity(data)) {
newData = new MQuality();
@@ -157,7 +156,7 @@
newData = data;
}
- redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
+ redisUtil.set(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
} catch (Exception e) {
e.printStackTrace();
} finally {
@@ -186,4 +185,81 @@
return null;
}
+ /**
+ * 鑾峰彇褰撳墠妫�楠屾椂闂存渶鍚庝竴涓狪D
+ *
+ * @param time
+ * @return
+ * @throws Exception
+ */
+ public String getIdByTime(Date time) {
+ int num = 10001;
+ String hql = " from " + MQuality.class.getName()
+ + " where companyId =:companyId ";
+ Map<String, Object> args = new HashMap<String, Object>();
+ args.put("companyId", ContextUtil.getCompanyId());
+
+ hql += " and time >=:start";
+ args.put("start", DateUtil.getCurZero(time));
+ hql += " and time <:end";
+ args.put("end", DateUtil.getNextZero(time));
+
+ hql += " order by id DESC";
+ List<MQuality> list = this.query(hql, args);
+ if (list != null && list.size() > 0) {
+// String lastId = list.get(0).getId();
+// num += Integer.parseInt(lastId.subst
+// ring(lastId.length() - 5));
+ num += Integer.valueOf(list.get(0).getId().substring(11));
+ }
+// String strNum = String.valueOf(num);
+// if (strNum.length() == 1) {
+// strNum = "1000" + strNum;
+// }
+// if (strNum.length() == 2) {
+// strNum = "100" + strNum;
+// }
+// if (strNum.length() == 3) {
+// strNum = "10" + strNum;
+// }
+// if (strNum.length() == 4) {
+// strNum = "1" + strNum;
+// }
+ return DateFormatUtils.format(time, "yyyyMMdd") + String.valueOf(num).substring(1);
+ }
+
+ public CheckItemData getCheckItem(String checkId) {
+ CheckItemData itemData = new CheckItemData();
+ if ("".equals(checkId)) {
+ itemData.setPerWet(0.0);
+ itemData.setPerImpurity(0.0);
+ return itemData;
+ }
+ itemData.setCompanyId(ContextUtil.getCompanyId());
+ itemData.setCheckId(checkId);
+ itemData.setStandardId("C01");
+ List<CheckItemData> itemData1 = checkStandardMapper.getCheckItemByParam(itemData);
+ if (!itemData1.isEmpty()) {
+ String perWet = itemData1.get(0).getValue();
+ if (StringUtils.isNotEmpty(perWet)) {
+ itemData.setPerWet(Double.parseDouble(perWet));
+ } else {
+ itemData.setPerWet(0.0);
+ }
+ }
+
+ itemData.setStandardId("C02");
+ List<CheckItemData> itemData2 = checkStandardMapper.getCheckItemByParam(itemData);
+ if (!itemData2.isEmpty()) {
+ String perImpurity = itemData2.get(0).getValue();
+ if (StringUtils.isNotEmpty(perImpurity)) {
+ itemData.setPerImpurity(Double.parseDouble(perImpurity));
+ } else {
+ itemData.setPerImpurity(0.0);
+ }
+ }
+
+ return itemData;
+ }
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.js b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.js
new file mode 100644
index 0000000..a8ba425
--- /dev/null
+++ b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.js
@@ -0,0 +1,19 @@
+printBill = function(){
+ var data = view.get("#dsMain.data:#");
+ if(!data) return;
+
+ view.get("#ajaxQualityPrint").set("parameter",data).execute(function(result){
+ printQualityBill(result);
+ });
+};
+/**
+ * 鎵撳嵃璐ㄦ鍗�
+ */
+printQualityBill = function(htmlStr) {
+ var LODOP = CLODOP;
+ LODOP.PRINT_INIT("璐ㄦ鎶ュ憡");
+ LODOP.SET_PRINT_PAGESIZE(1,2100,1400, "A4");
+ //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4");
+ LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
+ LODOP.PREVIEW();
+};
\ No newline at end of file
diff --git a/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml
index 647835a..611f58f 100644
--- a/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml
+++ b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml
@@ -69,7 +69,7 @@
</PropertyDef>
<PropertyDef name="time">
<Property name="label">妫�楠屾椂闂�</Property>
- <Property name="dataType">Date</Property>
+ <Property name="dataType">DateTime</Property>
<Property name="required">true</Property>
</PropertyDef>
<PropertyDef name="result">
@@ -168,6 +168,7 @@
<PropertyDef name="ypbh">
<Property></Property>
<Property name="label">鏍峰搧缂栧彿</Property>
+ <Property name="required">true</Property>
</PropertyDef>
<PropertyDef name="updateTime">
<Property name="dataType">Date</Property>
@@ -176,6 +177,46 @@
<PropertyDef name="spaqzbsfhg">
<Property></Property>
<Property name="label">椋熷搧鏄惁鍚堟牸</Property>
+ <Property name="mapping">
+ <Property name="keyProperty">code</Property>
+ <Property name="valueProperty">name</Property>
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">0-涓嶅悎鏍�</Property>
+ <Property name="code">0</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">1-鍚堟牸</Property>
+ <Property name="code">1</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ </Property>
+ <Property name="required">true</Property>
+ </PropertyDef>
+ <PropertyDef name="reportType">
+ <Property name="label">鎶ュ憡绫诲瀷</Property>
+ <Property name="mapping">
+ <Property name="keyProperty">code</Property>
+ <Property name="valueProperty">name</Property>
+ <Property name="mapValues">
+ <Collection>
+ <Entity>
+ <Property name="name">1-鍗曚綅妫�楠�</Property>
+ <Property name="code">1</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">2-鏁翠綋妫�楠�(鍔犳潈骞冲潎)</Property>
+ <Property name="code">2</Property>
+ </Entity>
+ <Entity>
+ <Property name="name">3-鍏朵粬</Property>
+ <Property name="code">3</Property>
+ </Entity>
+ </Collection>
+ </Property>
+ </Property>
</PropertyDef>
<Reference name="checkItems">
<Property name="dataProvider">checkStandardPR#listCheckItemsByParam</Property>
@@ -188,6 +229,20 @@
</Entity>
</Property>
</Reference>
+ <PropertyDef name="fileId">
+ <Property></Property>
+ <Property name="label">闄勪欢id</Property>
+ </PropertyDef>
+ <PropertyDef name="fileName">
+ <Property></Property>
+ <Property name="label">闄勪欢鍚嶇О</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
+ <PropertyDef name="fileTime">
+ <Property name="dataType">DateTime</Property>
+ <Property name="label">闄勪欢涓婁紶鏃堕棿</Property>
+ <Property name="readOnly">true</Property>
+ </PropertyDef>
</DataType>
<DataType name="dtQualityParam">
<PropertyDef name="depotId">
@@ -250,7 +305,7 @@
<Property name="label">妫�娴嬪��</Property>
</PropertyDef>
<PropertyDef name="remarks">
- <Property name="label">鍖栭獙缁撴灉</Property>
+ <Property name="label">澶囨敞</Property>
</PropertyDef>
<PropertyDef name="operaSymbolValue">
<Property></Property>
@@ -454,10 +509,9 @@
view.get("#ajaxGetDepot").set("parameter",depotId).execute(function(result){
if(result){
var data = view.get("#dsMain.data:#");
- data.set("foodLocation",result.foodLocation);
data.set("foodLevel",result.foodLevel);
data.set("foodVariety",result.foodVariety);
- data.set("foodType",result.foodType);
+ data.set("storeDate",result.storeDate);
}
});
};
@@ -469,8 +523,29 @@
data.set("checkItems",result);
}
}); 
-}; </ClientEvent>
+};
+/**
+ * 棰勮PDF鏂囦欢
+ */
+showFilePdf = function(){
+ var cur = view.get("#dsMain.data:#");
+ var fileName = cur.get("fileId");
+ var fileTime = new Date(cur.get("fileTime")).formatDate("y-m-d H:i:s");
+ if(!fileName){
+ $alert("娌℃湁鑾峰彇鍒版枃浠跺悕绉帮紝鏃犳硶棰勮銆�");
+ return;
+ }
+ if(!cur.get("fileTime")){
+ $alert("娌℃湁鑾峰彇鍒伴檮浠朵笂浼犳椂闂达紝鏃犳硶璁块棶銆�");
+ return;
+ }
+ 
+ var url = "./basic/file/show-pdf?fileName="+fileName+"&fileTime="+fileTime+"&filePathType=common";
+ 
+ window.open(url, "_blank");
+};</ClientEvent>
<Property name="packages">font-awesome,css-common</Property>
+ <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
<DataSet id="dsMain">
<Property name="loadMode">lazy</Property>
<Property name="dataProvider">qualityManagerPR#listQuality</Property>
@@ -534,9 +609,9 @@
</Button>
<Button layoutConstraint="left">
<ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
- if(data){
- view.get("#dialogMain").show();
- }
+if(data){
+ view.get("#dialogMain").show();
+}
</ClientEvent>
<Property name="caption">淇敼</Property>
<Property name="exClassName">btn-warm</Property>
@@ -564,8 +639,25 @@
<ClientEvent name="onClick">view.get("#dsMain").flushAsync();
</ClientEvent>
<Property name="caption">鍒锋柊</Property>
- <Property name="exClassName">btn-default</Property>
- <Property name="iconClass">fa fa-refresh</Property>
+ <Property name="exClassName">btn-warm</Property>
+ <Property name="iconClass">fa fa-print</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">showFilePdf();</ClientEvent>
+ <Property name="exClassName">btn-normal</Property>
+ <Property name="caption">鏌ョ湅璐ㄦ闄勪欢</Property>
+ <Property name="iconClass">fa fa-picture-o</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
+if (!data) {
+ $alert("璇峰厛閫夋嫨鏁版嵁锛�");
+ return;
+}
+printBill();</ClientEvent>
+ <Property name="caption">鎵撳嵃璐ㄦ鎶ュ憡</Property>
+ <Property name="exClassName">btn-warm</Property>
+ <Property name="iconClass">fa fa-print</Property>
</Button>
</Container>
<Container layout="regionPadding:10" layoutConstraint="center">
@@ -599,8 +691,7 @@
<Container layout="hbox regionPadding:15">
<Button layoutConstraint="left">
<ClientEvent name="onClick">var param = view.get("#dsParam.data");
- view.get("#dsMain").set("parameter",param.toJSON()).flushAsync();
- </ClientEvent>
+view.get("#dsMain").set("parameter",param.toJSON()).flushAsync(); </ClientEvent>
<Property name="caption">鏌ヨ</Property>
<Property name="exClassName">btn-default</Property>
<Property name="iconClass">fa fa-refresh</Property>
@@ -696,14 +787,13 @@
<Buttons>
<Button>
<ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
- if(data.validate() != 'ok'){
- $notify("鏁版嵁鏍¢獙澶辫触锛侊紒");
- return;
- }
- view.get("#uaAction").set("parameter",data).execute(function(){
- self.get("parent").hide();
- });
- </ClientEvent>
+if(data.validate() != 'ok'){
+ $notify("鏁版嵁鏍¢獙澶辫触锛侊紒");
+ return;
+ }
+ view.get("#uaAction").set("parameter",data).execute(function(){
+ self.get("parent").hide();
+}); </ClientEvent>
<Property name="caption">淇濆瓨</Property>
<Property name="iconClass">fa fa-check</Property>
<Property name="exClassName">btn-normal</Property>
@@ -727,7 +817,7 @@
<Property name="readOnly">false</Property>
<Property name="labelSeparator">:</Property>
<Property name="labelAlign">right</Property>
- <Property name="cols">*,*,*</Property>
+ <Property name="cols">*,*,*,*</Property>
<Property name="labelWidth">120</Property>
<AutoFormElement>
<Property name="name">depotId</Property>
@@ -807,6 +897,11 @@
<Editor/>
</AutoFormElement>
<AutoFormElement layoutConstraint="colSpan:1">
+ <Property name="name">storeDate</Property>
+ <Property name="property">storeDate</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:1">
<Property name="name">result</Property>
<Property name="property">result</Property>
<Editor>
@@ -817,7 +912,7 @@
</TagEditor>
</Editor>
</AutoFormElement>
- <Label layoutConstraint="colSpan:2">
+ <Label layoutConstraint="colSpan:3">
<Property name="text">璇存槑锛氬椤规寚鏍囨椂鎸夌収1:璐ㄩ噺鎸囨爣妫�楠�(杈炬爣,涓嶈揪鏍�)銆�2:鍌ㄥ瓨鍝佽川妫�楠�(瀹滃瓨,涓嶅疁瀛�)銆�3:椋熷搧瀹夊叏妫�楠�(鍚堟牸,涓嶅悎鏍�)杩欎釜椤哄簭濉啓妫�楠岀粨璁�</Property>
<Property name="style">
<Property name="color">blue</Property>
@@ -865,11 +960,43 @@
<Property name="property">spaqzbsfhg</Property>
<Editor/>
</AutoFormElement>
- <AutoFormElement layoutConstraint="colSpan:3">
+ <AutoFormElement layoutConstraint="colSpan:2">
<Property name="name">remark</Property>
<Property name="property">remark</Property>
<Editor/>
</AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">reportType</Property>
+ <Property name="property">reportType</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">fileName</Property>
+ <Property name="property">fileName</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">fileTime</Property>
+ <Property name="property">fileTime</Property>
+ <Editor/>
+ </AutoFormElement>
+ <Container>
+ <Button layoutConstraint="left">
+ <Property name="action">uploadFile</Property>
+ <Property name="caption">闄勪欢涓婁紶...</Property>
+ <Property name="exClassName">btn-default</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ </Button>
+ <Label layoutConstraint="left">
+ <Property name="width">10px</Property>
+ </Label>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">showFilePdf();</ClientEvent>
+ <Property name="exClassName">btn-normal</Property>
+ <Property name="caption">棰勮</Property>
+ <Property name="iconClass">fa fa-picture-o</Property>
+ </Button>
+ </Container>
</AutoForm>
</Children>
</FieldSet>
@@ -935,33 +1062,6 @@
<Property name="align">center</Property>
<Property name="readOnly">true</Property>
</DataColumn>
- <DataColumn name="operaSymbolValue">
- <Property name="property">operaSymbolValue</Property>
- <Property name="align">center</Property>
- <Property name="caption">鏍囧噯鍊�</Property>
- <Property name="readOnly">true</Property>
- </DataColumn>
- <DataColumn name="deNum">
- <Property name="property">deNum</Property>
- <Property name="align">center</Property>
- </DataColumn>
- <DataColumn name="addNum">
- <Property name="property">addNum</Property>
- <Property name="align">center</Property>
- </DataColumn>
- <DataColumn name="dePrice">
- <Property name="property">dePrice</Property>
- <Property name="align">center</Property>
- </DataColumn>
- <DataColumn name="addPrice">
- <Property name="property">addPrice</Property>
- <Property name="align">center</Property>
- </DataColumn>
- <DataColumn name="result">
- <Property name="property">result</Property>
- <Property name="align">center</Property>
- <Property name="readOnly">true</Property>
- </DataColumn>
<DataColumn name="remarks">
<Property name="property">remarks</Property>
<Property name="align">center</Property>
@@ -1007,7 +1107,7 @@
</TextEditor>
<Button>
<ClientEvent name="onClick">var key = view.get("#key2.value");
- view.get("#dsFoodOrigin").set("parameter",{key:key}).flushAsync();
+view.get("#dsFoodOrigin").set("parameter",{key:key}).flushAsync();
</ClientEvent>
<Property name="caption">鏌ヨ</Property>
<Property name="iconClass">fa fa-search</Property>
@@ -1064,5 +1164,26 @@
<Property name="property">cname</Property>
<Property name="assignmentMap">user=cname</Property>
</DataSetDropDown>
+ <AjaxAction id="ajaxQualityPrint">
+ <Property name="service">qualityManagerPR#printQualityBill</Property>
+ <Property name="executingMessage">姝e湪鎵ц鎵撳嵃鈥︹��</Property>
+ </AjaxAction>
+ <UploadAction id="uploadFile">
+ <ClientEvent name="onFileUploaded">var fileId = arg.returnValue;
+ if(fileId==("10")){
+ $alert("涓婁紶澶辫触锛氶檮浠跺悕绉颁负绌恒��");
+ return;
+ }
+ if(fileId==("20")){
+ $alert("涓婁紶澶辫触锛氶檮浠朵笉鏄痯df鏂囦欢銆�");
+ return;
+ }
+var data = view.get("#dsMain.data:#");
+data.set("fileId",fileId);
+data.set("fileName",arg.file.name);
+data.set("fileTime",new Date);</ClientEvent>
+ <Property name="fileResolver">myUploadProcessor#uploadCommonFile</Property>
+ <Filters/>
+ </UploadAction>
</View>
</ViewConfig>
diff --git a/igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java b/igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java
index 63588b7..903c971 100644
--- a/igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java
+++ b/igds-core/src/main/java/com/ld/igds/m/view/QualityManagerPR.java
@@ -5,10 +5,13 @@
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.check.CheckStandardManager;
-import com.ld.igds.m.ManageUtil;
+import com.ld.igds.check.dto.CheckItemData;
+import com.ld.igds.m.ReportManage;
import com.ld.igds.m.service.HQualityManageService;
+import com.ld.igds.models.Depot;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.MQuality;
+import com.ld.igds.view.service.HDepotService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -29,6 +32,10 @@
private HQualityManageService qualityManageService;
@Autowired
private CheckStandardManager checkStandardManager;
+ @Autowired
+ private ReportManage reportManage;
+ @Autowired
+ private HDepotService depotService;
/**
* 妫�楠岀被鍒�
@@ -37,14 +44,6 @@
*
* @return
*/
-// @DataProvider
-// public List<DicTrigger> triggerType() {
-// List<DicTrigger> list = new ArrayList<DicTrigger>();
-// list.add(new DicTrigger("01", "婊′粨鍒濇"));
-// list.add(new DicTrigger("02", "鍑轰粨妫�楠�"));
-// list.add(new DicTrigger("03", "鏈堝害鏅"));
-// return list;
-// }
@DataProvider
public List<DicTrigger> triggerType() {
List<DicTrigger> list = new ArrayList<DicTrigger>();
@@ -116,15 +115,39 @@
*/
@DataResolver
public void saveQuality(MQuality data) {
- String id = "";
if (StringUtils.isEmpty(data.getId())) {
- id = ManageUtil.createQualityId(data.getType(), data.getTime());
+ data.setId( "ZJ_" + qualityManageService.getIdByTime(data.getTime()));
}
- qualityManageService.saveQuality(id, data);
+ try {
+ qualityManageService.saveQuality(data.getId(), data);
+ //淇濆瓨璐т綅璐ㄦ鏁版嵁
+ Depot depot = depotService.getDepotById(data.getCompanyId(), data.getDepotId());
+ depot.setCheckDate(data.getTime());
- //淇濆瓨妫�娴嬬殑鍖栭獙椤逛俊鎭�
- if (null != data.getCheckItems()) {
- checkStandardManager.updateCheckItems(id, null, data.getCheckItems());
+ //淇濆瓨妫�娴嬬殑鍖栭獙椤逛俊鎭�
+ if (null != data.getCheckItems()) {
+ checkStandardManager.updateCheckItems(data.getId(), null, data.getCheckItems());
+ List<CheckItemData> checkItems = data.getCheckItems();
+
+ for (CheckItemData checkItem : checkItems) {
+ if("C01".equals(checkItem.getStandardId())){
+ String value = checkItem.getValue();
+ depot.setPerWet(Double.valueOf(value));
+ }
+ if("C02".equals(checkItem.getStandardId())){
+ String value = checkItem.getValue();
+ depot.setPerImpurity(Double.valueOf(value));
+ }
+ if("C03".equals(checkItem.getStandardId())){
+ String value = checkItem.getValue();
+ depot.setBulkWeight(Double.valueOf(value));
+ }
+ }
+ }
+
+ depotService.updateDepot(depot);
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
@@ -139,4 +162,29 @@
return qualityManageService.delQuality(data);
}
+ /**
+ * qualityManagerPR#getPer
+ *
+ * @param checkId
+ * @return
+ */
+ @Expose
+ public CheckItemData getPer(String checkId) {
+ return qualityManageService.getCheckItem(checkId);
+ }
+
+ /**
+ * qualityManagerPR#printQualityBill 鎵撳嵃璐ㄦ鎶ュ憡鍗�
+ *
+ * @param data
+ * @return
+ */
+ @Expose
+ public String printQualityBill(MQuality data) {
+ if (StringUtils.isEmpty(data.getFoodVariety())) {
+ return "绮儏鍝佺涓虹┖锛屼笉鏀寔鎵撳嵃锛�";
+ }
+ return reportManage.printQualityBill(data);
+ }
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/models/MQuality.java b/igds-core/src/main/java/com/ld/igds/models/MQuality.java
index 49176be..9cf9038 100644
--- a/igds-core/src/main/java/com/ld/igds/models/MQuality.java
+++ b/igds-core/src/main/java/com/ld/igds/models/MQuality.java
@@ -152,4 +152,19 @@
@Transient
private List<CheckItemData> checkItems;
+ /**
+ * --------闄勪欢--------
+ **/
+ @Column(name = "FILE_ID_", length = 30)
+ @PropertyDef(label = "闄勪欢id")
+ private String fileId;
+
+ @Column(name = "FILE_NAME_", length = 50)
+ @PropertyDef(label = "闄勪欢鍚嶇О")
+ private String fileName;
+
+ @Column(name = "FILE_TIME_")
+ @PropertyDef(label = "闄勪欢涓婁紶鏃堕棿")
+ private Date fileTime;
+
}
diff --git a/igds-core/src/main/java/com/ld/igds/view/service/HDepotStoreService.java b/igds-core/src/main/java/com/ld/igds/view/service/HDepotStoreService.java
index bf55d3a..6df9589 100644
--- a/igds-core/src/main/java/com/ld/igds/view/service/HDepotStoreService.java
+++ b/igds-core/src/main/java/com/ld/igds/view/service/HDepotStoreService.java
@@ -11,6 +11,7 @@
import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
@Component
@@ -93,4 +94,25 @@
}
return null;
}
+
+ public DepotStore getLastData(String depotId, Date time) {
+
+ StringBuilder hql = new StringBuilder();
+ hql.append(" from " + DepotStore.class.getName() + " where depotId = :depotId ");
+
+ Map<String, Object> args = new HashMap<>();
+ args.put("depotId", depotId);
+
+ if (null != time) {
+ hql.append(" and createDate <=:createDate");
+ args.put("createDate", time);
+ }
+ hql.append(" order by createDate desc");
+
+ List<DepotStore> list = this.query(hql.toString(), args);
+ if (null == list || list.isEmpty()) {
+ return null;
+ }
+ return list.get(0);
+ }
}
diff --git a/igds-core/src/main/resources/mapper/CheckStandardMapper.xml b/igds-core/src/main/resources/mapper/CheckStandardMapper.xml
index 6e33d17..df0d176 100644
--- a/igds-core/src/main/resources/mapper/CheckStandardMapper.xml
+++ b/igds-core/src/main/resources/mapper/CheckStandardMapper.xml
@@ -153,5 +153,16 @@
AND FOOD_VARIETY_ = #{foodVariety}
ORDER by STANDARD_ID_ + 0
</select>
+ <select id="getCheckItemByParam" resultType="com.ld.igds.check.dto.CheckItemData">
+ select
+ VALUE_ as value
+ from
+ D_CHECK_ITEM
+ <where>
+ <if test="data.companyId != null and data.companyId != '' ">COMPANY_ID_= #{data.companyId}</if>
+ <if test="data.checkId != null and data.checkId != '' ">AND CHECK_ID_ = #{data.checkId}</if>
+ <if test="data.standardId != null and data.standardId != '' ">AND STANDARD_ID_ = #{data.standardId}</if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3