From bc82af6e3664195bbcade1c769c8553457bfb09a Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 07 八月 2025 10:14:29 +0800 Subject: [PATCH] 优化粮权单位获取 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java | 229 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 168 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java index 243c1e7..d6d0ff8 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java @@ -6,19 +6,25 @@ import com.fzzy.api.entity.Api1205; import com.fzzy.api.entity.ApiLog; import com.fzzy.api.utils.ContextUtil; -import com.fzzy.api.utils.FileUtil; +import com.fzzy.api.utils.FileUtils; import com.fzzy.api.view.repository.Api1109Rep; import com.fzzy.api.view.repository.Api1202Rep; import com.fzzy.api.view.repository.Api1205Rep; import com.fzzy.api.view.repository.ApiLogRep; import com.fzzy.async.fzzy40.entity.Fz40FileInfo; +import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1109Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.text.ParseException; import java.util.*; +import java.util.stream.Collectors; /** * 鏂囦欢淇℃伅 @@ -45,10 +51,17 @@ private final static String BIZ_TAG_WEIGHT_FULL = "WEIGHT_FULL"; private final static String BIZ_TAG_WEIGHT_EMPTY = "WEIGHT_EMPTY"; private final static String BIZ_TAG_REGISTER = "REGISTER"; - private final static String BIZ_TAG_HANDLE = "HANDLE"; + private final static String BIZ_TAG_CARD_BACK = "CARD_BACK"; + /** + * 鍑哄叆搴撶被鍨� + */ + private final static String INOUT_TYPE_IN = "IN"; + private final static String INOUT_TYPE_OUT = "OUT"; @Autowired private Fzzy40Sync1109Rep fzzySync1109Rep; + @Autowired + private Fzzy40Sync1202Rep fzzySync1202Rep; @Autowired private Api1109Rep api1109Rep; @Autowired @@ -58,7 +71,7 @@ @Autowired private ApiLogRep apiLogRep; @Autowired - private FileUtil fileUtil; + private FileUtils fileUtil; /** * 鍚屾鏂囦欢鎺ュ彛 @@ -80,7 +93,8 @@ apiLog.setStatus(99); apiLog.setId(ContextUtil.getUUID()); try { - List<Fz40FileInfo> list = fzzySync1109Rep.listFileInfo(start, end); + //鑾峰彇鍑哄叆搴撴暟鎹� + List<Fz40InoutRecord> list = fzzySync1202Rep.listInAndOutRecord(deptId, INOUT_TYPE_IN, INOUT_TYPE_OUT, start, end); if (null == list || list.isEmpty()) { log.info("-------------娌℃湁鑾峰彇鍒版枃浠朵俊鎭�------------------"); @@ -94,58 +108,108 @@ List<Api1109> api1109List; List<Api1202> api1202List; List<Api1205> api1205List; - String str = ""; - for (Fz40FileInfo sysData : list) { - if (StringUtils.isEmpty(sysData.getBizId())) { + String str = ""; //鍑哄叆搴撲笟鍔″崟鍙� + List<Fz40FileInfo> fileList; //鏂囦欢淇℃伅 + List<String> ids; + for (Fz40InoutRecord inoutData : list) { + if (inoutData.getRecordStatus().equals("DEL") || inoutData.getRecordStatus().equals("ERROR")) { continue; } - //鏍规嵁鍥剧墖id鏌ヨ瀵瑰簲鍑哄叆搴撲俊鎭� - if(sysData.getBizId().startsWith(IMG_START_R)){ - api1202List = api1202Rep.getDataByBizId(sysData.getBizId()); + if (!inoutData.getProgress().equals("RECORD")){ + continue; + } + ids = new ArrayList<>(); + wjlx = ""; + //鑾峰彇鍑哄叆搴撲笟鍔″崟鍙蜂俊鎭� + if (inoutData.getType().equals(INOUT_TYPE_IN)) { + wjlx = IMG_TYPE_2; + api1202List = api1202Rep.getDataByBizId(inoutData.getId()); if (null == api1202List || api1202List.isEmpty()) { continue; } - str = api1202List.get(0).getRkywdh(); + ids = api1202List.stream().map(Api1202::getRkywdh).collect(Collectors.toList()); } - if(sysData.getBizId().startsWith(IMG_START_C)){ - api1205List = api1205Rep.getDataByBizId(sysData.getBizId()); + if (inoutData.getType().equals(INOUT_TYPE_OUT)) { + wjlx = IMG_TYPE_3; + api1205List = api1205Rep.getDataByBizId(inoutData.getId()); if (null == api1205List || api1205List.isEmpty()) { continue; } - str = api1205List.get(0).getCkywdh(); + ids = api1205List.stream().map(Api1205::getCkywdh).collect(Collectors.toList()); + } - //鍙悓姝ョО閲� - if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) { - wjlx = ""; - wjmc = kqdm; - //鍏ュ簱鎶撴媿鍥� - if (sysData.getBizId().startsWith(IMG_START_R)) { - wjlx = IMG_TYPE_2; - wjmc += "_" + Constant.INOUT_TYPE_14 + sysData.getBizId().substring(4); - } - //鍑哄簱鎶撴媿鍥� - if (sysData.getBizId().startsWith(IMG_START_C)) { - wjlx = IMG_TYPE_3; - wjmc += "_" + Constant.INOUT_TYPE_15 + sysData.getBizId().substring(4); - } - //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩� - if (StringUtils.isEmpty(wjlx)) { - continue; - } + //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩� + if (StringUtils.isEmpty(wjlx)) { + continue; + } + //鏍规嵁鍑哄叆搴撳崟鍙疯幏鍙栧搴旀枃浠朵俊鎭� + fileList = fzzySync1109Rep.listFileInfoByBizId(inoutData.getId()); + if (null == fileList || fileList.isEmpty()) { + continue; + } + int num = 1; + int idsNum = 0; + String bizTag = null; + for (Fz40FileInfo sysData : fileList) { apiData = new Api1109(); //涓婚敭id - apiData.setId(UUID.randomUUID().toString()); + apiData.setId(sysData.getFileId()); //鏂囦欢璺緞 apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName()); + //鐧昏 + if (BIZ_TAG_REGISTER.equals(sysData.getBizTag()) || BIZ_TAG_CARD_BACK.equals(sysData.getBizTag())) { + str = ids.get(0); + wjmc = kqdm + "_" + str; + //鏂囦欢鍚嶇О + wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map); + apiData.setWjmc(wjmc); + //鏂囦欢绫诲瀷 + apiData.setWjlx(wjlx); + } + //绉伴噸 + if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) { + bizTag = sysData.getBizTag(); + if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){ + if(num > 6){ + num = 1; + idsNum ++; + } + }else { + if(num > 8){ + num = 1; + idsNum ++; + } + } + //2024-05-23 姝ゅ鏆傛椂璁剧疆鍚嶇О闀垮害闄愬埗锛屽悗鏈熻皟鏁村悗鍙垹闄� + if(sysData.getCreateTime().after(DateUtils.parseDate("2024-04-18",new String[]{"yyyy-MM-dd"}))){ + if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){ + bizTag = sysData.getBizTag(); + }else { + bizTag = null; + } + } + if(idsNum == ids.size()){ + break; + } + str = ids.get(idsNum); - //鏂囦欢鍚嶇О - wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map); - apiData.setWjmc(wjmc); - //鏂囦欢绫诲瀷 - apiData.setWjlx(wjlx); + wjmc = kqdm + "_" + str; + + //鏂囦欢鍚嶇О + wjmc = getImgNameType(wjmc, bizTag, str, sysData.getFileName(), map); + apiData.setWjmc(wjmc); + apiData.setWjlx(wjlx); + if (wjmc.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) { + apiData.setWjlx(IMG_TYPE_4); + } + if (wjmc.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) { + apiData.setWjlx(IMG_TYPE_5); + } + num ++; + } //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� apiData.setZhgxsj(new Date()); @@ -185,30 +249,54 @@ * @return */ private String getImgNameType(String wjmc, String bizTag, String bizId, String fileName, Map<String, Integer> map) { - if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg"; + if(null == bizTag){ + if (fileName.indexOf(Constant.IMG_NAME_TYPE_DJ) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_DJ + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_RK) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_RK + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_CK) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_CK + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_IVG + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_IVT + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_OVG + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_OVT + ".mp4"; + } } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg"; - } - if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) { - return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg"; - } + Integer num = 0; //姣涢噸 if (BIZ_TAG_WEIGHT_FULL.equals(bizTag)) { @@ -248,6 +336,25 @@ map.remove(bizId + "_" + bizTag); } } + //鍏ュ簱鐧昏 + if (BIZ_TAG_REGISTER.equals(bizTag)) { + if (null == map.get(bizId + "_" + bizTag)) { + map.put(bizId + "_" + bizTag, 1); + } + num = map.get(bizId + "_" + bizTag); + if (num == 1) { + wjmc += "_" + Constant.IMG_NAME_TYPE_DJ; + map.put(bizId + "_" + bizTag, 2); + } + if (num == 2) { + wjmc += "_" + Constant.IMG_NAME_TYPE_RK; + map.remove(bizId + "_" + bizTag); + } + } + //鍑哄簱鐓х墖 + if (BIZ_TAG_CARD_BACK.equals(bizTag)) { + wjmc += "_" + Constant.IMG_NAME_TYPE_CK; + } return wjmc + ".jpg"; } } -- Gitblit v1.9.3