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