From 3380b0f6767308fa91bd55d68a96a48be5029aa7 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 19 十一月 2024 21:30:01 +0800 Subject: [PATCH] 合同考核调整+日志 --- ycl-server/src/main/resources/logback.xml | 14 ++-- ycl-server/src/main/java/com/ycl/task/ContractTask.java | 72 +++++++++--------------- ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 10 +-- ycl-common/src/main/java/enumeration/ContractRule.java | 19 +++--- ycl-server/src/main/java/com/ycl/handler/CustomCellWriteHandler.java | 10 +-- ycl-common/src/main/java/enumeration/ErrorType.java | 2 6 files changed, 51 insertions(+), 76 deletions(-) diff --git a/ycl-common/src/main/java/enumeration/ContractRule.java b/ycl-common/src/main/java/enumeration/ContractRule.java index 367d6d0..50000d9 100644 --- a/ycl-common/src/main/java/enumeration/ContractRule.java +++ b/ycl-common/src/main/java/enumeration/ContractRule.java @@ -19,18 +19,19 @@ CONTRACT_RULE_Monitor_OSD(null,"OSD鏍囪瘑", 2), CONTRACT_RULE_Monitor_OneFile(null,"涓�鏈轰竴妗�", 2), - CONTRACT_RULE_Store(3,"瀛樺偍鏁呴殰", 0), - CONTRACT_RULE_Store_24H(null,"鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍忥紝椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�24灏忔椂浠ュ唴", 3), - CONTRACT_RULE_Store_48H(null,"鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍忥紝椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�48灏忔椂浠ュ唴", 3), - CONTRACT_RULE_Store_Important(null,"鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�", 3), +// CONTRACT_RULE_Store(3,"瀛樺偍鏁呴殰", 0), +// CONTRACT_RULE_Store_24H(null,"鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍忥紝椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�24灏忔椂浠ュ唴", 3), +// CONTRACT_RULE_Store_48H(null,"鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍忥紝椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�48灏忔椂浠ュ唴", 3), +// CONTRACT_RULE_Store_Important(null,"鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�", 3), - CONTRACT_RULE_Site(4,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�", 0), - CONTRACT_RULE_Site_Error(null,"闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�", 4), + CONTRACT_RULE_Site(3,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�", 0), + CONTRACT_RULE_Site_Error24(null,"闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,24灏忔椂鍚庢湭淇鐨�", 3), + CONTRACT_RULE_Site_Error48(null,"闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,48灏忔椂鍚庢湭淇鐨�", 3), - CONTRACT_RULE_VideoRecord(5,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�", 0), + CONTRACT_RULE_VideoRecord(4,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�", 0), - CONTRACT_RULE_PicComplete(6,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�", 0), - CONTRACT_RULE_PicComplete_PicUnuseful(null,"鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖", 6), + CONTRACT_RULE_PicComplete(5,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�", 0), + CONTRACT_RULE_PicComplete_PicUnuseful(null,"鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖", 5), ; private final Integer id; diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java index 88fed87..4c4b3f1 100644 --- a/ycl-common/src/main/java/enumeration/ErrorType.java +++ b/ycl-common/src/main/java/enumeration/ErrorType.java @@ -27,7 +27,7 @@ STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈","VIDEO"), SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅","VIDEO"), ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�","VIDEO"), - ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父","VIDEO"), +// ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父","VIDEO"), OSD_ERROR("OSD", "osd寮傚父","VIDEO"), // VIDEO_LOSS("VIDEOMISS", "褰曞儚缂哄け","VIDEO"), // VIDEO_NONE("NOVIDEO", "鏃犲綍鍍�","VIDEO"), diff --git a/ycl-server/src/main/java/com/ycl/handler/CustomCellWriteHandler.java b/ycl-server/src/main/java/com/ycl/handler/CustomCellWriteHandler.java index 5899d2a..f928385 100644 --- a/ycl-server/src/main/java/com/ycl/handler/CustomCellWriteHandler.java +++ b/ycl-server/src/main/java/com/ycl/handler/CustomCellWriteHandler.java @@ -207,20 +207,16 @@ setTemplateRule(list,null,"鍓嶇鎰熺煡婧愭不鐞嗗伐浣�","OSD鏍囪瘑",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.1); setTemplateRule(list,null,"鍓嶇鎰熺煡婧愭不鐞嗗伐浣�","涓�鏈轰竴妗�",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.1); - setTemplateRule(list,3,"瀛樺偍鏁呴殰","鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨�",24D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); - setTemplateRule(list,null,"瀛樺偍鏁呴殰","鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鑻ヨ秴鍑�24灏忔椂浠ヤ笂銆�",null,24D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); - setTemplateRule(list,null,"瀛樺偍鏁呴殰","鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); - - setTemplateRule(list,4,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,24灏忔椂鍚庢湭淇鐨�",null,24D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); + setTemplateRule(list,3,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,24灏忔椂鍚庢湭淇鐨�",null,24D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); setTemplateRule(list,null,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,48灏忔椂鍚庢湭淇鐨�",null,48D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); - setTemplateRule(list,5,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","姣忚矾瑙嗛绱涓㈠け10鍒嗛挓浠ュ唴",10D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.2); + setTemplateRule(list,4,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","姣忚矾瑙嗛绱涓㈠け10鍒嗛挓浠ュ唴",10D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.2); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け10-60 鍒嗛挓",10D,60D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け1 灏忔椂-4 灏忔椂锛堝惈锛�",60D,240D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け4 灏忔椂-12 灏忔椂锛堝惈锛�",240D,720D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.5); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け12 灏忔椂浠ヤ笂",null,720D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); - setTemplateRule(list,6,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�","鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); + setTemplateRule(list,5,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�","鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); return list; diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java index bc872f6..f01b16e 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java @@ -89,20 +89,16 @@ setTemplateRule(list,null,"鍓嶇鎰熺煡婧愭不鐞嗗伐浣�","OSD鏍囪瘑",24D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.1); setTemplateRule(list,null,"鍓嶇鎰熺煡婧愭不鐞嗗伐浣�","涓�鏈轰竴妗�",24D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.1); - setTemplateRule(list,3,"瀛樺偍鏁呴殰","鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�24灏忔椂浠ュ唴",24D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); - setTemplateRule(list,null,"瀛樺偍鏁呴殰","鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,椤诲湪24灏忔椂鎺掗櫎鏁呴殰,鍗曟鏁呴殰鍦�48灏忔椂浠ュ唴",48D,25D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); - setTemplateRule(list,null,"瀛樺偍鏁呴殰","鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); - - setTemplateRule(list,4,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,24灏忔椂鍚庢湭淇鐨�",48D,25D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); + setTemplateRule(list,3,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,24灏忔椂鍚庢湭淇鐨�",48D,25D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); setTemplateRule(list,null,"瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�","闀滃ご鏁呴殰鎴栨薄鏌撴垨鏍戞灊閬尅鎴栨灙鏈鸿瑙掑亸绉绘甯歌搴︽垨琛ュ厜鐏簲浜湭浜�,48灏忔椂鍚庢湭淇鐨�",null,49D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); - setTemplateRule(list,5,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","姣忚矾瑙嗛绱涓㈠け10鍒嗛挓锛堝惈锛変互鍐�",10D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.2); + setTemplateRule(list,4,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","姣忚矾瑙嗛绱涓㈠け10鍒嗛挓锛堝惈锛変互鍐�",10D,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.2); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け10-60 鍒嗛挓锛堝惈锛�",60D,9D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,0.5); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け1 灏忔椂-4 灏忔椂锛堝惈锛�",240D,59D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.0); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け4 灏忔椂-12 灏忔椂锛堝惈锛�",720D,539D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,1.5); setTemplateRule(list,null,"纭繚褰曞儚瀹屾暣涓嶅畾鏈熷鎵�鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�","涓㈠け12 灏忔椂浠ヤ笂",null,719D,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); - setTemplateRule(list,6,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�","鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); + setTemplateRule(list,5,"纭繚鍥剧墖瀹屾暣涓嶅畾鏈熷鎵�鏈変汉鑴歌溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�","鍙戠幇鍚庡彴瀛樺偍涓嶈兘璋冨彇鍓嶇璁惧鍥剧墖",null,null,RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY,2.0); return list; } diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java index 44702c0..60eb9b8 100644 --- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java @@ -8,10 +8,8 @@ import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.result.HK.PicAccessResult; -import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.domain.result.SYS.TMonitorResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; -import com.ycl.platform.domain.result.UY.VideoOnlineResult; import com.ycl.platform.domain.vo.CalculateRuleVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.mapper.*; @@ -36,6 +34,7 @@ import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; @@ -44,6 +43,7 @@ */ @Slf4j @Component("contractTask") +//TODO:閲嶆柊鐪嬩笅閫昏緫 public class ContractTask { @Autowired private MongoTemplate mongoTemplate; @@ -71,7 +71,6 @@ * 鍚堝悓鑰冩牳 鍦ㄧ嚎鐜囨瘡鏃ヤ换鍔℃娴� * 鏌ョ敓鏁堢殑鍚堝悓鍏宠仈鐨勫叕鍙革紝鑾峰彇unitId闆嗗悎 * 鏍规嵁unitId鏌ヨ瀵瑰簲鐐逛綅鑾峰彇鍚勪釜鍏徃绠$悊鐨勮澶嘔ds - * 鏌ヨ涓夌璁惧鍦ㄧ嚎涓嶅湪绾挎儏鍐碉紝灏佽涓轰竴涓猰ap<鍥芥爣鐮�,鍦ㄧ嚎鐘舵��> * 璁$畻姣忔棩姣忓鍏徃鐨勫湪绾跨巼瀛樺叆mysql * 鏈堝簳璁$畻骞冲潎鍊硷紝鏍规嵁鍦ㄧ嚎鐜囧拰鍚堝悓鏍囧噯鎵e噺鍒嗘暟 */ @@ -83,46 +82,31 @@ List<Integer> unitIds = ruleVos.stream().map(CalculateRuleVO::getUnitId).collect(Collectors.toList()); List<YwPoint> ywPoints = ywPointMapper.selectList(new QueryWrapper<YwPoint>().in("unit_id", unitIds)); //key鏄痷nitId value鏄澶囩紪鐮侀泦鍚� - Map<Long, List<String>> unitMap = ywPoints.stream() + Map<Long, List<YwPoint>> unitMap = ywPoints.stream().filter(point -> point.getUnitId() != null) .collect(Collectors.groupingBy( - YwPoint::getUnitId, - Collectors.mapping( - YwPoint::getSerialNumber, - Collectors.toList() + YwPoint::getUnitId ) - )); - Map<String, Integer> onlineStatusMap = new HashMap<>(); - Date date = new Date(); - //杞﹁締銆佷汉鑴� - Query query = new Query(); - query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); - List<TMonitorResult> tMonitorResults = mongoTemplate.find(query, TMonitorResult.class); - for (TMonitorResult result : tMonitorResults) { - if(result.getPingOnline()){ - onlineStatusMap.put(result.getNo(), Online); - }else { - onlineStatusMap.put(result.getNo(), Offline); - } - } - + ); //鏌ヨ鎶ュ鍒楄〃 List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate()); //璁$畻姣忎釜鍏徃鐨勭偣浣嶅湪绾跨巼 List<ContractRuleRecord> ruleRecordList = new ArrayList<>(); - unitMap.forEach((unitId, serialNumberList) -> { + unitMap.forEach((unitId, pointList) -> { int totalSite = 0; int onlineSite = 0; - for (String number : serialNumberList) { + for (YwPoint point : pointList) { //鎶ュ杩囦笉绾冲叆璁$畻 - if (!CollectionUtils.isEmpty(reportNumbers) && reportNumbers.contains(number)) continue; - Integer status = onlineStatusMap.get(number); + if (!CollectionUtils.isEmpty(reportNumbers) && reportNumbers.contains(point.getSerialNumber())) + continue; totalSite++; - if (Online.equals(status)) { + if (ApiConstants.UY_OnlineSite_Online.equals(point.getOnline())) { onlineSite++; } } - BigDecimal online = new BigDecimal(onlineSite).divide(new BigDecimal(totalSite), 2, RoundingMode.DOWN); + BigDecimal online = BigDecimal.ONE; + if (totalSite != 0) { + online = new BigDecimal(onlineSite).divide(new BigDecimal(totalSite), 2, RoundingMode.DOWN); + } ContractRuleRecord contractRuleRecord = new ContractRuleRecord(); contractRuleRecord.setSiteOnline(online); contractRuleRecord.setCreateTime(new Date()); @@ -138,16 +122,14 @@ public void calculateOnlineScore() { //TODO:妫�鏌ヨ〃 log.info("寮�濮嬭绠楀悎鍚岀偣浣嶅湪绾跨巼鍒嗘暟"); - //濡傛灉鏄湀搴曪紝闇�瑕佺粺璁″钩鍧囧湪绾跨巼鐒跺悗杩涜绉垎鎵i櫎 -// String now = DateUtils.getDate(); + //鏈堝簳闇�瑕佺粺璁″钩鍧囧湪绾跨巼鐒跺悗杩涜绉垎鎵i櫎 String mouthStart = DateUtils.getMouthStart(new Date()); String mouthEnd = DateUtils.getMouthEnd(new Date()); -// if (now.equals(mouthEnd)) { //鏌ヤ竴涓湀鐨勮褰� List<ContractRuleRecord> ruleMonthRecords = recordMapper.selectMonth(mouthStart, mouthEnd); - //閫氳繃unitId鍒嗗崟浣� + //閫氳繃unitId鍒嗗崟浣嶏紝鑾峰彇褰撴湀鏁版嵁map Map<Long, List<ContractRuleRecord>> unitMap = ruleMonthRecords.stream().collect(Collectors.groupingBy(ContractRuleRecord::getUnitId)); - //鏌ュ湪绾跨巼瑙勫垯 鑾峰彇key涓哄悎鍚宨d锛寁alue涓哄湪绾跨巼瑙勫垯鐨刴ap + //鏌ュ湪绾跨巼瑙勫垯 鑾峰彇key涓哄悎鍚宨d锛寁alue涓哄湪绾跨巼瑙勫垯闆嗗悎 Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream() .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_Online.getName().equals(calculateRuleVO.getRuleName())) .collect(Collectors.groupingBy(CalculateRuleVO::getContractId)); @@ -159,7 +141,7 @@ CalculateRuleVO calculateRuleVO = ruleList.get(0); Integer unitId = calculateRuleVO.getUnitId(); List<ContractRuleRecord> ruleRecordList = unitMap.get(Long.parseLong(unitId + "")); - if (!CollectionUtils.isEmpty(ruleMonthRecords)) { + if (!CollectionUtils.isEmpty(ruleRecordList)) { BigDecimal siteOnlineTotal = ruleRecordList.stream().map(ContractRuleRecord::getSiteOnline).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal siteOnline = siteOnlineTotal.divide(new BigDecimal(ruleRecordList.size()), 2, RoundingMode.DOWN); for (CalculateRuleVO ruleVO : ruleList) { @@ -175,7 +157,6 @@ } } }); -// } contractScoreService.saveBatch(contractScoreList); log.info("缁撴潫璁$畻鍚堝悓鐐逛綅鍦ㄧ嚎鐜囧垎鏁�"); } @@ -203,8 +184,8 @@ )); //鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map Map<Integer, List<CalculateRuleVO>> monitorRuleMap = ruleMap.get(ContractRule.CONTRACT_RULE_Monitor.getName()); - //瀛樺偍鏁呴殰锛�24灏忔椂浠ュ唴锛�48灏忔椂浠ュ唴锛� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map - Map<Integer, List<CalculateRuleVO>> storeRuleMap = ruleMap.get(ContractRule.CONTRACT_RULE_Store.getName()); + //瀛樺偍鏁呴殰锛�24灏忔椂浠ュ唴锛�48灏忔椂浠ュ唴锛� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map 锛堟敼鎴愭墜鍔ㄧ殑浜嗭級 +// Map<Integer, List<CalculateRuleVO>> storeRuleMap = ruleMap.get(ContractRule.CONTRACT_RULE_Store.getName()); //鐐逛綅寮傚父鎯呭喌澶勭悊 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map Map<Integer, List<CalculateRuleVO>> siteRuleMap = ruleMap.get(ContractRule.CONTRACT_RULE_Site.getName()); //鏌ヨ鎶ュ鍒楄〃 @@ -221,7 +202,7 @@ if (reportNumbers.contains(workOrder.getSerialNumber())) continue; } String errorType = workOrder.getErrorType(); - //瀛樺偍鏁呴殰 褰曞儚鎴栧浘鐗囪闂紓甯� + //瀛樺偍鏁呴殰 褰曞儚鎴栧浘鐗囪闂紓甯� 锛堟敼鎴愭墜鍔ㄦ墦鍒嗕簡锛� // if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) { // if (!CollectionUtils.isEmpty(storeRuleMap)) { // storeRuleMap.forEach((contractId, rules) -> { @@ -246,7 +227,7 @@ // } // } //鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級 - if (ErrorType.POINT_INFO_ERROR.getValue().equals(errorType) || ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType)) { + if (ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType) || ErrorType.CLOCK_RIGHT.getValue().equals(errorType)) { if (!CollectionUtils.isEmpty(monitorRuleMap)) { monitorRuleMap.forEach((contractId, rules) -> { Integer unitId = rules.get(0).getUnitId(); @@ -270,7 +251,7 @@ } } //鐐逛綅寮傚父鎯呭喌澶勭悊锛堥暅澶村紓甯搞�佹憚鍍忓ご閬尅绛夛級 - if (ErrorType.SCREEN_COLOR_DEVIATION.getValue().equals(errorType) || ErrorType.SNOW_STORM.getValue().equals(errorType) || ErrorType.STRIPE_INTERFERENCE.getValue().equals(errorType) || ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType) || ErrorType.ABNORMAL_CLARITY.getValue().equals(errorType) || ErrorType.ABNORMAL_BRIGHTNESS.getValue().equals(errorType)) { + if (ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType)) { if (!CollectionUtils.isEmpty(monitorRuleMap)) { siteRuleMap.forEach((contractId, rules) -> { Integer unitId = rules.get(0).getUnitId(); @@ -284,7 +265,7 @@ for (CalculateRuleVO rule : rules) { if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) { double deductScore = 0d; - if (ContractRule.CONTRACT_RULE_Store_48H.getName().equals(rule.getRuleCondition())) { + if (ContractRule.CONTRACT_RULE_Site_Error48.getName().equals(rule.getRuleCondition())) { //璁$畻瓒呮椂澶╂暟 int day = (int) ((diffTime - 48) / 24 + 1); deductScore = rule.getCalcFraction() * (day); @@ -371,8 +352,8 @@ } //鍒ゆ柇鏄惁鏄鍏徃杩愮淮 if (monitorList.contains(picAccessResult.getExternalIndexCode())) { - //瀛樺湪澶у浘涓嶅彲鐢ㄦ暟鎹噺锛岄渶瑕佹墸鍑� - if (picAccessResult.getBigDisableCount() > 0) { + //瀛樺湪鍥剧墖璁块棶寮傚父鏁版嵁閲忥紝闇�瑕佹墸鍑� + if (picAccessResult.getExpCount() > 0) { deduct = true; serialNumber = picAccessResult.getExternalIndexCode(); break; @@ -417,6 +398,7 @@ List<ContractScore> contractScoreList = new ArrayList<>(); //鏌ヨ鎶ュ鍒楄〃 List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate()); + //TODO:娴嬭瘯鏃ユ湡 Date date = DateUtils.getDay(2024, 7, 13); //鏌ュ浘鐗囧畬鏁存�ц鍒� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream() diff --git a/ycl-server/src/main/resources/logback.xml b/ycl-server/src/main/resources/logback.xml index 7a43fd7..0b59320 100644 --- a/ycl-server/src/main/resources/logback.xml +++ b/ycl-server/src/main/resources/logback.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 鏃ュ織瀛樻斁璺緞 --> - <property name="log.path" value="./logs" /> + <property name="log.path" value="/home/java/logs" /> <!-- 鏃ュ織杈撳嚭鏍煎紡 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> @@ -19,8 +19,8 @@ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鏃ュ織鏂囦欢鍚嶆牸寮� --> <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> + <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 20澶� --> + <maxHistory>20</maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> @@ -41,8 +41,8 @@ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鏃ュ織鏂囦欢鍚嶆牸寮� --> <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> + <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 20澶� --> + <maxHistory>20</maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> @@ -63,8 +63,8 @@ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鎸夊ぉ鍥炴粴 daily --> <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> + <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 20澶� --> + <maxHistory>20</maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> -- Gitblit v1.8.0