From 029de836702607a95ccb0a69a74efcea52ddc451 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 25 九月 2025 19:35:38 +0800 Subject: [PATCH] 上海对农数据接口调整2 --- src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1302.java | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 284 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1302.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1302.java new file mode 100644 index 0000000..7747828 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1302.java @@ -0,0 +1,284 @@ +package com.fzzy.async.fzzy61.impl; + +import com.fzzy.api.Constant; +import com.fzzy.api.entity.Api1105; +import com.fzzy.api.entity.Api1302; +import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.Api1302Rep; +import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.async.fzzy61.entity.Fz61Grain; +import com.fzzy.async.fzzy61.repository.Fzzy61Sync1302Rep; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + + +/** + * 娓╂箍搴︽娴嬫暟鎹悓姝� + * + * @author czt + * @date 2022-09-07 14:41 + */ +@Slf4j +@Component +public class Fzzy61Sync1302 { + + @Autowired + private Fzzy61Sync1302Rep fzzySync1302Rep; + @Autowired + private ApiCommonService commonService; + @Autowired + private Api1302Rep api1302Rep; + @Autowired + private ApiLogRep apiLogRep; + + + /** + * 鍚屾骞跺皝瑁呬繚瀛樻俯婀垮害妫�娴嬫暟鎹� + * + * @param deptId 绯荤粺瀵瑰簲搴撳尯缂栫爜 + * @param start 璧峰鏃堕棿 + * @param end 鎴鏃堕棿 + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------1302鎺ュ彛娓╂箍搴︽暟鎹紑濮嬪悓姝�------------------"); + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1302); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + List<Fz61Grain> list = fzzySync1302Rep.findByReceiveDate(start, end); + + if (null == list || list.isEmpty()) { + log.info("1302娓╂箍搴�---鍚屾鏁版嵁锛氭病鏈夋煡璇㈠埌闇�瑕佸悓姝ョ殑鏁版嵁"); + return; + } + + Date syncTime = new Date(); + Api1302 api1302; + Api1105 api1105; + List<Api1302> api1302List; + for (Fz61Grain fz61Grain : list) { + //鑾峰彇璐т綅淇℃伅 + api1105 = commonService.getApi1105Cache(fz61Grain.getDepotId()); + if (null == api1105) { + continue; + } + + //鐢辫揣浣嶄唬鐮�+妫�娴嬫棩鏈� 锛坹yyyMMdd锛� +4 浣嶉『搴忓彿缁勬垚 --2019 1128 0819 + api1302 = new Api1302(); + api1302.setWsdjcdh(api1105.getHwdm() + fz61Grain.getBatchId()); + api1302.setJcsj(fz61Grain.getReceiveDate()); + api1302.setHwdm(api1105.getHwdm()); + + api1302.setCfww(fz61Grain.getTempOut() == null ? 0.00 : fz61Grain.getTempOut()); + if (null == fz61Grain.getHumidityOut() || fz61Grain.getHumidityOut() < 0) { + api1302.setCfws(-1); + } else { + api1302.setCfws(fz61Grain.getHumidityOut()); + } + + api1302.setCfnw(fz61Grain.getTempIn() == null ? 0.00 : fz61Grain.getTempIn()); + if (null == fz61Grain.getHumidityIn() || fz61Grain.getHumidityIn() < 0) { + api1302.setCfns(0); + } else { + api1302.setCfns(fz61Grain.getHumidityIn()); + } + + api1302.setLszgw(fz61Grain.getTempMax() == null ? 0.00 : fz61Grain.getTempMax()); + api1302.setLspjw(fz61Grain.getTempAve() == null ? 0.00 : fz61Grain.getTempAve()); + api1302.setLszdw(fz61Grain.getTempMin() == null ? 0.00 : fz61Grain.getTempMin()); + + //鍒ゆ柇绮鏈�浣庢俯銆佸钩鍧囨俯銆佹渶楂樻俯鏄惁绗﹀悎閫昏緫 + if (api1302.getLszdw() >= api1302.getLspjw()) { + continue; + } + if (api1302.getLspjw() >= api1302.getLszgw()) { + continue; + } + + //娓╁害闆嗗悎 + if (StringUtils.isEmpty(fz61Grain.getCableCir())) { + api1302.setLswdzjh(getTempPointList1(fz61Grain.getPoints(), fz61Grain.getCable())); + api1302.setLssdzjh(getHumPointList1(fz61Grain.getPoints(), fz61Grain.getCable())); + if(StringUtils.isEmpty(api1302.getLswdzjh())){ + continue; + } + if(StringUtils.isEmpty(api1302.getLssdzjh())){ + continue; + } + } else { + api1302.setLswdzjh(getTempPointList2(fz61Grain.getPoints(), fz61Grain.getCable(), fz61Grain.getCableCir())); + api1302.setLssdzjh(getHumPointList2(fz61Grain.getPoints(), fz61Grain.getCable(), fz61Grain.getCableCir())); + if(StringUtils.isEmpty(api1302.getLswdzjh())){ + continue; + } + if(StringUtils.isEmpty(api1302.getLssdzjh())){ + continue; + } + } + + api1302.setZhgxsj(new Date()); + + api1302.setBizId(fz61Grain.getBatchId()); + api1302.setKqdm(api1105.getKqdm()); + api1302.setSyncTime(syncTime); + api1302List = api1302Rep.getDataByWsdjcdh(api1302.getWsdjcdh()); + if (null == api1302List || api1302List.isEmpty()) { + api1302.setCzbz(Constant.CZBZ_I); + } else { + api1302.setCzbz(api1302List.get(0).getCzbz()); + } + log.info("1302娓╂箍搴�---鍚屾鏁版嵁锛�" + api1302.toString()); + api1302Rep.save(api1302); + } + + } catch (Exception e) { + log.error("---鍚屾澶辫触----{}", e.toString()); + apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + + } + + public static void main(String[] args) { + String point = "31.8,20.0,15.1,18.6,28.2,14.3,11.3,16.1,28.1,15.6,13.3,18.4,28.8,16.6,10.2,14.4,27.8,14.3,10.8,16.0,27.5,14.5,11.7,17.1,26.5,13.6,10.1,15.0,29.7,17.4,13.8,17.8,29.7,18.6,15.0,18.6,26.4,13.5,9.2,13.1,27.6,11.8,8.9,13.5,28.1,12.0,8.6,12.8,27.8,11.6,7.6,12.4,26.1,10.8,7.5,12.6,27.8,10.3,7.1,12.0,26.1,11.3,8.5,12.7,28.6,16.9,12.9,17.7,29.1,12.3,8.8,12.1,27.4,11.9,8.6,12.8,29.0,11.5,7.6,11.1,26.9,10.2,8.0,12.7,27.0,9.6,7.7,13.5,26.7,9.5,7.1,12.3,26.3,10.7,8.4,13.4,27.6,15.9,11.5,15.8,28.7,12.6,8.7,12.2,28.1,12.2,8.8,12.5,30.3,11.9,8.0,12.0,27.9,11.1,7.8,11.5,26.3,10.1,7.8,12.0,27.2,10.5,6.9,11.1,27.1,11.6,9.5,13.6,27.4,14.8,10.7,16.6,27.7,12.4,9.1,13.0,27.7,13.2,9.0,12.8,27.5,12.1,8.1,12.6,26.6,11.8,7.3,12.3,26.8,10.5,8.0,13.3,26.3,11.0,7.6,12.5,26.1,10.6,8.5,13.5,29.8,21.3,15.5,17.8,28.3,18.2,11.6,12.8,29.4,17.4,13.0,16.1,28.4,22.3,14.6,15.4,28.7,17.5,11.8,15.2,26.5,14.6,10.9,14.8,27.8,15.3,10.3,14.8,27.6,16.7,13.6,17.4"; + String cable = "4-6-8"; + String tempPointList1 = getTempPointList1(point, cable); + System.out.println(tempPointList1); + } + + /** + * 鑾峰彇骞虫柟浠撶殑娓╁害鍊奸泦鍚堬紝鏍煎紡锛氭俯搴﹀��,灞傛暟,琛屾暟,鍒楁暟|娓╁害鍊�,灞傛暟,琛屾暟,鍒楁暟|娓╁害鍊�,灞傛暟,琛屾暟,鍒楁暟 + * + * @return + */ + private static String getTempPointList1(String point, String cable) { + String[] cab = cable.split("-"); + int c = Integer.valueOf(cab[0]); + int h = Integer.valueOf(cab[1]); + int l = Integer.valueOf(cab[2]); + + String[] points = point.split(","); + String result = ""; + if (c * h * l > points.length) { + return result; + } + for (int i = 1; i <= l; i++) { + for (int j = 1; j <= h; j++) { + for (int z = 1; z <= c; z++) { + result += ("|" + points[((i-1)*h+j-1)*c + z -1] + "," + z + "," + j + "," + i); + } + } + } + if(result.length() > 0){ + result = result.substring(1); + } + return result; + } + + /** + * 鑾峰彇绛掍粨鐨勬俯搴﹀�奸泦鍚堬紝鏍煎紡锛氭俯搴﹀��,鍦堟暟,鐐规暟,灞傛暟|娓╁害鍊�,鍦堟暟,鐐规暟,灞傛暟|娓╁害鍊�,鍦堟暟,鐐规暟,灞傛暟 + * + * @return + */ + private String getTempPointList2(String point, String cable, String cableCir) { + String[] cab = cable.split("-"); + String[] cabCir = cableCir.split("-"); + + int q = cab.length; //鍦堟暟 + int c = Integer.valueOf(cabCir[0]); //灞傛暟 + int g = 0; //鍦堟牴鏁� + int g1 = 1; //鍦堣捣濮嬫牴鏁� + int g2 = 0; //鍦堟埅姝㈡牴鏁� + + String[] points = point.split(","); + String result = ""; + for (int i = 1; i <= q; i++) { + g1 += g2; + g = Integer.valueOf(cab[i - 1]); + g2 += g; + for (int j = g1; j <= g2; j++) { + for (int z = 1; z <= c; z++) { + result += ("|" + points[(j - 1) * c + z - 1] + "," + i + "," + j + "," + z); + } + } + + } + if(result.length() > 0){ + result = result.substring(1); + } + return result; + } + + /** + * 鑾峰彇骞虫柟浠撶殑婀垮害鍊奸泦鍚堬紝鏍煎紡锛氭箍搴�,灞傛暟,琛屾暟,鍒楁暟|婀垮害,灞傛暟,琛屾暟,鍒楁暟|婀垮害,灞傛暟,琛屾暟,鍒楁暟 + * + * @return + */ + private String getHumPointList1(String point, String cable) { + String[] cab = cable.split("-"); + int c = Integer.valueOf(cab[0]); + int h = Integer.valueOf(cab[1]); + int l = Integer.valueOf(cab[2]); + + // String[] points = point.split(","); + String result = ""; + for (int i = 1; i <= l; i++) { + for (int j = 1; j <= h; j++) { + for (int z = 1; z <= c; z++) { + result += ("|" + "-1" + "," + z + "," + j + "," + i); + } + } + } + if(result.length() > 0){ + result = result.substring(1); + } + return result; + } + + /** + * 鑾峰彇绛掍粨鐨勬箍搴﹀�奸泦鍚堬紝鏍煎紡锛氭箍搴�,鍦堟暟,鐐规暟,灞傛暟|婀垮害,鍦堟暟,鐐规暟,灞傛暟|婀垮害,鍦堟暟,鐐规暟,灞傛暟 + * + * @return + */ + private String getHumPointList2(String point, String cable, String cableCir) { + String[] cab = cable.split("-"); + String[] cabCir = cableCir.split("-"); + + int q = cab.length; //鍦堟暟 + int c = Integer.valueOf(cabCir[0]); //灞傛暟 + int g = 0; //鍦堟牴鏁� + int g1 = 1; //鍦堣捣濮嬫牴鏁� + int g2 = 0; //鍦堟埅姝㈡牴鏁� + + // String[] points = point.split(","); + String result = ""; + for (int i = 1; i <= q; i++) { + g1 += g2; + g = Integer.valueOf(cab[i - 1]); + g2 += g; + for (int j = g1; j <= g2; j++) { + for (int z = 1; z <= c; z++) { + result += ("|" + "-1" + "," + i + "," + j + "," + z); + } + } + + } + if(result.length() > 0){ + result = result.substring(1); + } + return result; + } +} -- Gitblit v1.9.3