From 2fef20fe45a1fc901b51243bcc60682524447990 Mon Sep 17 00:00:00 2001 From: shicf <shi_chongfu@163.com> Date: 星期五, 23 八月 2024 18:55:41 +0800 Subject: [PATCH] Merge branch '2.0.0-release' of http://nonxin.cn:8090/r/product/product-server/V2.0.0 --- product-server-device/src/main/java/com/product/device/service/DeviceMainenanceService.java | 279 ++++++++++- product-server-device/src/main/java/com/product/device/service/QuickResponseService.java | 12 .idea/vcs.xml | 1 product-server-device/src/main/java/com/product/device/service/CommonInspectionService.java | 284 ++++++++++++ product-server-device/src/main/java/com/product/device/config/DeviceCode.java | 162 ++++++ product-server-device/src/main/java/com/product/device/config/DeviceConst.java | 167 +++++++ product-server-device/src/main/java/com/product/device/service/DeviceManagerService.java | 44 - product-server-device/pom.xml | 6 product-server-device/src/main/java/com/product/device/controller/CommonInspectionController.java | 193 ++++++-- product-server-device/src/main/java/com/product/device/controller/DeviceMaintenanceController.java | 133 ++++- 10 files changed, 1,096 insertions(+), 185 deletions(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index f9d89d8..9f4a03f 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -13,6 +13,7 @@ <mapping directory="$PROJECT_DIR$/product-server-data-export-import" vcs="Git" /> <mapping directory="$PROJECT_DIR$/product-server-data-sync" vcs="Git" /> <mapping directory="$PROJECT_DIR$/product-server-datasource" vcs="Git" /> + <mapping directory="$PROJECT_DIR$/product-server-device" vcs="Git" /> <mapping directory="$PROJECT_DIR$/product-server-email" vcs="Git" /> <mapping directory="$PROJECT_DIR$/product-server-file" vcs="Git" /> <mapping directory="$PROJECT_DIR$/product-server-lucene" vcs="Git" /> diff --git a/product-server-device/pom.xml b/product-server-device/pom.xml index 527d70f..45b5ad7 100644 --- a/product-server-device/pom.xml +++ b/product-server-device/pom.xml @@ -19,6 +19,10 @@ </dependency> <dependency> <groupId>com.lx</groupId> + <artifactId>product-server-org-admin</artifactId> + </dependency> + <dependency> + <groupId>com.lx</groupId> <artifactId>product-server-util</artifactId> </dependency> <dependency> @@ -33,8 +37,8 @@ <dependency> <groupId>com.lx</groupId> <artifactId>product-server-task</artifactId> - <version>2.1.0-release</version> </dependency> </dependencies> + </project> diff --git a/product-server-device/src/main/java/com/product/device/config/DeviceCode.java b/product-server-device/src/main/java/com/product/device/config/DeviceCode.java index b9a80d5..fd9f9a8 100644 --- a/product-server-device/src/main/java/com/product/device/config/DeviceCode.java +++ b/product-server-device/src/main/java/com/product/device/config/DeviceCode.java @@ -1,7 +1,12 @@ package com.product.device.config; +import java.text.DecimalFormat; +import java.text.Format; + import com.product.common.enums.IEnum; import com.product.common.enums.ModuleEnum; +import com.product.core.config.Global; +import com.product.util.BaseUtil; /** * Copyright 漏 2019. @@ -14,25 +19,160 @@ */ public enum DeviceCode implements IEnum { - SYSTEM_OPERATION_SUCCESS("鎴愬姛", "200"), - SYSTEM_FORM_NODATA("璇锋眰鍙傛暟涓虹┖", ModuleEnum.DEVICE.getValue() + "001"), - DEVICE_CREATE_INSPECTION_ERROR("鍒涘缓璁惧鐐规閿欒", ModuleEnum.DEVICE.getValue() + "002"), - DEVICE_CREATE_FAILURE_ERROR("鍒涘缓璁惧鏁呴殰閿欒", ModuleEnum.DEVICE.getValue() + "003"), - ; - - private String text; - private String value; + SYSTEM_OPERATION_SUCCESS("鎴愬姛", 200), + SYSTEM_FORM_NODATA("璇锋眰鍙傛暟涓虹┖", 999), + SYSTEM_FORM_COUNT("璇锋眰鍙傛暟鏈夎", 998), + SYSTEM_TABLE_NODATA("璇锋眰琛ㄥ悕鏈夎", 997), + SYSTEM_CPAGES_NOT_NULL("鍒嗛〉鍙傛暟涓嶈兘涓虹┖", 996), + SYSTEM_LOGIN_USER_FAIL("鑾峰彇褰撳墠鐧诲綍浜哄け璐�", 995), - private DeviceCode(String text, String value) { + + COMMON_GET_WAREHOUSE_KEEPER_FAIL("鑾峰彇搴撶鍛樺け璐�", 1), + COMMON_UNKNOWN_ERROR("鏈煡寮傚父", 2), + COMMON_DATA_ERROR("鏁版嵁寮傚父", 3), + + ARCHIVES_SAVE_FAIL("璁惧妗f淇濆瓨", 4), + ARCHIVES_DELETE_FAIL("璁惧妗f鍒犻櫎", 5), + + DEVICE_CREATE_INSPECTION_ERROR("鍒涘缓璁惧鐐规閿欒", 4), + DEL_PRINT_CONFIG_DATA_FAIL("鍒犻櫎閰嶇疆鏁版嵁澶辫触", 6), + DEVICE_ARCHIVES_OPERATE_FAIL("鐢垫妗f鎿嶄綔澶辫触锛�", 7), + SAVE_PATROL_CONFIG_ERROR("鐢垫璁惧宸℃椤圭洰鎿嶄綔澶辫触", 8), + DEVICE_MAINTENANCE_REVIEW_FAIL("璁惧缁翠繚澶嶆牳澶辫触", 9), + DEVICE_MAINTENANCE_YEAR_FAIL("鑾峰彇缁翠繚鍗曚綅骞村害缁翠繚缁熻澶辫触", 10), + DEVICE_MAINTENANCE_YEAR_FINISH_FAIL("鑾峰彇缁翠繚鍗曚綅骞村害缁翠繚浠诲姟瀹屾垚鎯呭喌澶辫触", 11), + + + //璁惧鐐规 + DEVICE_INSPECTION_ITEM_OPERATE_FAIL("鐐规椤圭洰鎿嶄綔閿欒锛�", 12), + DEVICE_INSPECTION_ITEM_DELETE_FAIL("鐐规椤圭洰鍒犻櫎澶辫触", 13), + DEVICE_INSPECTION_ITEM_HAS_REFERENCED("鐐规椤圭洰宸茶寮曠敤锛屼笉鑳藉垹闄�", 14), + DEVICE_INSPECTION_CONFIG_OPERATE_FIAL("鐐规閰嶇疆鎿嶄綔閿欒锛�", 15), + DEVICE_INSPECTION_CONFIG_SAVE_FIAL("鐐规閰嶇疆淇濆瓨閿欒", 16), + DEVICE_INSPECTION_RECORD_OPERATE_FIAL("鐐规璁板綍鎿嶄綔閿欒锛�", 17), + DEVICE_INSPECTION_RECORD_SAVEE_FIAL("鐐规璁板綍淇濆瓨澶辫触", 18), + + //璁惧淇濆吇 + DEVICE_MAINTENANCE_CONTENT_OPERATE_FAIL("淇濆吇椤圭洰鎿嶄綔閿欒锛�", 19), + DEVICE_MAINTENANCE_CONTENT_DEL_FAIL("淇濆吇鍐呭鍒犻櫎澶辫触", 20), + DEVICE_MAINTENANCE_CONTENT_HAS_REFERENCED("淇濆吇鍐呭宸茶寮曠敤锛屼笉鑳藉垹闄�", 21), + DEVICE_MAINTENANCE_CONFIG_OPERATE_FAIL("淇濆吇閰嶇疆鎿嶄綔閿欒锛�", 22), + DEVICE_MAINTENANCE_CONFIG_SAVE_FAIL("淇濆吇閰嶇疆淇濆瓨澶辫触", 23), + DEVICE_MAINTENANCE_PLAN_OPERATE_FAIL("淇濆吇璁″垝鎿嶄綔閿欒锛�", 24), + DEVICE_MAINTENANCE_PLAN_SAVE_FAIL("淇濆吇璁″垝淇濆瓨澶辫触", 25), + DEVICE_MAINTENANCE_PLAN_HAS_BEGIN("淇濆吇璁″垝宸茬粡寮�濮�", 26), + DEVICE_MAINTENANCE_PLAN_HAS_COMMON_PLAN("鍚屽勾搴﹀悓淇濆吇绫诲瀷璁″垝宸茬粡鍒涘缓", 27), + DEVICE_MAINTENANCE_PLAN_HAS_NO_CONFIG("娌℃湁閰嶇疆瀵瑰簲绫诲瀷鐨勪繚鍏昏澶�", 28), + DEVICE_MAINTENANCE_RECORD_OPERATE_FAIL("淇濆吇璁板綍鎿嶄綔閿欒锛�", 29), + DEVICE_MAINTENANCE_TAK_COMPLETE_FAIL("淇濆吇浠诲姟瀹屾垚澶辫触", 30), + + //璁惧浠诲姟 + DEVICE_TASK_TYPE_NO_EXIST("浠诲姟绫诲瀷鏁版嵁涓嶅瓨鍦�", 31), + DEVICE_TASK_DATA_NO_EXIST("璁惧浠诲姟鏁版嵁涓嶅瓨鍦�", 32), + DEVICE_TASK_CREATE_FAIL_PARAM_ERROR("鍙傛暟寮傚父锛屽彂璧蜂换鍔″け璐ワ紝", 33), + DEVICE_TASK_COMPLETE_FAIL_TASK_NO_EXIST("浠诲姟瀹屾垚澶辫触锛屼换鍔℃暟鎹笉瀛樺湪锛�", 34), + DEVICE_TASK_COMPLETE_FAIL_TASK_OWNER_MISMATCH("褰撳墠鍔炵悊浜轰笌涓茶浠诲姟鑺傜偣鍔炵悊浜轰笉鍖归厤", 35), + DEVICE_TASK_HAS_FINISH("浠诲姟宸茬粡缁撴潫锛屾棤闇�鍐嶆鍔炵悊", 36), + DEVICE_TASK_WAREHOUSE_KEPPER_NO_EXIST("搴撶鍛樹笉瀛樺湪", 37), + + //澶囦欢妗f + SPARE_PART_ARCHIVE_OPERATE_FIAL("澶囦欢妗f鎿嶄綔閿欒锛�", 38), + SPARE_PART_ARCHIVE_DELETE_FIAL("澶囦欢妗f鍒犻櫎澶辫触", 39), + SPARE_PART_ARCHIVE_DELETE_FIAL_DATA_REFERENCED("澶囦欢妗f鍒犻櫎澶辫触,鏁版嵁宸茶寮曠敤", 40), + SPARE_PART_ARCHIVE_NEED_BAECODE_UNIT("闇�瑕佹寚瀹氫笖浠呰兘鎸囧畾涓�涓崟浣嶄负鏉$爜鍗曚綅锛岃鑱旂郴绠$悊鍛樺湪澶囦欢妗f杩涜璁剧疆锛�", 41), + SPARE_PART_ARCHIVE_GET_BASE_UNIT_FAIL("鍩烘湰鍗曚綅鑾峰彇澶辫触", 42), + + //澶囦欢閲囪喘鐢宠 + SPARE_PART_PURCHASE_APPLY_OPERATE_FIAL("澶囦欢閲囪喘鐢宠鎿嶄綔澶辫触锛�", 43), + SPARE_PART_PURCHASE_APPLY_DELETE_FIAL("澶囦欢閲囪喘鐢宠鎿嶄綔澶辫触锛�", 44), + SPARE_PART_PURCHASE_APPLY_DELETE_FIAL_DATA_REFERENCED("澶囦欢妗f鍒犻櫎澶辫触,鏁版嵁宸茶寮曠敤", 45), + SPARE_PART_PURCHASE_APPLY_CONFIRM("璇ラ噰璐敵璇峰崟宸茬粡琚簱绠$‘璁わ紝鏃犳硶鏇存敼锛�", 46), + SPARE_PART_PURCHASE_APPLY_SUB_LIST_FAIL("鏈敓鎴愯鍗曠殑閲囪喘鐢宠鍗曟槑缁嗚幏鍙栧け璐ワ細", 47), + + //澶囦欢閲囪喘璁㈠崟 + SPARE_PART_PURCHASE_ORDER_OPERATE_FIAL("澶囦欢閲囪喘鐢宠鎿嶄綔澶辫触锛�", 48), + SPARE_PART_PURCHASE_ORDER_PARTIAL_WAREHOUSING("宸插瓨鍦ㄩ儴鍒嗗瓙琛ㄦ暟鎹叆搴擄紝鏃犳硶鍒犻櫎", 49), + SPARE_PART_PURCHASE_ORDER_SELECT_ONE_SUPPLIER_ORDER("鍙兘閫夋嫨涓�瀹朵緵搴斿晢鐨勮鍗�", 50), + + //澶囦欢鍏ュ簱 + SPARE_PART_WAREHOUSE_IN_OPERATE_FIAL("澶囦欢鍏ュ簱鎿嶄綔澶辫触锛�", 51), + SPARE_PART_WAREHOUSE_IN_SAVE_FIAL("澶囦欢鍏ュ簱淇濆瓨澶辫触", 52), + SPARE_PART_WAREHOUSE_IN_SUB_OPERATE_FIAL("澶囦欢閲囪喘鐢宠瀛愯〃鎿嶄綔澶辫触锛�", 53), + + //澶囦欢棰嗙敤 + SPARE_PART_RECEIVE_OPERATE_FAIL("澶囦欢棰嗙敤鎿嶄綔澶辫触锛�", 54), + SPARE_PART_RECEIVE_SUB_LIST_BY_REPAIR_FAIL("缁翠慨澶囦欢棰嗙敤鏄庣粏鑾峰彇澶辫触", 55), + SPARE_PART_RECEIVE_SUB_LIST_BY_MAINTENANCE_FAIL("缁翠慨澶囦欢棰嗙敤鏄庣粏鑾峰彇澶辫触", 56), + SPARE_PART_RECEIVE_SUB_DETAIL_OPERATE_FAIL("澶囦欢棰嗙敤鏄庣粏鎿嶄綔澶辫触锛�", 57), + SPARE_PART_RECEIVE_SUB_SPLIT_OPERATE_FAIL("澶囦欢棰嗙敤鎷嗕欢鎿嶄綔澶辫触锛�", 58), + SPARE_PART_RECEIVE_TASK_HAS_SEND("浠诲姟宸插彂璧锋垨宸茬粨鏉燂紝璇峰嬁閲嶅鍙戣捣浠诲姟", 59), + + //澶囦欢褰掕繕 + SPARE_PART_RETURN_OPERATE_FAIL("澶囦欢褰掕繕鎿嶄綔澶辫触锛�", 60), + SPARE_PART_RETURN_DELETE_FIAL("澶囦欢褰掕繕鍒犻櫎澶辫触", 61), + SPARE_PART_RETURN_DELETE_FIAL_DATA_REFERENCED("澶囦欢褰掕繕鍒犻櫎澶辫触,鏁版嵁宸茶寮曠敤", 62), + + //澶囦欢搴撳瓨 + SPARE_PART_STOCK_OPERATE_FAIL("澶囦欢搴撳瓨鎿嶄綔澶辫触锛�", 63), + SPARE_PART_STOCK_ARCHIVE_PARAM_NO_UPLOAD("澶囦欢妗f鍙傛暟鏈笂浼狅紝鏃犳硶杩涜璁$畻", 64), + SPARE_PART_SROCK_SPECIFY_BARCODE_SPLIT("璇锋寚瀹氫竴涓潯鐮佽繘琛屾媶浠�", 65), + SPARE_PART_SROCK_SPLIT_METHOD_UNREASONABLE("鎷嗕欢鏂瑰紡涓嶅悎鐞嗭紝璇烽噸鏂伴�夋嫨", 66), + SPARE_PART_STOCK_DISABLED_OR_NO_EXIST_UNIT("绂佺敤鎴栬�呮湭褰曞叆鍒扮郴缁熺殑鍗曚綅锛屾棤娉曡繘琛岃绠楋紝鍗曚綅uuid锛�%s", 67), + SPARE_PART_STOCK_CANNOT_GET_ARCHIVE_UNIT("鏈幏鍙栧埌澶囦欢妗fid涓恒��%s銆戠殑鍗曚綅", 68), + + //澶囦欢鎶ュ簾 + SPARE_PART_SCRAPE_OPERATE_FAIL("澶囦欢鎶ュ簾鎿嶄綔澶辫触锛�", 69), + SPARE_PART_SCRAPE_DELETE_FIAL("澶囦欢鎶ュ簾鍒犻櫎澶辫触", 70), + SPARE_PART_SCRAPE_DELETE_FIAL_DATA_REFERENCED("澶囦欢鎶ュ簾鍒犻櫎澶辫触,鏁版嵁宸茶寮曠敤", 71), + + //搴撳瓨鐩樼偣 + SPARE_PART_INVENTORY_OPERATE_FAIL("澶囦欢搴撳瓨鎿嶄綔澶辫触锛�", 72), + SPARE_PART_INVENTORY_PARSE_ERROR("閿欒鐨勫弬鏁帮紝瑙f瀽澶辫触", 73), + + + DEVICE_RECORD_SAVE_FAIL("{&device.name(璁惧)&}鍙拌处淇濆瓨澶辫触", 74), + + DEVICE_RECORD_FIND_FAIL("{&device.name(璁惧)&)鍙拌处璇︽儏鏌ヨ澶辫触", 75), + DEVICE_RECORD_FIND_ALL_FAIL("{&device.name(璁惧)&}鍙拌处鏌ヨ澶辫触", 76), + TASK_FIELDSET_NOT_FIND_ERROR("鏈壘鍒拌澶囦繚鍏讳俊鎭�", 77), + + INSPECTION_PLAN_CONFIG_LIST_FIND_FAIL("璁惧鐐规璁″垝閰嶇疆鏌ヨ澶辫触", 78), + + GET_INSPECTION_PLAN_DETAIL_LIST_FAIL("鑾峰彇鐐规璁″垝鏄庣粏澶辫触", 79), + ; + + private String text; + private int value; + + private DeviceCode(String text, int value) { this.text = text; this.value = value; } public String getText() { - return text; + try { + //浣跨敤姝e垯鍖归厤text涓殑鐗规畩琛ㄨ揪寮忎互{&寮�澶达紝&}缁撳熬锛岃幏鍙栧埌鍏朵腑鐨勫唴瀹� + String regex = "\\{&(.+?)&\\}"; + String result = this.text; + if (this.text.matches(regex)) { + result = this.text.replaceAll(regex, "$1"); + } + String defaultValue = null; + //鎴彇result涓互(寮�澶达紝)缁撳熬鐨勫唴瀹� + if (result.contains("(") && result.contains(")")) { + defaultValue = result.substring(0, result.indexOf("(")); + } + //鍘绘帀result涓� (寮�澶达紝)缁撳熬鐨勫唴瀹� 鍖呭惈鎷彿 + result = result.replaceAll("\\(.*?\\)", ""); + //鑾峰彇绯荤粺閰嶇疆涓殑鍊� + return BaseUtil.ifNull(Global.getSystemConfig(result, defaultValue),text); + } catch (Exception e) { + return text; + } } public String getValue() { - return value; + Format format = new DecimalFormat("000"); + return ModuleEnum.DEVICE.getValue() + format.format(this.value); } } diff --git a/product-server-device/src/main/java/com/product/device/config/DeviceConst.java b/product-server-device/src/main/java/com/product/device/config/DeviceConst.java index 132f99a..9d01f1f 100644 --- a/product-server-device/src/main/java/com/product/device/config/DeviceConst.java +++ b/product-server-device/src/main/java/com/product/device/config/DeviceConst.java @@ -1,5 +1,8 @@ package com.product.device.config; + +import com.product.core.config.CoreConst; + /** * Copyright LX-BASE * @@ -7,15 +10,169 @@ * @Project: LX-BASE-SERVER * @Date: 2020-06-15 11锛�47 * @Author: LiuChao - * @Description: + * @Description: */ -public class DeviceConst { - +public class DeviceConst extends CoreConst { + + //鐗规畩鍙橀噺 + public static final int DEVICE_DATA_SOCKET_PORT=8899; + public static final String STANDARD_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; + public static final String STANDARD_YEAR_FORMAT = "yyyy"; + public static final String CPAGE="cpage"; + public static final String PAGESIZE="pagesize"; + public static final String DAYS="DAYS"; + public static final String WEEKS="WEEKS"; + public static final String MONTHS="MONTHS"; + public static final String TASK_STATUS_START = "0"; + public static final String TASK_STATUS_FINAL = "99"; + + // 浠诲姟绫诲瀷 + public static final String TASK_TYPE_SPOT_CHECK = "0"; + public static final String TASK_TYPE_MAINTENANCE = "1";//淇濆吇浠诲姟 + public static final String TASK_TYPE_REPAIR = "2"; + public static final String TASK_TYPE_IDENTIFY = "3"; + public static final String TASK_TYPE_SPOT_CHECK_REVIEW = "4"; + public static final String TASK_TYPE_MAINTENANCE_REVIEW = "5"; + public static final String TASK_TYPE_REPAIR_REVIEW = "6"; + public static final String TASK_TYPE_DISPATCH = "7"; + public static final String TASK_TYPE_MOLD_RECEIVE = "8"; + public static final String TASK_TYPE_MOLD_RETURN = "9"; + public static final String TASK_TYPE_PURCHASE_APPLY = "10"; + public static final String TASK_TYPE_PURCHASE_INBOUND = "11"; + public static final String TASK_TYPE_COMPONENT_RECEIVE = "12"; + public static final String TASK_TYPE_COMPONENT_RETURN = "13"; + public static final String TASK_TYPE_COMPONENT_SCRAP = "14"; + + // 浠诲姟鏍囬 + public static final String TASK_TITLE_FORMAT_SPOT_CHECK = "璁惧鐐规-%s"; + public static final String TASK_TITLE_FORMAT_MAINTENANCE = "璁惧淇濆吇-%s-%s"; + public static final String TASK_TITLE_FORMAT_REPAIR = "璁惧缁翠慨-%s-%s"; + public static final String TASK_TITLE_FORMAT_IDENTIFY = "璁惧閴村畾-%s"; + public static final String TASK_TITLE_FORMAT_SPOT_CHECK_REVIEW = "璁惧鐐规澶嶆牳-%s"; + public static final String TASK_TITLE_FORMAT_MAINTENANCE_REVIEW = "璁惧淇濆吇澶嶆牳-%s-%s"; + public static final String TASK_TITLE_FORMAT_REPAIR_REVIEW = "璁惧缁翠慨澶嶆牳-%s-%s"; + public static final String TASK_TITLE_FORMAT_DISPATCH = "娲惧崟浠诲姟-%s"; + public static final String TASK_TITLE_FORMAT_MOLD_RECEIVE = "妯″叿棰嗙敤-%s"; + public static final String TASK_TITLE_FORMAT_MOLD_RETURN = "妯″叿褰掕繕-%s"; + public static final String TASK_TITLE_FORMAT_PURCHASE_APPLY = "閲囪喘鐢宠-%s"; + public static final String TASK_TITLE_FORMAT_PURCHASE_INBOUND = "閲囪喘鍏ュ簱-%s"; + public static final String TASK_TITLE_FORMAT_COMPONENT_RECEIVE = "澶囦欢棰嗙敤-%s"; + public static final String TASK_TITLE_FORMAT_COMPONENT_RETURN = "澶囦欢褰掕繕-%s"; + public static final String TASK_TITLE_FORMAT_COMPONENT_SCRAP = "澶囦欢鎶ュ簾-%s"; + + + // 琛ㄥ悕 public static final String TABLE_PRODUCT_DEVICE_TASK="product_device_task"; public static final String TABLE_PRODUCT_DEVICE_ARCHIVE="product_device_archives"; - public static final String TABLE_PRODUCT_INSPECT_CONFIG="product_device_inspection_config"; + public static final String TABLE_PRODUCT_DEVICE_INSPECT_ITEM_CONFIG="product_device_inspection_item_config"; public static final String TABLE_PRODUCT_INSPECT_SETTING="product_device_inspection_setting"; public static final String TABLE_PRODUCT_INSPECT_SETTING_SUB="product_device_inspection_setting_sub"; public static final String TABLE_PRODUCT_REPAIR_FAILURE="product_device_repair_failure_record"; - public static final int DEVICE_DATA_SOCKET_PORT=8899; + public static final String TABLE_PRODUCT_INSPECTION_SETTING="product_device_inspection_setting"; + public static final String TABLE_PRODUCT_MAINTENANCE_SETTING="product_device_maintenance_setting"; + public static final String TABLE_PRODUCT_PATROL_RECORD="product_device_patrol_record"; + public static final String TABLE_PRODUCT_PATROL_SETTING="product_device_patrol_setting"; + public static final String TABLE_PRODUCT_PATROL_RECORD_SUB="product_device_patrol_record_sub"; + public static final String PRODUCT_DEVICE_ARCHIVES = "product_device_archives";// 璁惧绠$悊 + public static final String PRODUCT_DEVICE_INFO="product_device_info"; + public static final String PRODUCT_DEVICE_TASK="product_device_task"; + public static final String PRODUCT_DEVICE_TASK_TYPE="product_device_task_type"; + public static final String PRODUCT_DEVICE_UNIT="product_device_unit"; + public static final String PRODUCT_DEVICE_UNIT_SUB="product_device_unit_sub"; + public static final String PRODUCT_DEVICE_INSPECTION_RECORD="product_device_inspection_record";//璁惧鐐规璁板綍 + public static final String PRODUCT_DEVICE_INSPECTION_RECORD_SUB="product_device_inspection_record_sub";//鐐规璁板綍鏄庣粏 + public static final String PRODUCT_DEVICE_MAINTENANCE_ITEM_CONFIG = "product_device_maintenance_item_config"; + public static final String PRODUCT_DEVICE_MAINTENANCE_ITEM_DETAIL = "product_device_maintenance_item_detail"; + public static final String PRODUCT_DEVICE_MAINTENANCE_PLAN = "product_device_maintenance_plan"; + public static final String PRODUCT_DEVICE_MAINTENANCE_PLAN_SUB = "product_device_maintenance_plan_sub"; + public static final String PRODUCT_DEVICE_MAINTENANCE_PLAN_CHANGE = "product_device_maintenance_plan_change"; + public static final String PRODUCT_DEVICE_MAINTENANCE_PLAN_CHANGE_SUB = "product_device_maintenance_plan_change_sub"; + public static final String PRODUCT_DEVICE_MAINTENANCE_RECORD = "product_device_maintenance_record"; + public static final String PRODUCT_DEVICE_MAINTENANCE_RECORD_SUB = "product_device_maintenance_record_sub"; + public static final String PRODUCT_DEVICE_REPAIR_RECORD = "product_device_repair_record"; + public static final String PRODUCT_DEVICE_SPARE_PART_ARCHIVES = "product_device_spare_part_archives"; //璁惧澶囦欢妗f + public static final String PRODUCT_DEVICE_SPARE_PART_RECEIVE = "product_device_spare_part_receive"; //璁惧澶囦欢棰嗙敤鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_SCRAP = "product_device_spare_part_scrap"; //璁惧澶囦欢鎶ュ簾鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_ARCHIVES_PARAM = "product_device_spare_part_archives_param"; //澶囦欢妗f-鍙傛暟 + public static final String PRODUCT_DEVICE_SPARE_PART_ARCHIVES_UNIT = "product_device_spare_part_archives_unit"; //澶囦欢妗f-鍗曚綅 + public static final String PRODUCT_DEVICE_SPARE_PART_INVENTORY = "product_device_spare_part_inventory"; //鐩樼偣璁板綍 + public static final String PRODUCT_DEVICE_SPARE_PART_INVENTORY_DETAIL = "product_device_spare_part_inventory_detail"; //鐩樼偣璁板綍-鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_INVENTORY_PROFIT = "product_device_spare_part_inventory_profit"; //鐩樼偣璁板綍-鍖垮悕鐩樼泩 + public static final String PRODUCT_DEVICE_SPARE_PART_INVENTORY_PROFIT_DETAIL = "product_device_spare_part_inventory_profit_detail"; //鐩樼偣璁板綍-鍖垮悕鐩樼泩-鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_PURCHASE_APPLY = "product_device_spare_part_purchase_apply"; //閲囪喘鐢宠鍗� + public static final String PRODUCT_DEVICE_SPARE_PART_PURCHASE_APPLY_SUB = "product_device_spare_part_purchase_apply_sub"; //閲囪喘鐢宠鍗�-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_PURCHASE_ORDER = "product_device_spare_part_purchase_order"; //閲囪喘璁㈠崟 + public static final String PRODUCT_DEVICE_SPARE_PART_PURCHASE_ORDER_SUB = "product_device_spare_part_purchase_order_sub"; //閲囪喘璁㈠崟-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_RECEIVE_SUB = "product_device_spare_part_receive_sub"; //棰嗙敤璁板綍-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_RECEIVE_SUB_DETAIL = "product_device_spare_part_receive_sub_detail"; //棰嗙敤璁板綍-瀛愯〃-棰嗙敤鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_RECEIVE_SUB_SPLIT = "product_device_spare_part_receive_sub_split"; //棰嗙敤璁板綍-瀛愯〃-鎷嗕欢鍏ュ簱鏄庣粏 + public static final String PRODUCT_DEVICE_SPARE_PART_RETURN = "product_device_spare_part_return"; //閫�杩樿褰� + public static final String PRODUCT_DEVICE_SPARE_PART_RETURN_SUB = "product_device_spare_part_return_sub"; //閫�杩樿褰�-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_SCRAP_SUB = "product_device_spare_part_scrap_sub"; //鎶ュ簾璁板綍-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_STOCK = "product_device_spare_part_stock"; //搴撳瓨 + public static final String PRODUCT_DEVICE_SPARE_PART_WAREHOUSE_IN = "product_device_spare_part_warehouse_in"; //鍏ュ簱鍗� + public static final String PRODUCT_DEVICE_SPARE_PART_WAREHOUSE_IN_SUB = "product_device_spare_part_warehouse_in_sub"; //鍏ュ簱鍗�-瀛愯〃 + public static final String PRODUCT_DEVICE_SPARE_PART_WAREHOUSE_IN_SUB_DETAIL = "product_device_spare_part_warehouse_in_sub_detail"; //鍏ュ簱鍗�-瀛愯〃-鏄庣粏 + public static final String PRODUCT_DEVICE_INSPECTION_PLAN_SETTING = "product_device_inspection_plan_setting"; //鐐规璁″垝閰嶇疆琛� + public static final String PRODUCT_DEVICE_INSPECTION_SETTING = "product_device_inspection_setting"; //鐐规閰嶇疆琛� + + //瀛楁 + public static final String DEVICE_QR_CODE= "device_qr_code"; + public static final String DEVICE_CODE="device_code"; + public static final String CREATED_BY="created_by"; + public static final String DICT_VALUE="dict_value"; + public static final String DICT_LABEL="dict_label"; + public static final String TYPE="type"; + public static final String NAME="name"; + public static final String YEAR="year"; + public static final String CYCLE="cycle"; + public static final String DEVICE_NUMBER="device_number"; + public static final String TASK_TITLE="task_title"; + public static final String TASK_TYPE="task_type"; + public static final String TASK_HANDLING_RULE="task_handling_rule"; + public static final String TASK_OWNER="task_owner"; + public static final String START_TIME="start_time"; + public static final String END_TIME="end_time"; + public static final String LINK_UUID="link_uuid"; + public static final String WRITE_BACK_UUID="write_back_uuid"; + public static final String MAINTENANCE_PERSONNEL="maintenance_personnel"; + public static final String DEVICE_UUID="device_uuid"; + public static final String DEVICE_NAME="device_name"; + public static final String DEVICE_MANAGER="manager"; + public static final String DEVICE_TYPE="device_type"; + public static final String ELEVATOR_VARIETY="elevator_variety"; + public static final String PLAN_MAINTENANCE_TIME="plan_maintenance_time"; + public static final String MAINTENANCE_USER="maintenance_user"; + public static final String MAINTENANCE_TIME="maintenance_time"; + public static final String TECHNICIAN="technician"; + public static final String PLAN_START_TIME="plan_start_time"; + public static final String PLAN_FINISH_TIME="plan_finish_time"; + public static final String TASK_STATUS="task_status"; + public static final String TABLE_NAME="table_name"; + public static final String ACTUAL_COMPLETION_TIME="actual_completion_time"; + public static final String ACTUAL_COMPLETION_USER="actual_completion_user"; + public static final String RESPONSIBLE_PERSON="responsible_person"; + public static final String IS_FINISH="is_finish"; + public static final String IS_REVOKE="is_revoke"; + public static final String IS_TIMEOUT="is_timeout"; + public static final String IS_ADD_RECORD="is_add_record"; + public static final String TRANSFER_REASON = "transfer_reason"; + public static final String APPLY_REPAIR_USER = "apply_repair_user"; + public static final String APPLY_REPAIR_TIME = "apply_repair_time"; + public static final String PLAN_SUB_UUID = "plan_sub_uuid"; + public static final String ITEM_UUID = "item_uuid"; + public static final String MAINTENANCE_STATUS = "maintenance_status"; + public static final String MAINTENANCE_TYPE = "maintenance_type"; + public static final String SEND_USER = "send_user"; + public static final String MAINTENANCE_CYCLE = "maintenance_cycle"; + public static final String INSPECTION_CYCLE="inspection_cycle"; + public static final String CYCLE_UNIT = "cycle_unit"; + public static final String MAINTENANCE_ITEM = "maintenance_item"; + public static final String INSPECTION_ITEM = "inspection_item"; + public static final String BACK_TYPE = "back_type"; + public static final String REMARK = "remark"; + public static final String CONFIRM_WAY = "confirm_way"; + public static final String AHEAD_NOTICE_DAY = "ahead_notice_day"; + public static final String INSPECT_FINAL_TIME="inspect_final_time"; + public static final String PARENT_KEY= "parent_key"; } diff --git a/product-server-device/src/main/java/com/product/device/controller/CommonInspectionController.java b/product-server-device/src/main/java/com/product/device/controller/CommonInspectionController.java index b56cf2f..1d88962 100644 --- a/product-server-device/src/main/java/com/product/device/controller/CommonInspectionController.java +++ b/product-server-device/src/main/java/com/product/device/controller/CommonInspectionController.java @@ -1,71 +1,168 @@ package com.product.device.controller; - + +import com.product.device.config.DeviceCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import com.alibaba.druid.util.StringUtils; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.spring.context.SpringMVCContextHolder; -import com.product.device.config.DeviceCode; -import com.product.device.config.DeviceConst; import com.product.device.service.CommonInspectionService; -import com.product.device.service.DeviceManagerService; -import com.product.device.service.QuickResponseService; import com.product.module.sys.version.ApiVersion; import java.io.IOException; - /** - * 璁惧鐐规 - */ + +/** + * 璁惧鐐规 + */ @RestController @RequestMapping("/api/device/inspection") -public class CommonInspectionController extends AbstractBaseController { - @Autowired - CommonInspectionService commonInspectionService; +public class CommonInspectionController extends AbstractBaseController { + @Autowired + CommonInspectionService commonInspectionService; - /** - * 鍒涘缓璁惧鐐规 - * @param content - * @param servletResponse - * @throws IOException - */ - @RequestMapping(value = "/init/{version}", method = RequestMethod.POST) + /** + * 璁惧宸℃鏈堝害灞曠ず + * + * @throws IOException + */ + @RequestMapping(value = "/getPatrolMonthlViewy/{version}", method = RequestMethod.POST) @ApiVersion(1) - public String createInspection(HttpServletRequest request) throws IOException { - - try { - FieldSetEntity fse = null; - Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); - if (bean != null) { - RequestParameterEntity reqp = (RequestParameterEntity) bean; - fse = reqp.getFormData(); - } - if (bean == null || fse == null) { - SpringMVCContextHolder.getSystemLogger().error(DeviceCode.SYSTEM_FORM_NODATA); - return this.error(DeviceCode.SYSTEM_FORM_NODATA); - } - if (StringUtils.isEmpty(fse.getString("uuid")) && StringUtils.isEmpty(fse.getString("device_sn")) ) { - SpringMVCContextHolder.getSystemLogger().error(DeviceCode.SYSTEM_FORM_NODATA); - return this.error(DeviceCode.SYSTEM_FORM_NODATA); - } - String result=OK_List(commonInspectionService.createInspection(fse.getString("device_sn"))); - System.out.println(result); - return result; - } catch (BaseException e) { - e.printStackTrace(); - return error(e); - } catch (Exception e) { - e.printStackTrace(); - return error(DeviceCode.DEVICE_CREATE_INSPECTION_ERROR); - } - } + public String getPatrolMonthlViewy(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + String result = OK_List(commonInspectionService.getPatrolMonthlView(fse)); + return result; + } catch (BaseException e) { + e.printStackTrace(); + return error(e); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + /** + * 璁惧鐐规鎴栬�呭贰妫�閰嶇疆淇濆瓨 + * + * @throws IOException + */ + @RequestMapping(value = "/saveSetting/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String saveSetting(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + + boolean succ = commonInspectionService.saveSetting(fse); + if (succ) { + return OK(); + } + SpringMVCContextHolder.getSystemLogger().error(DeviceCode.SAVE_PATROL_CONFIG_ERROR.getValue(), + DeviceCode.SAVE_PATROL_CONFIG_ERROR.getText()); + return this.error(DeviceCode.SAVE_PATROL_CONFIG_ERROR); + } catch (BaseException e) { + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(e); + } catch (Exception e) { + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(DeviceCode.SAVE_PATROL_CONFIG_ERROR); + } + } + + /** + * 璁惧鐐规鎴栬�呭贰妫�澶嶆牳 + * + * @throws IOException + */ + @RequestMapping(value = "/batchReview/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String batchReview(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + + boolean succ = commonInspectionService.batchReview(fse); + if (succ) { + return OK(); + } + SpringMVCContextHolder.getSystemLogger().error(DeviceCode.SAVE_PATROL_CONFIG_ERROR.getValue(), + DeviceCode.SAVE_PATROL_CONFIG_ERROR.getText()); + return error(DeviceCode.SAVE_PATROL_CONFIG_ERROR.getValue(), DeviceCode.SAVE_PATROL_CONFIG_ERROR.getText()); + } catch (BaseException e) { + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(e); + } catch (Exception e) { + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(DeviceCode.SAVE_PATROL_CONFIG_ERROR.getValue(), + DeviceCode.SAVE_PATROL_CONFIG_ERROR.getText()); + } + } + + /** + * 璁惧宸℃閰嶇疆璇︽儏 + * + * @throws IOException + */ + @RequestMapping(value = "/findPatrolSetting/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String findPatrolSetting(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + + String result = OK_List(commonInspectionService.findPatrolSetting()); + return result; + } catch (BaseException e) { + e.printStackTrace(); + return error(e); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } } diff --git a/product-server-device/src/main/java/com/product/device/controller/DeviceMaintenanceController.java b/product-server-device/src/main/java/com/product/device/controller/DeviceMaintenanceController.java index f7c9bb3..9c9db87 100644 --- a/product-server-device/src/main/java/com/product/device/controller/DeviceMaintenanceController.java +++ b/product-server-device/src/main/java/com/product/device/controller/DeviceMaintenanceController.java @@ -1,42 +1,113 @@ package com.product.device.controller; - + +import com.product.core.entity.FieldSetEntity; +import com.product.core.exception.BaseException; +import com.product.device.config.DeviceCode; +import com.product.module.sys.version.ApiVersion; +import com.product.util.BaseUtil; +import com.product.util.support.AbstractBaseController; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import net.bytebuddy.asm.Advice.This; + +import com.product.device.service.DeviceMainenanceService; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import com.alibaba.druid.util.StringUtils; -import com.product.admin.service.idel.ISystemMenusService; -import com.product.core.config.CoreConst; -import com.product.core.controller.support.AbstractBaseController; -import com.product.core.entity.FieldSetEntity; -import com.product.core.entity.RequestParameterEntity; -import com.product.core.exception.BaseException; -import com.product.core.spring.context.SpringMVCContextHolder; -import com.product.device.config.DeviceCode; -import com.product.device.config.DeviceConst; -import com.product.device.service.CommonInspectionService; -import com.product.device.service.DeviceMainenanceService; -import com.product.device.service.DeviceManagerService; -import com.product.device.service.QuickResponseService; -import com.product.device.service.ide.IDeviceMainenanceService; -import com.product.module.sys.version.ApiVersion; - -import java.io.IOException; - /** - * 璁惧缁翠慨 - */ +/** + * 璁惧淇濆吇 + */ @RestController @RequestMapping("/api/device/maintenance") -public class DeviceMaintenanceController extends AbstractBaseController { - @Autowired - DeviceMainenanceService deviceMainenanceService; - - - +public class DeviceMaintenanceController extends AbstractBaseController { + @Autowired + DeviceMainenanceService deviceMainenanceService; + + + @PostMapping("/{version}") + @ApiVersion(1) + public String getMaintainByCurrentYear(HttpServletRequest request) { + try { + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); + return OK_List(deviceMainenanceService.getMaintainByCurrentYear(fse)); + } catch (BaseException e) { + return error(e); + } catch (Exception e) { + return error(DeviceCode.COMMON_DATA_ERROR, e); + } + } + + @PostMapping("/month/{version}") + @ApiVersion(1) + public String getMaintainMonth(HttpServletRequest request) { + try { + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); + return OK_List(deviceMainenanceService.getMaintainMonth(fse)); + } catch (BaseException e) { + return error(e); + } catch (Exception e) { + return error(DeviceCode.COMMON_DATA_ERROR, e); + } + } + + /** + * 澶嶆牳缁翠繚璁板綍 + * + * @param request + * @return + */ + @PostMapping("/review/{version}") + @ApiVersion(1) + public String reviewRecord(HttpServletRequest request) { + try { + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); + if (!deviceMainenanceService.maintenanceReview(fse)) { + //鏇存柊澶辫触 + return error(DeviceCode.DEVICE_MAINTENANCE_REVIEW_FAIL); + } + return OK(); + } catch (BaseException e) { + return error(e); + } catch (Exception e) { + return error(DeviceCode.COMMON_DATA_ERROR, e); + } + } + + /** + * 缁翠繚鍗曚綅骞村害缁翠繚缁熻 + * @param request + * @return + */ + @PostMapping("/year-maintenance/{version}") + @ApiVersion(1) + public String yearMaintenance(HttpServletRequest request) { + try { + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); + return OK_List(deviceMainenanceService.yearMaintenance(fse)); + } catch (BaseException e) { + return error(e); + } catch (Exception e) { + return error(DeviceCode.DEVICE_MAINTENANCE_YEAR_FAIL, e); + } + } + + /** + * 缁翠繚鍗曚綅骞村害缁翠繚浠诲姟瀹屾垚鎯呭喌 + * @param request + * @return + */ + @PostMapping("/year-maintenance-finish/{version}") + @ApiVersion(1) + public String yearMaintenanceFinish(HttpServletRequest request) { + try { + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); + return OK_List(deviceMainenanceService.yearMaintenanceFinish(fse)); + } catch (BaseException e) { + return error(e); + } catch (Exception e) { + return error(DeviceCode.DEVICE_MAINTENANCE_YEAR_FINISH_FAIL, e); + } + } } diff --git a/product-server-device/src/main/java/com/product/device/service/CommonInspectionService.java b/product-server-device/src/main/java/com/product/device/service/CommonInspectionService.java index a892840..135dd44 100644 --- a/product-server-device/src/main/java/com/product/device/service/CommonInspectionService.java +++ b/product-server-device/src/main/java/com/product/device/service/CommonInspectionService.java @@ -1,54 +1,304 @@ package com.product.device.service; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; +import com.product.admin.service.PublicService; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; +import com.product.core.exception.BaseException; import com.product.core.service.support.AbstractBaseService; +import com.product.core.spring.context.SpringMVCContextHolder; +import com.product.core.transfer.Transactional; +import com.product.device.config.DeviceCode; import com.product.device.config.DeviceConst; +import com.product.device.service.idel.IDeviceInspectionService; +import com.product.module.sys.entity.SystemUser; +import com.product.util.BaseUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.thymeleaf.util.StringUtils; /** * 璁惧鐐规 - * @Author + * + * @Author * @Date 2022/3/8 16:33 * @Desc 鍔熻兘鐩稿叧 service */ @Service -public class CommonInspectionService extends AbstractBaseService { +public class CommonInspectionService extends AbstractBaseService implements IDeviceInspectionService { @Autowired public BaseDao baseDao; @Autowired DeviceManagerService deviceManagerService; + @Autowired + PublicService publicService; + @Autowired + DeviceTaskService deviceTaskService; /** * 鑾峰彇璁惧淇℃伅 鍖呮嫭瀛愯澶� - * @param uuid + * * @param device_sn * @return */ public FieldSetEntity createInspection(String device_sn) { - FieldSetEntity dev=deviceManagerService.findDevice(null,device_sn); - baseDao.loadPromptData(dev); - if(dev !=null) { - DataTableEntity dt=baseDao.listTable(DeviceConst.TABLE_PRODUCT_INSPECT_CONFIG," uuid in( select config_uuid from"+DeviceConst.TABLE_PRODUCT_INSPECT_SETTING_SUB+" where main_uuid=(select uuid from "+DeviceConst.TABLE_PRODUCT_INSPECT_SETTING+" where device_type=? )", new String[] {dev.getString("device_type")}); - if(!DataTableEntity.isEmpty(dt)) { - Map <String,DataTableEntity> sub=new HashMap<>(); - sub.put("sub", dt); - dev.setSubData(sub); - dev.addSubDataTable(dt); - } + FieldSetEntity dev = deviceManagerService.findDevice( device_sn); + baseDao.loadPromptData(dev); + if (dev != null) { + DataTableEntity dt = baseDao.listTable(DeviceConst.TABLE_PRODUCT_DEVICE_INSPECT_ITEM_CONFIG, " uuid in( select config_uuid from" + DeviceConst.TABLE_PRODUCT_INSPECT_SETTING_SUB + " where main_uuid=(select uuid from " + DeviceConst.TABLE_PRODUCT_INSPECT_SETTING + " where device_type=? )", new String[]{dev.getString("device_type")}); + if (!DataTableEntity.isEmpty(dt)) { + Map<String, DataTableEntity> sub = new HashMap<>(); + sub.put("sub", dt); + dev.setSubData(sub); + dev.addSubDataTable(dt); + } + } + return dev; + } + + public DataTableEntity getPatrolMonthlView(FieldSetEntity fliter) throws BaseException{ + StringBuffer sb = new StringBuffer(); + ArrayList<String> parme = new ArrayList<>(); + sb.append(" SELECT a.name obName,GROUP_CONCAT( CONCAT(check_time,'&',result) ) check_time FROM("); + sb.append(" SELECT c.name,b.result,DATE_FORMAT( a.check_time, '%d' ) check_time FROM "); + + sb.append(" "+fliter.getTableName()+" a LEFT JOIN "+fliter.getTableName()+"_sub b on a.uuid =b.record_uuid "); + + sb.append(" LEFT JOIN product_device_patrol_config c on b.patrol_uuid=c.uuid where 1=1"); + + + if (!StringUtils.isEmpty(fliter.getString("device_number"))) { + sb.append(" and a.device_number=?"); + parme.add(fliter.getString("device_number")); + } + if (!StringUtils.isEmpty(fliter.getString("patrol_user"))) { + sb.append(" and a.patrol_user=?"); + parme.add(fliter.getString("patrol_user")); + } + if (!StringUtils.isEmpty(fliter.getString("check_time"))) { + sb.append(" and DATE_FORMAT( a.check_time, '%Y-%m' )=?"); + parme.add(fliter.getString("check_time").substring(0, 7)); + } else { + throw new BaseException("0","骞存湀涓嶈兘涓虹┖"); + } + sb.append(" GROUP BY c.name,b.result,DATE_FORMAT( a.check_time, '%d' ) "); + sb.append(") a GROUP BY a.name "); + String[] pArr = parme.toArray(new String[parme.size()]); + DataTableEntity dt = baseDao.listTable(sb.toString(), pArr); + for (int i = 0; i <dt.getRows() ; i++) { + FieldSetEntity fs = dt.getFieldSetEntity(i); + String check_time = fs.getString("check_time"); + if (!StringUtils.isEmpty(check_time)){ + String[] check_time_arr = check_time.split(","); + for (int j = 0; j <check_time_arr.length ; j++) { + String[] v = check_time_arr[j].split("&"); + fs.setValue("m"+v[0],v[1]); + } + + } + } + return dt; + } + + public FieldSetEntity getInspectionSetting(String device_type) { + FieldSetEntity fs = baseDao.getFieldSetByFilter(DeviceConst.TABLE_PRODUCT_INSPECTION_SETTING, " device_type=? ", new String[]{device_type}, false); + return fs; + } + + public DataTableEntity getTreeArchives() { + DataTableEntity dt = baseDao.listTable(DeviceConst.TABLE_PRODUCT_DEVICE_ARCHIVE, new String[]{}); + return dt; + } + + /** + * 淇濇寔璁惧閰嶇疆锛堢偣妫�銆佸贰妫�銆佷繚鍏伙級 + * @param fs + * @return + */ + @Transactional + public boolean saveSetting(FieldSetEntity fs) { + DataTableEntity subTable = fs.getSubDataTable("subTable"); + boolean re = true; + for (int i = 0; i < subTable.getRows(); i++) { + FieldSetEntity sub = subTable.getFieldSetEntity(i); + sub.setTableName(fs.getTableName()); + if (!StringUtils.isEmpty(sub.getString("~type~"))) { + publicService.delete(sub); + continue; + } + sub.setValue("device_number", fs.getString("device_number")); + sub.setValue("cycle", fs.getString("cycle")); + baseDao.executeUpdate("update product_device_maintenance_setting set device_number=? ",new String[] {fs.getString("device_number")}); + + if ("product_device_maintenance_setting".equals(fs.getTableName())){ + sub.setValue("type", fs.getString("type")); + sub.setValue("ahead_notice_day", fs.getString("ahead_notice_day")); + } + if ("product_device_inspection_setting".equals(fs.getTableName())){ + sub.setValue("start_time", fs.getDate("start_time")); + sub.setValue("warn_time", fs.getDate("warn_time")); + } + String uuid = publicService.saveFieldSetEntity(sub); + if (StringUtils.isEmpty(uuid)) { + re = false; + } + } + return re; + } + + @Transactional + public boolean batchReview(FieldSetEntity fs) { + String uuid = fs.getString("uuid"); + if (StringUtils.isEmpty(uuid)) { + return false; + } + String[] split = uuid.split(","); + boolean re = true; + for (int i = 0; i < split.length; i++) { + FieldSetEntity recordFs = new FieldSetEntity(); + recordFs.setTableName(fs.getTableName()); + recordFs.setValue("uuid", split[i]); + recordFs.setValue("check_user", SpringMVCContextHolder.getCurrentUser().getUser_id()); + recordFs.setValue("check_time", new Date()); + String uuids = publicService.saveFieldSetEntity(recordFs); + if (StringUtils.isEmpty(uuids)) { + re = false; + } + + } + return re; + } + + public FieldSetEntity findPatrolSetting() { + DataTableEntity dataTableEntity = baseDao.listTable(DeviceConst.TABLE_PRODUCT_PATROL_SETTING, ""); + FieldSetEntity fs = new FieldSetEntity(); + fs.setTableName(DeviceConst.TABLE_PRODUCT_PATROL_SETTING); + + DataTableEntity dt = new DataTableEntity(); + + for (int i = 0; i < dataTableEntity.getRows(); i++) { + FieldSetEntity sub = dataTableEntity.getFieldSetEntity(i); + FieldSetEntity fsSub = new FieldSetEntity(); + fsSub.setTableName(DeviceConst.TABLE_PRODUCT_PATROL_SETTING); + fsSub.setValue("patrol_config_uuid", sub.getString("patrol_config_uuid")); + fsSub.setValue("remark", sub.getString("remark")); + fsSub.setValue("uuid", sub.getString("uuid")); + dt.addFieldSetEntity(fsSub); + fs.setValue("device_number", sub.getString("device_number")); + fs.setValue("cycle", sub.getString("cycle")); + + } + Map<String, DataTableEntity> sub = new HashMap<>(); + sub.put("subTable", dt); + fs.setSubData(sub); + return fs; + } + public FieldSetEntity findInspectionSetting() { + DataTableEntity dataTableEntity = baseDao.listTable(DeviceConst.TABLE_PRODUCT_INSPECTION_SETTING, ""); + FieldSetEntity fs = new FieldSetEntity(); + fs.setTableName(DeviceConst.TABLE_PRODUCT_INSPECTION_SETTING); + + DataTableEntity dt = new DataTableEntity(); + + for (int i = 0; i < dataTableEntity.getRows(); i++) { + FieldSetEntity sub = dataTableEntity.getFieldSetEntity(i); + FieldSetEntity fsSub = new FieldSetEntity(); + fsSub.setTableName(DeviceConst.TABLE_PRODUCT_INSPECTION_SETTING); + fsSub.setValue("inspection_uuid", sub.getString("inspection_uuid")); + fsSub.setValue("remark", sub.getString("remark")); + fsSub.setValue("uuid", sub.getString("uuid")); + fsSub.setValue("back_type", sub.getString("back_type")); + + dt.addFieldSetEntity(fsSub); + fs.setValue("device_number", sub.getString("device_number")); + fs.setValue("cycle", sub.getString("cycle")); + fs.setValue("start_time", sub.getString("start_time")); + fs.setValue("warn_time", sub.getString("warn_time")); + + } + Map<String, DataTableEntity> sub = new HashMap<>(); + sub.put("subTable", dt); + fs.setSubData(sub); + return fs; + } + /** + * 璁惧鐨勭偣妫�閰嶇疆 + * @param asset_code + * @return + */ + public FieldSetEntity findDeviceSetting(String device_uuid) { + FieldSetEntity device=deviceManagerService.findDevice(device_uuid); + String sql="select c.* from product_device_inspection_setting a join product_device_inspection_setting_sub b on a.uuid=b.main_uuid left join product_device_inspection_item_config c on b.config_uuid=c.uuid and c.is_used=1 where status=1 and a.device_uuid=? "; + DataTableEntity dataTableEntity = baseDao.listTable(sql,new String[] {device_uuid}); + device.addSubDataTable(dataTableEntity); + return device; + } + /** + * 璁惧鐨勭偣妫�璁板綍 + * @param asset_code + * @return + */ + public FieldSetEntity findInspectionRecord(String uuid) { + FieldSetEntity record=baseDao.getFieldSetEntity("product_device_inspection_record", + new String[]{"device_uuid","inspect_user","inspect_final_time","check_user","check_time","is_finish"},uuid, false); + + if(!FieldSetEntity.isEmpty(record)) { + + FieldSetEntity device=deviceManagerService.findDevice(record.getString("device_uuid")); + record.setValue("device_uuid", device.getString("device_name")); + record.setValue("device_uuid_save_value", device.getString("uuid")); + + String sql="select s.*,c.* from product_device_inspection_setting a left join product_device_inspection_item_config c on a.inspection_item=c.uuid and c.is_used=1 left join product_device_inspection_record_sub s on s.inspect_item=c.uuid and record_uuid=? where a.device_uuid=? "; + DataTableEntity dt = baseDao.listTable(sql,new String[] {uuid,record.getString("device_uuid_save_value")}); + record.addSubDataTable(dt); //鐐规椤� +// record.removeSubData("product_device_inspection_record_sub"); } - return dev; + return record; + } + /** + * 淇濆瓨鐐规淇℃伅 + * @param fs + * @return + */ + @Transactional + public String saveInspection(FieldSetEntity fs) throws BaseException{ + if(!FieldSetEntity.isEmpty(fs) ) { + FieldSetEntity rfs=new FieldSetEntity(DeviceConst.PRODUCT_DEVICE_INSPECTION_RECORD); + SystemUser user = SpringMVCContextHolder.getCurrentUser(); + rfs.setValue("org_level_uuid", user.getOrg_level_uuid()); +// rfs.setValue("device_uuid", fs.getValue("device_number")); + rfs.setValue("device_uuid", fs.getValue("uuid")); + rfs.setValue("is_finish", 0); + rfs.setValue("use_dept", user.getOrg_level_uuid()); + rfs.setValue("inspect_user", user.getUser_id()); + rfs.setValue("inspect_final_time",new Date()); +// rfs.setValue("task_uuid", fieldValue); + DataTableEntity dt=fs.getSubDataTable(DeviceConst.PRODUCT_DEVICE_INSPECTION_RECORD_SUB); + if(!DataTableEntity.isEmpty(dt)) { + rfs.addSubDataTable(dt); + if(baseDao.saveFieldSetEntity(rfs)) {//鍒涘缓浠诲姟 + deviceTaskService.automaticCreateTask( + String.format(DeviceConst.TASK_TITLE_FORMAT_SPOT_CHECK, fs.getString(DeviceConst.DEVICE_NAME)) + ,DeviceConst.TASK_TYPE_SPOT_CHECK + ,rfs.getUUID() + ,fs.getString(DeviceConst.DEVICE_MANAGER) + ); + + } + } + return rfs.getUUID(); + } + + return null; } -} + +} \ No newline at end of file diff --git a/product-server-device/src/main/java/com/product/device/service/DeviceMainenanceService.java b/product-server-device/src/main/java/com/product/device/service/DeviceMainenanceService.java index 06c8154..c7b3ba9 100644 --- a/product-server-device/src/main/java/com/product/device/service/DeviceMainenanceService.java +++ b/product-server-device/src/main/java/com/product/device/service/DeviceMainenanceService.java @@ -1,66 +1,265 @@ package com.product.device.service; + +import cn.hutool.core.collection.CollectionUtil; +import com.beust.jcommander.internal.Lists; import com.product.core.config.CoreConst; import com.product.core.dao.BaseDao; +import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; +import com.product.core.exception.BaseException; import com.product.core.service.support.AbstractBaseService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.core.transfer.Transactional; +import com.product.device.config.DeviceCode; import com.product.device.config.DeviceConst; -import com.product.device.service.ide.IDeviceMainenanceService; +import com.product.device.service.idel.IDeviceMainenanceService; import com.product.module.sys.entity.SystemUser; import com.product.task.device.service.DeviceManagerTaskService; - +import com.product.util.BaseUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * 璁惧缁翠慨 - * @Author + * + * @Author * @Date 2022/3/8 16:33 * @Desc 鍔熻兘鐩稿叧 service */ @Service public class DeviceMainenanceService extends AbstractBaseService implements IDeviceMainenanceService { - @Autowired - public BaseDao baseDao; - @Autowired - DeviceManagerService deviceManagerService; - @Autowired - DeviceManagerTaskService deviceManagerTaskService; + @Autowired + public BaseDao baseDao; + @Autowired + DeviceManagerService deviceManagerService; + @Autowired + DeviceManagerTaskService deviceManagerTaskService; - /** - * 鑾峰彇璁惧淇℃伅 鍖呮嫭瀛愯澶� - * @param uuid - * @param device_sn - * @return - */ - @Transactional - public String saveDeviceFailure(FieldSetEntity fs) { - SystemUser currentUser = SpringMVCContextHolder.getCurrentUser(); - if(fs!=null) { - fs.setValue("org_level_uuid", currentUser.getOrg_level_uuid()); - } - fs.setTableName(DeviceConst.TABLE_PRODUCT_REPAIR_FAILURE); - boolean b=baseDao.saveFieldSetEntity(fs); - if(b) { - //淇敼璁惧鐨勭姸鎬佷负鍋滄満缁翠慨 - deviceManagerService.deviceStatusChange(fs.getString("asset_code"), "2"); + /** + * 鑾峰彇璁惧淇℃伅 鍖呮嫭瀛愯澶� + * + * @return + */ + @Transactional + public String saveDeviceFailure(FieldSetEntity fs) { + SystemUser currentUser = SpringMVCContextHolder.getCurrentUser(); + if (fs != null) { + fs.setValue("org_level_uuid", currentUser.getOrg_level_uuid()); + } + fs.setTableName(DeviceConst.TABLE_PRODUCT_REPAIR_FAILURE); + boolean b = baseDao.saveFieldSetEntity(fs); + if (b) { + //淇敼璁惧鐨勭姸鎬佷负鍋滄満缁翠慨 + deviceManagerService.deviceStatusChange(fs.getString("asset_code"), "2"); // //涓婃姤浠诲姟鐢熸垚 // deviceManagerTaskService.createTask(); - //璁惧杩愯璁板綍 - deviceManagerService.appendDeivceManageLog(fs.getString("asset_code"),fs.getString("created_by"),"","璁惧鏁呴殰涓婃姤","product_device_repair_failure_record",fs.getString("uuid")); - } - - return fs.getString(CoreConst.UUID); - } - /** - * 鍒涘缓缁翠慨浠诲姟锛岀涓�娆″彲鑳介�変腑鐨勬槸璋冨害浜猴紝涔熷彲鑳芥槸缁翠慨浜哄憳 - * @param fs - */ - public void createMaintainTask(FieldSetEntity fs) { - - deviceManagerTaskService.createTask(); - } + //璁惧杩愯璁板綍 + deviceManagerService.appendDeivceManageLog(fs.getString("asset_code"), fs.getString("created_by"), "", "璁惧鏁呴殰涓婃姤", "product_device_repair_failure_record", fs.getString("uuid")); + } + + return fs.getString(CoreConst.UUID); + } + + /** + * 鍒涘缓缁翠慨浠诲姟锛岀涓�娆″彲鑳介�変腑鐨勬槸璋冨害浜猴紝涔熷彲鑳芥槸缁翠慨浜哄憳 + * + * @param fs + */ + public void createMaintainTask(FieldSetEntity fs) { + + deviceManagerTaskService.createTask(); + } + + + /** + * 鑾峰彇鏈勾宸插畬鎴愮殑淇濆吇璁板綍 + */ + public DataTableEntity getMaintainByCurrentYear(FieldSetEntity fse) { + StringBuilder sql = new StringBuilder(); + sql.append("\nSELECT b.*,a.plan_maintenance_time,a.maintenance_user,a.maintenance_time,a.check_user,a.check_time FROM `product_device_maintenance_record` a "); + sql.append("\nINNER JOIN `product_device_info` b ON a. device_uuid=b.uuid "); + sql.append("\nwhere length(a.check_user)>0 "); + String elevatorVariety = fse.getString("elevator_variety"); + String maintenanceUnit = fse.getString("maintenance_unit"); + List<Object> params = StringUtils.isAnyEmpty(elevatorVariety, maintenanceUnit) ? new ArrayList<>() : null; + if (!StringUtils.isEmpty(elevatorVariety)) { + String[] split = elevatorVariety.split(","); + sql.append("\nAND ").append(BaseUtil.buildQuestionMarkFilter("b.elevator_variety", split.length, true)); + params.addAll(CollectionUtil.toList(split)); + } + if (!StringUtils.isEmpty(maintenanceUnit)) { + sql.append("\nAND b.maintenance_unit=? "); + params.add(elevatorVariety); + } + Integer cpage = fse.getInteger(DeviceConst.CPAGE); + Integer pageSize = fse.getInteger(DeviceConst.PAGESIZE); + //鏌ヨ宸插鏍歌繃鐨勮褰� + sql.append(" order by a.maintenance_time desc "); + DataTableEntity result = baseDao.listTable(sql.toString(), params.toArray(), pageSize, cpage); + result.getMeta().addAliasTable("product_device_info", "b"); + result.getMeta().addAliasTable("product_device_maintenance_record", "a"); + baseDao.loadPromptData(result); + return result; + } + + + public DataTableEntity getMaintainMonth(FieldSetEntity fse) { + Integer cpage = fse.getInteger(DeviceConst.CPAGE); + Integer pageSize = fse.getInteger(DeviceConst.PAGESIZE); + StringBuilder sql = new StringBuilder(); + sql.append("\nSELECT b.*,a.maintenance_user, a.plan_finish_time FROM `product_device_maintenance_plan_sub`a "); + sql.append("\nINNER JOIN `product_device_info`b ON a.device_uuid = b.uuid "); + //sql鏌ヨplan_finish_time鏃堕棿鏄惁灞炰簬褰撴湀 + sql.append("\nWHERE MONTH(a.plan_finish_time) = MONTH(NOW()) AND a.is_finish=1"); + String elevatorVariety = fse.getString("elevator_variety"); + String maintenanceUnit = fse.getString("maintenance_unit"); + List<Object> params = StringUtils.isAnyEmpty(elevatorVariety, maintenanceUnit) ? new ArrayList<>() : null; + if (!StringUtils.isEmpty(elevatorVariety)) { + String[] split = elevatorVariety.split(","); + sql.append("\nAND ").append(BaseUtil.buildQuestionMarkFilter("b.elevator_variety", split.length, true)); + params.addAll(CollectionUtil.toList(split)); + } + if (!StringUtils.isEmpty(maintenanceUnit)) { + sql.append("\nAND b.maintenance_unit=? "); + params.add(elevatorVariety); + } + DataTableEntity result = baseDao.listTable(sql.toString(), params.toArray(), pageSize, cpage); + result.getMeta().addAliasTable("product_device_info", "b"); + result.getMeta().addAliasTable("product_device_maintenance_plan_sub", "a"); + return result; + } + + /** + * 缁翠繚璁板綍澶嶆牳 + */ + public boolean maintenanceReview(FieldSetEntity fse) { + String uuids = fse.getString("uuids"); + if (StringUtils.isBlank(uuids)) { + throw new BaseException(DeviceCode.SYSTEM_FORM_COUNT); + } + + String[] split = (SpringMVCContextHolder.getCurrentUserId() + "," + uuids).split(","); + return baseDao.executeUpdate("update `product_device_maintenance_record` set check_time=now(),check_user=? where is_finish=1 and " + BaseUtil.buildQuestionMarkFilter("uuid", split.length - 1, true), split); + } + + /** + * 缁翠繚鍗曚綅骞村害缁翠繚缁熻 + * + * @param fse + * @return + */ + public DataTableEntity yearMaintenance(FieldSetEntity fse) { + // 鐢垫鍝佺 + String elevatorVariety = null; + // 缁翠繚鍗曚綅 + String maintenanceUnit = null; + if (fse != null) { + elevatorVariety = fse.getString("elevator_variety"); + maintenanceUnit = fse.getString("maintenance_unit"); + } + StringBuilder sql = new StringBuilder(128); + sql.append("\nSELECT u.`name`,count(r.uuid) record_count"); + sql.append("\nFROM product_device_maintenance_unit u"); + sql.append("\nLEFT JOIN product_device_info a on a.maintenance_unit=u.uuid"); + sql.append("\nLEFT JOIN product_device_maintenance_record r on r.device_uuid=a.uuid"); + StringBuilder filterSql = new StringBuilder(32); + List<String> param = Lists.newArrayList(); + if (!StringUtils.isEmpty(elevatorVariety)) { + String[] arr = elevatorVariety.split(","); + filterSql.append(BaseUtil.buildQuestionMarkFilter("elevator_variety", arr.length, true)); + param.addAll(Arrays.asList(arr)); + } + if (!StringUtils.isEmpty(maintenanceUnit)) { + if (filterSql.length() > 0) { + filterSql.append(" AND "); + } + String[] arr = maintenanceUnit.split(","); + filterSql.append(BaseUtil.buildQuestionMarkFilter("maintenance_unit", arr.length, true)); + param.addAll(Arrays.asList(arr)); + } + if (filterSql.length() > 0) { + sql.append("\nWHERE ").append(filterSql); + } + sql.append("\nGROUP BY u.uuid"); + return baseDao.listTable(sql.toString(), param.toArray()); + } + + /** + * 缁翠繚鍗曚綅骞村害缁翠繚浠诲姟瀹屾垚鎯呭喌 + * + * @param fse + * @return + */ + public DataTableEntity yearMaintenanceFinish(FieldSetEntity fse) { + // 鐢垫鍝佺 + String elevatorVariety = null; + // 缁翠繚鍗曚綅 + String maintenanceUnit = null; + if (fse != null) { + elevatorVariety = fse.getString("elevator_variety"); + maintenanceUnit = fse.getString("maintenance_unit"); + } + StringBuilder sql = new StringBuilder(128); + sql.append("\nSELECT T.*,CASE WHEN record_count = 0 THEN 0 ELSE ROUND(finish_count / record_count, 4) END finish_rate"); + sql.append("\nFROM ("); + sql.append("\n SELECT u.name,a.device_number,a.device_unit,a.device_code,d.manufacture_company,count(r.uuid) record_count, count(r.is_finish) + 1 finish_count"); + sql.append("\n FROM product_device_maintenance_unit u"); + sql.append("\n JOIN product_device_info a on a.maintenance_unit=u.uuid"); + sql.append("\n JOIN product_device_archives d on a.archives_uuid=d.uuid"); + sql.append("\n JOIN product_device_maintenance_record r on r.device_uuid=a.uuid"); + StringBuilder filterSql = new StringBuilder(32); + List<String> param = Lists.newArrayList(); + if (!StringUtils.isEmpty(elevatorVariety)) { + String[] arr = elevatorVariety.split(","); + filterSql.append(BaseUtil.buildQuestionMarkFilter("elevator_variety", arr.length, true)); + param.addAll(Arrays.asList(arr)); + } + if (!StringUtils.isEmpty(maintenanceUnit)) { + if (filterSql.length() > 0) { + filterSql.append(" AND "); + } + String[] arr = maintenanceUnit.split(","); + filterSql.append(BaseUtil.buildQuestionMarkFilter("maintenance_unit", arr.length, true)); + param.addAll(Arrays.asList(arr)); + } + if (filterSql.length() > 0) { + sql.append("\n WHERE ").append(filterSql); + } + sql.append("\n GROUP BY 1,2,3,4,5"); + sql.append("\n) T"); + return baseDao.listTable(sql.toString(), param.toArray()); + } + + /** + * 璁惧鐨勪繚鍏婚厤缃� + * + * @param asset_code 璁惧缂栧彿 + * @param manceType 淇濆吇绫诲瀷 + * @return + */ + public FieldSetEntity findDeviceMaintenanceSetting(String uuid, String manceType) { + + FieldSetEntity device = deviceManagerService.findDevice(uuid); + + FieldSetEntity record = new FieldSetEntity("product_device_maintenance_record"); + record.setValue("device_uuid", device.getString("device_name")); + record.setValue("device_number", device.getString("device_number")); + record.setValue("device_uuid_save_value", device.getString("uuid")); + String sql = "select c.item_uuid,c.content ,c.criterion from product_device_maintenance_setting a left join product_device_maintenance_item_config b on\r\n" + + "a.maintenance_item=b.uuid join \r\n" + + "product_device_maintenance_item_detail c on b.uuid= c.item_uuid\r\n" + + "where device_uuid=? and maintenance_type=? and c.is_used=1 \r\n" + + "order by item_uuid"; + DataTableEntity dataTableEntity = baseDao.listTable(sql, new String[]{uuid, manceType}); + record.addSubDataTable(dataTableEntity); + + return record; + } } diff --git a/product-server-device/src/main/java/com/product/device/service/DeviceManagerService.java b/product-server-device/src/main/java/com/product/device/service/DeviceManagerService.java index ffb6c76..8b54120 100644 --- a/product-server-device/src/main/java/com/product/device/service/DeviceManagerService.java +++ b/product-server-device/src/main/java/com/product/device/service/DeviceManagerService.java @@ -5,12 +5,11 @@ import java.util.List; import java.util.Map; -import com.product.admin.config.CmnConst; +import com.product.core.config.Global; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.service.support.AbstractBaseService; -import com.product.core.spring.context.SpringMVCContextHolder; import com.product.device.config.DeviceConst; import com.product.module.sys.service.UserService; @@ -21,7 +20,7 @@ /** * 璁惧绠$悊 - * @Author + * @Author * @Date 2022/3/8 16:33 * @Desc 鍔熻兘鐩稿叧 service */ @@ -35,13 +34,12 @@ /** * 鑾峰彇璁惧淇℃伅 鍖呮嫭瀛愯澶� * @param uuid - * @param device_sn * @return */ - public FieldSetEntity findDeviceAndSub(String uuid,String asset_code) { - FieldSetEntity dev=findDevice(uuid,asset_code); - if(dev !=null) { - DataTableEntity dt=baseDao.listTable(DeviceConst.TABLE_PRODUCT_DEVICE_ARCHIVE,"parent_sn=?", new String[] {asset_code},new String[]{"uuid","device_name","asset_code","device_version","device_status"}); + public FieldSetEntity findDeviceAndSub(String uuid,String device_number) { + FieldSetEntity dev=findDevice(uuid); + if(dev !=null && "device".equals(Global.getSystemConfig("system_platform_type", "")) ) { + DataTableEntity dt=baseDao.listTable(DeviceConst.PRODUCT_DEVICE_INFO,"uuid=?", new String[] {uuid},new String[]{}); if(!DataTableEntity.isEmpty(dt)) { baseDao.loadPromptData(dt); Map <String,DataTableEntity> sub=new HashMap<>(); @@ -50,31 +48,25 @@ //dev.addSubDataTable(dt); } } - + return dev; } /** * 鑾峰彇璁惧淇℃伅 鍖呮嫭瀛愯澶� * @param uuid - * @param device_sn + * @param asset_code * @return */ - public FieldSetEntity findDevice(String uuid,String asset_code) { + public FieldSetEntity findDevice(String uuid) { StringBuilder st=new StringBuilder(); List<String> pa=new ArrayList<String>(); - if(!StringUtils.isEmpty(asset_code)) { - st.append("asset_code=?"); - pa.add(asset_code); - } if(!StringUtils.isEmpty(uuid)) { - if(st.length()>0) { - st.append(" and "); - } st.append("uuid=?"); pa.add(uuid); + }else { + return null; } - - FieldSetEntity dev=baseDao.getFieldSetEntityByFilter(DeviceConst.TABLE_PRODUCT_DEVICE_ARCHIVE, new String[]{"uuid","device_name","asset_code","device_version","device_status"}, st.toString(), pa.toArray(), false, null); + FieldSetEntity dev=baseDao.getFieldSetEntityByFilter(DeviceConst.PRODUCT_DEVICE_INFO, new String[]{}, st.toString(), pa.toArray(), false, null); baseDao.loadPromptData(dev); return dev; } @@ -83,8 +75,8 @@ * 濡傛灉鏈夊瓙璁惧锛岄渶瑕佹妸瀛愯澶囩姸鎬佷竴璧峰彉鏇� * @return */ - public boolean deviceStatusChange(String asset_code,String status) { - return baseDao.executeUpdate("update product_device_archives set device_status=? where asset_code=? or parent_sn=?",new String[] {status,asset_code,asset_code}); + public boolean deviceStatusChange(String device_number,String status) { + return baseDao.executeUpdate("update product_device_info set device_status=? where device_number=?",new String[] {status,device_number}); } /** * 娣诲姞璁惧杩愯璁板綍 @@ -95,7 +87,7 @@ * @return */ public boolean appendDeivceManageLog(String asset_code,String user,String type,String log,String table,String uuid ) { - + return true; } /** @@ -114,7 +106,7 @@ sql.append("\nselect technician ,'鎶�鏈礋璐d汉' from product_device_archives where asset_code='").append(asset_code).append("' union"); sql.append("\nselect safety_manager ,'瀹夊叏绠$悊鍛�' from product_device_archives where asset_code='").append(asset_code).append("'"); sql.append("\n) b left join product_sys_users a on b.userid=a.user_id"); - + DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{}); // dte.getMeta().addAliasTable("product_sys_users", "a"); // dte.getMeta().addAliasTable("product_device_archives", "b"); @@ -130,7 +122,7 @@ } return dte; - + } - + } diff --git a/product-server-device/src/main/java/com/product/device/service/QuickResponseService.java b/product-server-device/src/main/java/com/product/device/service/QuickResponseService.java index a7bd76e..e787276 100644 --- a/product-server-device/src/main/java/com/product/device/service/QuickResponseService.java +++ b/product-server-device/src/main/java/com/product/device/service/QuickResponseService.java @@ -1,18 +1,18 @@ package com.product.device.service; - + import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; +import com.product.device.utils.QuickResponseCode; import org.springframework.stereotype.Service; - + import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.product.common.lang.StringUtils; -import com.product.device.config.QuickResponseCode; import java.io.File; import java.io.IOException; - + @Service public class QuickResponseService { @Resource @@ -44,11 +44,11 @@ str.append( ",\"uuid\":\"").append(uuid ).append("\""); } str.append("}"); - + //鐢熸垚鍒版湰鍦版枃浠� QrCodeUtil.generate(str.toString(), QuickResponseCode.getQRConfig(), file); } - + public static void main(String args[]) { QuickResponseService k=new QuickResponseService(); File f=new File("d:/device.png"); -- Gitblit v1.9.2