From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 19 五月 2025 09:45:07 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/core/utils/Constants.java | 308 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 251 insertions(+), 57 deletions(-) diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java index 15a4398..c7d899f 100644 --- a/server/service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java @@ -1,15 +1,16 @@ package com.doumee.core.utils; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdcardUtil; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.dao.business.dto.CountCyclePriceDTO; -import com.doumee.dao.business.model.ApplyDetail; -import com.doumee.dao.business.model.Solutions; +import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ChangeDealTypeVO; import com.doumee.dao.business.vo.CountCyclePriceVO; import io.swagger.models.auth.In; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.compress.archivers.zip.Zip64Mode; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.lang3.StringUtils; @@ -34,6 +35,8 @@ public static final int TWO = 2 ; public static final int THREE = 3 ; + public static final int FIVE = 5 ; + public static final int SIX = 6 ; public static final int SEVEN = 7 ; public static final String ACCESS_ID="ACCESS_ID"; public static final String BUCKETNAME = "BUCKETNAME"; @@ -53,15 +56,16 @@ public static final String WX_MIN_APPID = "WX_MIN_APPID"; public static final String WX_MIN_SECRET = "WX_MIN_SECRET"; + public static final String PLAT_COMPANY_NAME ="PLAT_COMPANY_NAME"; + public static final String PLAT_CREDIT_CODE ="PLAT_CREDIT_CODE"; + public static final String PLAT_EMAIL ="PLAT_EMAIL"; public static final String SYSTEM ="SYSTEM"; public static final String PROTOCOL ="PROTOCOL"; public static final String PRIVACY ="PRIVACY"; public static final String USE ="USE"; - public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR"; public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}"; - public static final String ROOT_PATH="ROOT_PATH";//鏈湴鏂囦欢涓婁紶鍦板潃閰嶇疆 public static final String FILE_DIR="FILE_DIR";//鏈湴鏂囦欢璁块棶鍦板潃閰嶇疆 @@ -92,11 +96,89 @@ public static final String SMS_COMNAME = "SMS_COMNAME"; public static final String TAXES_FILE = "TAXES_FILE"; public static final String APPLY_FILE ="APPLY_FILE" ; + public static final String COMPANY_USER_APPLY ="COMPANY_USER_APPLY" ; + public static final String INSURANCE ="INSURANCE" ; + public static final String CONTRACT ="CONTRACT" ; + public static final String SETTLE_FILE ="SETTLE_FILE" ; public static final String DU_FILE ="DU_FILE" ; public static final String SIGN_DONE_NOTIFY_URL = "SIGN_DONE_NOTIFY_URL"; public static final int FOUR = 4; + public static final String COMPANY_PHONE_AUTH ="COMPANY_PHONE_AUTH" ; + + /** + * 鑾峰彇鐢宠鍗曟椂闂村垪鏍囬 + * @param type 0寮�濮嬫椂闂� 1鎴鏃堕棿 + * @param model + * @return + */ + public static String getApplyTimeTitle(int type, InsuranceApply model){ + if(type ==1){ + if(Constants.equalsInteger(model.getSolutionType(),Constants.ONE)){ + return Constants.equalsInteger(model.getUnionApplyTbdStatus(),Constants.THREE)?"淇濋櫓鐢熸晥璧锋湡":"鏈熸湜淇濋櫓鐢熸晥璧锋湡"; + }else{ + return Constants.equalsInteger(model.getStatus(), InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())?"淇濋櫓鐢熸晥璧锋湡":"鏈熸湜淇濋櫓鐢熸晥璧锋湡"; + } + }else{ + if(Constants.equalsInteger(model.getSolutionType(),Constants.ONE)){ + return Constants.equalsInteger(model.getUnionApplyTbdStatus(),Constants.THREE)?"淇濋櫓鐢熸晥姝㈡湡":"棰勮鐢熸晥姝㈡湡"; + }else{ + return Constants.equalsInteger(model.getStatus(), InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())?"淇濋櫓鐢熸晥姝㈡湡":"棰勮鐢熸晥姝㈡湡"; + } + } + + } + public interface DATAPERMISSION_TYPE{ + public static final int all = 0; + public static final int departAndChild = 1; + public static final int departAndLeaf = 2; + public static final int depart = 3; + public static final int custom = 4; + public static final int self = -1; + } + + /** + * 鑾峰彇鎵规敼鍗曟椂闂存爣棰樺垪 + * @param type 0鏇存崲娲鹃仯鍗曚綅 1鍔犱繚 0鍑忎繚 + * @param model + * @return + */ + public static String getChangeApplyTimeTitle(int type, ApplyChange model){ + if(type ==2){ + return Constants.equalsInteger(model.getStatus(), ApplyChangeStatus.APPROVE.getKey())?"鎵瑰崟鐢熸晥鏈�":"鏈熸湜鎵瑰崟鐢熸晥鏈�"; + }else if(type ==1){ + return Constants.equalsInteger(model.getStatus(), ApplyChangeStatus.APPROVE.getKey())?"鎵瑰鐢熸晥璧锋湡":"鏈熸湜鎵瑰鐢熸晥璧锋湡"; + }else{ + return Constants.equalsInteger(model.getStatus(), ApplyChangeStatus.APPROVE.getKey())?"鎵瑰噺鐢熸晥璧锋湡":"鏈熸湜鎵瑰噺鐢熸晥璧锋湡"; + } + } + + + public static String getApplyTimeTitle(int type, UnionApply model){ + if(type ==1){ + return Constants.equalsInteger(model.getStatus(), UnionApplyStatus.FINISH.getKey())?"淇濋櫓鐢熸晥璧锋湡":"鏈熸湜淇濋櫓鐢熸晥璧锋湡"; + }else{ + return Constants.equalsInteger(model.getStatus(), UnionApplyStatus.FINISH.getKey())?"淇濋櫓鐢熸晥姝㈡湡":"棰勮鐢熸晥姝㈡湡"; + } + + } + + /** + * 鑾峰彇鎵规敼鍗曟椂闂存爣棰樺垪 + * @param type 0鏇存崲娲鹃仯鍗曚綅 1鍔犱繚 0鍑忎繚 + * @param model + * @return + */ + public static String getChangeApplyTimeTitle(int type, UnionChange model){ + if(type ==2){ + return Constants.equalsInteger(model.getStatus(), UnionChangeStatus.FINISH.getKey())?"鎵瑰崟鐢熸晥鏈�":"鏈熸湜鎵瑰崟鐢熸晥鏈�"; + }else if(type ==1){ + return Constants.equalsInteger(model.getStatus(), UnionChangeStatus.FINISH.getKey())?"鎵瑰鐢熸晥璧锋湡":"鏈熸湜鎵瑰鐢熸晥璧锋湡"; + }else{ + return Constants.equalsInteger(model.getStatus(), UnionChangeStatus.FINISH.getKey())?"鎵瑰噺鐢熸晥璧锋湡":"鏈熸湜鎵瑰噺鐢熸晥璧锋湡"; + } + } /** * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆 */ @@ -386,7 +468,7 @@ if(StringUtils.isBlank(idCard)){ return 2; } - Pattern pattern = Pattern.compile("\\d{17}[\\d|x]"); // 瀹氫箟韬唤璇佸彿鐮佹牸寮忕殑姝e垯琛ㄨ揪寮� + Pattern pattern = Pattern.compile("\\d{17}[\\d|x|X]"); // 瀹氫箟韬唤璇佸彿鐮佹牸寮忕殑姝e垯琛ㄨ揪寮� Matcher matcher = pattern.matcher(idCard); Integer sex = 0; if (matcher.matches()) { @@ -401,6 +483,7 @@ } return sex; } + /** * 鐘舵�� 0宸蹭繚瀛樸��1寰呭鏍搞��2瀹℃牳閫氳繃銆�3閫�鍥炰慨鏀广��4瀹℃牳椹冲洖銆�5寰呮湇鍔℃満鏋勭‘璁ゃ��6鏈嶅姟鏈烘瀯鎷掔粷銆�7宸插垎閰嶆湇鍔℃満鏋勩��8璇婃柇涓� @@ -643,6 +726,12 @@ WTB_CA_DONE_PDF(23, "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 - 鍚堝苟鍗曟渶缁堜繚鍗�", "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 - 鍚堝苟鍗曟渶缁堜繚鍗�"), WTB_CONFIRMATION_LATTER(24, "濮旀墭淇� - 鎶曚繚鏂规纭涔�", "濮旀墭淇� - 鎶曚繚鏂规纭涔�"), WTB_CA_TBD_PDF(25, "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鐢宠鍗曪紙鍟嗘埛绛剧讲鍚嶱DF锛�", "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鐢宠鍗曪紙鍟嗘埛绛剧讲鍚嶱DF锛�"), + + CONTRACT_PDF(26, "鍚堝悓闄勪欢", "鍚堝悓闄勪欢"), + CONTRACT_FIRST_PDF(27, "鍚堝悓绛剧讲闄勪欢", "鍚堝悓绛剧讲闄勪欢"), + CONTRACT_DONE_PDF(28, "鍚堝悓绛剧讲闄勪欢", "鍚堝悓绛剧讲闄勪欢"), + COMPANY_SOLUTION_SIGN_PDF(29, "浼佷笟绛剧讲鍚庢柟妗堢‘璁や功", "浼佷笟绛剧讲鍚庢柟妗堢‘璁や功"), + COMPANY_USER_APPLY(30, "浼佷笟鐢宠闆嗗洟鐢ㄦ埛闄勪欢", "浼佷笟鐢宠闆嗗洟鐢ㄦ埛闄勪欢"), ; // 鎴愬憳鍙橀噺 private String name; @@ -658,7 +747,7 @@ // 鏅�氭柟娉� public static String getName(int index) { - for (ProjectRecord c : ProjectRecord.values()) { + for (MultiFile c : MultiFile.values()) { if (c.getKey() == index) { return c.name; } @@ -668,7 +757,7 @@ // 鏅�氭柟娉� public static String getInfo(int index) { - for (ProjectRecord c : ProjectRecord.values()) { + for (MultiFile c : MultiFile.values()) { if (c.getKey() == index) { return c.noteinfo; } @@ -759,9 +848,10 @@ } public static void main(String[] args) { - - System.out.println(IdcardUtil.isValidCard("340621199310134818")); - System.out.println(IdcardUtil.isValidCard("341621199310134818")); + System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_HALF_UP)); + System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_DOWN)); +// System.out.println(IdcardUtil.isValidCard("340621199310134818")); +// System.out.println(IdcardUtil.isValidCard("341621199310134818")); // System.out.println("{\"companyName\":\"搴斿疂绉戞妧\",\"endtime\":\"2024-03-01 17:19:00\",\"erpId\":\"4D40185D5BC74A13821BE46EAF8B4179\",\"erpWithVisitDTOList\":[],\"faceImg\":\"20240304/1709518170325_742.jpg\",\"idcardNo\":\"342501199609300535\",\"idcardType\":0,\"name\":\"榛勬檵\",\"phone\":\"17756328697\",\"reason\":\"鎺㈤櫓\",\"receptMemberId\":\"E7E514BD7DE3F27CE0530B630A0AEAE0\",\"starttime\":\"2024-03-01 13:18:00\"}"); } @@ -956,7 +1046,7 @@ public enum ApplyLogType { UPLOAD(0, "鎻愪氦鎶曚繚","鎻愪氦鎰忚锛�${param}",0), - PLATFORM_RETURN(1, "閫�鍥炴姇淇�","鎻愪氦鎰忚锛�${param}",0), + PLATFORM_RETURN(1, "閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}",0), WAIT_SIGNATURE(2, "涓婁紶鎶曚繚鍗�","鎻愪氦鎰忚锛�${param}",0), SIGNATURE(3, "浼佷笟绛剧珷","",0), FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�","鎻愪氦鎰忚锛�${param}",0), @@ -968,14 +1058,14 @@ COMPANY_EDIT(10, "淇濆崟淇敼","鎻愪氦鎰忚锛�${param1}\n${param2}",0), PLATFORM_CHECK_PASS(11, "鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",0), - CA_PLATFORM_CHECK_PASS_NO(12, "閫�鍥炴姇淇�","鎻愪氦鎰忚锛�${param}",1), + CA_PLATFORM_CHECK_PASS_NO(12, "閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}",1), CA_PLATFORM_AGREE_BACK_APPLY(13, "鍚屾剰閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}",1), CA_PLATFORM_APPROVE(14, "鎵瑰崟瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param1}鍙樻洿涓�${param2}",1), CA_PLATFORM_CHECK_SIGNATURE(15, "浼佷笟绛剧珷","",1), CA_COMPANY_EDIT(16, "鎵瑰崟淇敼","鎻愪氦鎰忚锛�${param1}\n${param2}",1), CA_COMPANY_COMMIT(17, "鎻愪氦鎶曚繚","",1), CA_COMPANY_BACK_APPLY(18, "鐢宠閫�鍥�","鎻愪氦鎰忚锛�${param}",1), - CA_COMPANY_CLOSE(19, "鍏抽棴璁㈠崟","",1), + CA_COMPANY_CLOSE(19, "鍏抽棴鐢宠","",1), CA_PALTFORM_REFUSE_APPLY(20, "椹冲洖閫�鍥炵敵璇�","",1), CA_PALTFORM_EDIT_PIDAN(21, "淇敼鎵瑰崟","淇敼鍘熷洜锛�${param}",1), CA_JIAJIAN_APPLY_SIGN(23, "鍔犲噺淇濈敵璇蜂紒涓氱绔�","",1), @@ -1000,6 +1090,7 @@ IA_HBD_UPLOAD_INSURANCE(35, "鎶曚繚瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param1}鍙樻洿涓�${param2}",3), IA_HBD_CLOSE(36, "閫�鍥炵敵璇�","鍘熷洜锛�${param}",3), IA_HBD_UPLOAD_BXD(41, "涓婁紶淇濋櫓鍗�","",3), + IA_HBD_REEXAMINE_PASS(42, "澶嶅閫氳繃","",3), @@ -1099,6 +1190,7 @@ UPLOAD_INSURANCE_POLICY(2, "寰呭嚭鍗�","",0), FINISH(3, "淇濋殰涓�","",0), CLOSE(4, "宸查��鍥�","",0), + RETRIAL(5, "寰呭鏍�","",0), ; // 鎴愬憳鍙橀噺 private String name; @@ -1386,7 +1478,7 @@ CLOSE(9, "璁㈠崟鍏抽棴","",6), PLATFORM_CHECK_PASS(10,"骞冲彴鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",0), COMPANY_BACK_APPLY_PASS(11, "浼佷笟鐢宠閫�鍥�(骞冲彴鎶曚繚瀹℃牳閫氳繃)","鎻愪氦鎰忚锛�${param}",5), - + REEXAMINE(12, "鍟嗘埛鎴栧钩鍙板瀹�","澶嶅鎰忚锛�${param}",0), WTB_UPLOAD(20, "鎻愪氦鎶曚繚","",28), @@ -1395,7 +1487,7 @@ WTB_BUSINESS_CHECK_PASS(23,"鍟嗘埛鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",23), WTB_RETURN(24, "宸查��鍥�","鎻愪氦鎰忚锛�${param}",24), WTB_CLOSED(25, "宸插叧闂�","鎻愪氦鎰忚锛�${param}",25), - WTB_TOUBAOING(26, "鎶曚繚涓�","鎻愪氦鎰忚锛�${param}",26), + WTB_TOUBAOING(26, "寰呭嚭鍗�","鎻愪氦鎰忚锛�${param}",26), WTB_DONE(27, "淇濋殰涓�","鎻愪氦鎰忚锛�${param}",27), ; @@ -1492,7 +1584,10 @@ CHANGE_FACTORY(2, "鍛樺伐鎹㈠巶鐢宠","淇濋櫓鏂规"), DISPATCH_UNIT(3, "娲鹃仯鍗曚綅鐢宠","娲鹃仯鍗曚綅"), TAXES(4, "寮�绁ㄧ敵璇�","寮�绁ㄩ噾棰�"), - SETTLE_CLAIMS(5, "鎶ユ鐞嗚禂","鎶ユ浜�") + SETTLE_CLAIMS(5, "鎶ユ鐞嗚禂","鎶ユ浜�"), + CONTRACT(6, "鍚堝悓绛剧讲","鍚堝悓绛剧讲"), + SOLUTIONS(7, "鏂规绛剧讲","鏂规绛剧讲"), + COMPANY_USER_APPLY(8, "闆嗗洟鐢宠","闆嗗洟鐢宠"), ; // 鎴愬憳鍙橀噺 private int key; @@ -1547,18 +1642,19 @@ public enum NoticeType { - ZERO(0, "寰呭鏍�","","","寰呭鏍�","寰呭鐞�","澶勭悊涓�"), - ONE(1, "浼佷笟寰呯缃�","","","宸ョ寰呭鏍�","","宸茬粨妗�"), - TWO(2, "寰呭嚭鍗�","寰呭鏍�","寰呭鏍�","","",""), - THREE(3, "鐢宠閫�鍥�","鐢宠閫�鍥�","鐢宠閫�鍥�","","",""), - FOUR(4, "宸查��鍥�","宸查��鍥�","宸查��鍥�","","","宸叉挙閿�"), - FIVE(5, "鐢宠椹冲洖","鐢宠椹冲洖","鐢宠椹冲洖","","",""), + ZERO(0, "寰呭鏍�","","","寰呭鏍�","寰呭鐞�","澶勭悊涓�","寰呯缃�","寰呯缃�"), + ONE(1, "浼佷笟寰呯缃�","","","宸ョ寰呭鏍�","","宸茬粨妗�","",""), + TWO(2, "寰呭嚭鍗�","寰呭鏍�","寰呭鏍�","","","","",""), + THREE(3, "鐢宠閫�鍥�","鐢宠閫�鍥�","鐢宠閫�鍥�","","","","",""), + FOUR(4, "宸查��鍥�","宸查��鍥�","宸查��鍥�","","","宸叉挙閿�","",""), + FIVE(5, "鐢宠椹冲洖","鐢宠椹冲洖","鐢宠椹冲洖","","","","",""), //缁繚閫氱煡 - SIX(6, "","","","","",""), + SIX(6, "","","","","","","",""), //鍟嗘埛绔� 濮旀墭淇� - 鎶曚繚寰呭鏍� 鍔犲噺淇� 鎹㈠巶 寰呭鏍� - SEVEN(7, "寰呭鏍�","寰呭鏍�","寰呭鏍�","","",""), - EIGHT(8, "","","","","",""), - NINE(9, "","","","","",""), + SEVEN(7, "寰呭鏍�","寰呭鏍�","寰呭鏍�","","","","",""), + //寰呭瀹� + EIGHT(8, "寰呭鏍�","","","","","","",""), + NINE(9, "","","","","","","",""), ; // 鎴愬憳鍙橀噺 @@ -1569,11 +1665,13 @@ private String dispatchUnitDetail; private String taxesDetail; private String settleClaimsDetail; + private String contract; + private String solutions; // 鏋勯�犳柟娉� NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail , String changeFactoryDetail,String dispatchUnitDetail - , String taxesDetail,String settleClaimsDetail) { + , String taxesDetail,String settleClaimsDetail,String contract,String solutions) { this.status = status; this.insuranceApplyDetail = insuranceApplyDetail; this.applyChangeDetail = applyChangeDetail; @@ -1581,6 +1679,8 @@ this.dispatchUnitDetail = dispatchUnitDetail; this.taxesDetail = taxesDetail; this.settleClaimsDetail = settleClaimsDetail; + this.contract = contract; + this.solutions = solutions; } // 鏅�氭柟娉� @@ -1599,6 +1699,10 @@ return c.getTaxesDetail(); }else if(type == NoticeObjectType.SETTLE_CLAIMS.getKey()){ return c.getSettleClaimsDetail(); + }else if(type == NoticeObjectType.CONTRACT.getKey()){ + return c.getContract(); + }else if(type == NoticeObjectType.SOLUTIONS.getKey()){ + return c.getContract(); } } } @@ -1662,6 +1766,13 @@ this.settleClaimsDetail = settleClaimsDetail; } + public String getContract() { + return contract; + } + + public void setContract(String info) { + this.contract = contract; + } } @@ -1736,6 +1847,52 @@ } + public enum CONTRACT_STATUS{ + WAIT(0, "寰呯缃�"), + OUT_SIGN(1, "鎴戞柟宸茬缃�"), + COMPANY_SIGN(2, "浼佷笟/鍟嗘埛宸茬缃�"), + FINISH(3, "宸插畬鎴�"), + CANCEL(4, "宸插彇娑�"), + CLOSE(5, "宸插叧闂�"), + ; + // 鎴愬憳鍙橀噺 + private String name; + private int key; + + // 鏋勯�犳柟娉� + CONTRACT_STATUS(int key, String name) { + this.name = name; + this.key = key; + } + // 鏅�氭柟娉� + public static String getName(int index) { + for (CONTRACT_STATUS c : CONTRACT_STATUS.values()) { + if (c.getKey() == index) { + return c.name; + } + } + return null; + } + // get set 鏂规硶 + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getKey() { + return key; + } + + public void setKey(int key) { + this.key = key; + } + + + + } public enum SettleClaimsStatus { @@ -2133,7 +2290,13 @@ InputStream inStream = null; OutputStream os = null; try { - String tempDir = System.getProperty("java.io.tmpdir")+fileName; + String tempDir = "C:\\hj\\jars\\temp\\"; + File f = new File(tempDir); + if(!f.exists() ){ + f.mkdirs(); + } + tempDir += fileName; + System.out.println(url+"================="+tempDir); file = new File(tempDir); //涓嬭浇 urlfile = new URL(url); @@ -2159,25 +2322,44 @@ } } }catch (Exception e){ - + e.printStackTrace(); } return file; } - public static void packFilesToZip(List<File> files, ServletOutputStream os) throws IOException { - try (ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(os)) { + public static void packFilesToZip(List<File> files, OutputStream os) throws IOException { + try { + ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(os); + zipOutputStream.setUseZip64(Zip64Mode.AsNeeded); for (File file : files) { + if(!file.exists()){ + System.out.println("===鏂囦欢涓嶅瓨鍦�======="+file.getPath()); + continue; + }else{ + System.out.println("===鏂囦欢瀛樺湪======="+file.getPath()); + } ZipArchiveEntry entry = new ZipArchiveEntry(file.getName()); zipOutputStream.putArchiveEntry(entry); - try (FileInputStream fileInputStream = new FileInputStream(file)) { - byte[] buffer = new byte[1024]; - int length; - while ((length = fileInputStream.read(buffer)) > 0) { - zipOutputStream.write(buffer, 0, length); - } + FileInputStream fileInputStream = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int length; + while ((length = fileInputStream.read(buffer)) > 0) { + zipOutputStream.write(buffer, 0, length); } zipOutputStream.closeArchiveEntry(); + zipOutputStream.flush(); + IoUtil.close(fileInputStream); file.delete(); + } + }catch (Exception e){ + throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR.getCode(),"瀵逛笉璧凤紝涓嬭浇鍘嬬缉鏂囦欢澶辫触"); + }finally { + if (os != null) { + try { + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } } } } @@ -2204,18 +2386,18 @@ }else{ if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ //澶╀负鎵规敼鍗曚綅 - return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { //鍗婃湀涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); //鏍规嵁鎶曚繚鍛ㄦ湡 瀹氫箟鐨� 姣忎釜鍛ㄦ湡 = X涓� 鍗婃湀鍛ㄦ湡 杩涜璁$畻 // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� - return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { //鏈堜唤涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(reduceEndTime,reduceStartTime)); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 2 - return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { //瀛e害涓烘壒鏀瑰崟浣� @@ -2224,7 +2406,7 @@ //杞崲涓� 鎬诲搴� cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { //鍗婂勾涓烘壒鏀瑰崟浣� //鏌ヨ浜х敓璐圭敤鎬绘湀浠� @@ -2232,7 +2414,7 @@ //杞崲涓� 鍗婂勾 cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏂规閰嶇疆閿欒"); } @@ -2257,18 +2439,18 @@ }else{ if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ //澶╀负鎵规敼鍗曚綅 - return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { //鍗婃湀涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); //鏍规嵁鎶曚繚鍛ㄦ湡 瀹氫箟鐨� 姣忎釜鍛ㄦ湡 = X涓� 鍗婃湀鍛ㄦ湡 杩涜璁$畻 // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� - return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { //鏈堜唤涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(newEndTime,newStartTime)); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 2 - return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { //瀛e害涓烘壒鏀瑰崟浣� @@ -2277,7 +2459,7 @@ //杞崲涓� 鎬诲搴� cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { //鍗婂勾涓烘壒鏀瑰崟浣� //鏌ヨ浜х敓璐圭敤鎬绘湀浠� @@ -2285,7 +2467,7 @@ //杞崲涓� 鍗婂勾 cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏂规閰嶇疆閿欒"); } @@ -2313,18 +2495,18 @@ }else{ if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ //澶╀负鎵规敼鍗曚綅 - return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { //鍗婃湀涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); //鏍规嵁鎶曚繚鍛ㄦ湡 瀹氫箟鐨� 姣忎釜鍛ㄦ湡 = X涓� 鍗婃湀鍛ㄦ湡 杩涜璁$畻 // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� - return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { //鏈堜唤涓烘壒鏀瑰崟浣� BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(new Date(),startTime)); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 2 - return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { //瀛e害涓烘壒鏀瑰崟浣� @@ -2333,7 +2515,7 @@ //杞崲涓� 鎬诲搴� cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { //鍗婂勾涓烘壒鏀瑰崟浣� //鏌ヨ浜х敓璐圭敤鎬绘湀浠� @@ -2341,7 +2523,7 @@ //杞崲涓� 鍗婂勾 cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏂规閰嶇疆閿欒"); } @@ -2357,26 +2539,38 @@ }else{ if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ //澶╀负鎵规敼鍗曚綅 - return fee.divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); + return fee.divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { //鏍规嵁鎶曚繚鍛ㄦ湡 瀹氫箟鐨� 姣忎釜鍛ㄦ湡 = X涓� 鍗婃湀鍛ㄦ湡 杩涜璁$畻 // 鎬婚噾棰� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� - return fee.divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { // 鎬婚噾棰� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 2 - return fee.multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { //瀛e害涓烘壒鏀瑰崟浣� // 鎬婚噾棰� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { //鍗婂勾涓烘壒鏀瑰崟浣� // 鎬婚噾棰� * 浜х敓璐圭敤鐨勫懆鏈� / 鎶曚繚鍛ㄦ湡瀹氫箟鐨� 鍗婃湀鍛ㄦ湡鏁� * 6 - return fee.multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); + return fee.multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); }else { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏂规閰嶇疆閿欒"); } } } + public static BigDecimal getTwoPoint(BigDecimal bigDecimal){ + if(Objects.isNull(bigDecimal)){ + return BigDecimal.ZERO; + } + if(BigDecimal.ZERO.compareTo(bigDecimal) == 0){ + return BigDecimal.ZERO; + } + return bigDecimal.setScale(2,BigDecimal.ROUND_DOWN); + } + + + } -- Gitblit v1.9.3