From 54b61daf58037385cb8d46404b12a95786c7c8f3 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期五, 28 六月 2024 19:55:06 +0800 Subject: [PATCH] 上海省平台协议-增加数据相符性接口 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java | 161 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 110 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java index 1df9693..b994e52 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java @@ -4,6 +4,7 @@ import com.fzzy.api.Constant; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.entity.*; +import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.utils.ContextUtil; import com.fzzy.api.view.repository.*; import com.fzzy.async.fzzy40.entity.*; @@ -17,12 +18,10 @@ import com.fzzy.otherview.gd2022.dto.GdApi1023Way; import com.fzzy.push.gd2022.ApiCodeConstant; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.text.DateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -36,6 +35,12 @@ @Component public class Fzzy40Sync1023 { @Autowired + private Api1101Rep api1101Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private Api1105Rep api1105Rep; + @Autowired private Fzzy40Sync1023Rep fzzy40Sync1023Rep; @Autowired private Fzzy40SyncDrugLogPeopleRep drugLogPeopleRep; @@ -45,6 +50,8 @@ private Fzzy40SyncDrugLogDtlRep drugLogDtlRep; @Autowired private ApiLogRep apiLogRep; + @Autowired + private ApiCommonService commonService; @Autowired private ApiInfoDataRep apiInfoDataRep; @@ -56,7 +63,7 @@ * @param start * @param end */ - public void syncData(String deptId, Date start, Date end) { + public void syncData(String kqdm, String deptId, Date start, Date end) { log.info("-------------1023鎺ュ彛璁惧淇℃伅寮�濮嬪悓姝�------------------"); //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� @@ -64,82 +71,134 @@ apiLog.setType(ApiLog.TYPE_SYNC); apiLog.setKqdm(deptId); apiLog.setUploadTime(new Date()); - apiLog.setInteId(Constant.API_CODE_1107); + apiLog.setInteId(ApiCodeConstant.API_1023); apiLog.setStatus(99); apiLog.setId(ContextUtil.getUUID()); try { - List<Fz4DrugLogApply> list = fzzy40Sync1023Rep.listDrugLogApply(deptId); + List<Fz40DrugLogApply> list = fzzy40Sync1023Rep.listDrugLogApply(deptId); if (null == list || list.isEmpty()) { log.info("-------------娌℃湁鑾峰彇鍒扮啅钂稿妗堜俊鎭�------------------"); return; } + List<GdApi1023Dtl> dtlList; + List<GdApi1023Way> wayList; + List<GdApi1023People> peopleList; - List<GdApi1023Dtl> dtlList = new ArrayList<>(); - List<GdApi1023Way> wayList = new ArrayList<>(); - List<GdApi1023People> peopleList = new ArrayList<>(); - for (Fz4DrugLogApply data : list) { - //鍌ㄧ伯绮儏鏄庣粏琛� - String tbrq = ""; - if(null != data.getTbrq()){ - tbrq = DateFormatUtils.format(data.getTbrq(), "yyyyMMdd"); - } - List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm()+data.getDeptId()+tbrq); - for (Fz40DrugLogDtl dtl : dtls) { - GdApi1023Dtl gdApi1023Dtl = new GdApi1023Dtl(); - BeanUtils.copyProperties(dtl, gdApi1023Dtl); - gdApi1023Dtl.setCfdm(dtl.getDepotId()); - gdApi1023Dtl.setLspzdm(dtl.getFoodVariety()); - gdApi1023Dtl.setLsxzdm(dtl.getFoodType()); - gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel()); - gdApi1023Dtl.setLssl(dtl.getNumber()); - gdApi1023Dtl.setSf(dtl.getPerWet()); - gdApi1023Dtl.setZz(dtl.getPerImpurity()); - dtlList.add(gdApi1023Dtl); - } - List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm()+data.getDeptId()+tbrq); - for (Fz40DrugLogWay way : ways) { - GdApi1023Way gdApi1023Way = new GdApi1023Way(); - BeanUtils.copyProperties(way, gdApi1023Way); - wayList.add(gdApi1023Way); - } - List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm()+data.getDeptId()+tbrq); - for (Fz40DrugLogPeople people : peoples) { - GdApi1023People gdApi1023People = new GdApi1023People(); - BeanUtils.copyProperties(people, gdApi1023People); - peopleList.add(gdApi1023People); + GdApi1023 gdApi1023; + GdApi1023Dtl gdApi1023Dtl; + GdApi1023Way gdApi1023Way; + GdApi1023People gdApi1023People; + + List<ApiInfoData> apiInfoList; + ApiInfoData infoData; + for (Fz40DrugLogApply data : list) { + + gdApi1023 = new GdApi1023(); + BeanUtils.copyProperties(data, gdApi1023); + gdApi1023.setXzbm(data.getXzbm().substring(8)); + gdApi1023.setKqdm(kqdm); + List<Api1102> api1102List = api1102Rep.findPushData(kqdm); + if (null != api1102List && api1102List.size() > 0) { + gdApi1023.setKqmc(api1102List.get(0).getKqmc()); } - GdApi1023 gdApi1023 = new GdApi1023(); - BeanUtils.copyProperties(data , gdApi1023); - gdApi1023.setXzbm(data.getXzbm()); - gdApi1023.setKqdm(data.getDeptId()); + gdApi1023.setDwdm(kqdm.substring(0, 18)); + List<Api1101> api1101List = api1101Rep.findPushData(kqdm); + if (null != api1101List && api1101List.size() > 0) { + gdApi1023.setDwmc(api1101List.get(0).getDwmc()); + } gdApi1023.setYjmc(data.getDrugName()); gdApi1023.setYjlx(data.getDrugType()); + gdApi1023.setLqrq(data.getLqsj()); gdApi1023.setZhgxsj(data.getUpdateTime()); - gdApi1023.setDtls(dtlList); - gdApi1023.setWays(wayList); - gdApi1023.setPeoples(peopleList); + //鍌ㄧ伯绮儏鏄庣粏琛� + List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm()); + Api1105 api1105 = commonService.getApi1105Cache(data.getDepotId()); + gdApi1023Dtl = new GdApi1023Dtl(); + BeanUtils.copyProperties(data, gdApi1023Dtl); + if (null != api1105) { + gdApi1023Dtl.setCfmc(api1105.getHwmc()); + gdApi1023Dtl.setCfdm(api1105.getHwdm().substring(0,25)); + } + gdApi1023Dtl.setLspzdm(data.getFoodVariety()); + gdApi1023Dtl.setLsxzdm(data.getFoodType()); + gdApi1023Dtl.setLsdjdm(data.getFoodLevel()); + gdApi1023Dtl.setLssl(data.getNumber()); + gdApi1023Dtl.setSf(data.getPerWet()); + gdApi1023Dtl.setZz(data.getPerImpurity()); + + + dtlList = new ArrayList<>(); + dtlList.add(gdApi1023Dtl); + gdApi1023.setDtls(dtlList); +// if (null != dtls && dtls.size() > 0) { +// dtlList = new ArrayList<>(); +// for (Fz40DrugLogDtl dtl : dtls) { +// gdApi1023Dtl = new GdApi1023Dtl(); +// BeanUtils.copyProperties(dtl, gdApi1023Dtl); +// gdApi1023Dtl.setCfdm(dtl.getDepotId()); +// gdApi1023Dtl.setLspzdm(dtl.getFoodVariety()); +// gdApi1023Dtl.setLsxzdm(dtl.getFoodType()); +// gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel()); +// gdApi1023Dtl.setLssl(dtl.getNumber()); +// gdApi1023Dtl.setSf(dtl.getPerWet()); +// gdApi1023Dtl.setZz(dtl.getPerImpurity()); +// dtlList.add(gdApi1023Dtl); +// } +// gdApi1023.setDtls(dtlList); +// } + + + gdApi1023Way = new GdApi1023Way(); + BeanUtils.copyProperties(data, gdApi1023Way); + wayList = new ArrayList<>(); + wayList.add(gdApi1023Way); + gdApi1023.setWays(wayList); +// List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm()); +// if (null != ways && ways.size() > 0) { +// wayList = new ArrayList<>(); +// for (Fz40DrugLogWay way : ways) { +// gdApi1023Way = new GdApi1023Way(); +// BeanUtils.copyProperties(way, gdApi1023Way); +// wayList.add(gdApi1023Way); +// } +// gdApi1023.setWays(wayList); +// } + + List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm()); + if (null != peoples && peoples.size() > 0) { + peopleList = new ArrayList<>(); + for (Fz40DrugLogPeople people : peoples) { + gdApi1023People = new GdApi1023People(); + BeanUtils.copyProperties(people, gdApi1023People); + gdApi1023People.setXm(people.getMx()); + peopleList.add(gdApi1023People); + } + gdApi1023.setPeoples(peopleList); + } //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃 - ApiInfoData infoData = new ApiInfoData(); - infoData.setId(ContextUtil.getUUID()); - infoData.setKqdm(data.getDeptId()); + infoData = new ApiInfoData(); + + infoData.setKqdm(kqdm); infoData.setInteType(Constant.API_CATEGORY_13); infoData.setInteId(ApiCodeConstant.API_1023); infoData.setBizType(PushProtocol.SB_GD_2022.getCode()); - infoData.setUpdateTime(data.getUpdateTime()); - infoData.setDataId(data.getXzbm() + data.getDeptId() + DateFormatUtils.format(data.getTbrq(), "yyMMdd")); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getXzbm()); + apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), kqdm); - List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByDataId(data.getXzbm() + data.getDeptId() + DateFormatUtils.format(data.getTbrq(), "yyMMdd")); if (null == apiInfoList || apiInfoList.isEmpty()) { gdApi1023.setCzbz(Constant.CZBZ_I); infoData.setCzbz(Constant.CZBZ_I); + infoData.setId(ContextUtil.getUUID()); } else { gdApi1023.setCzbz(apiInfoList.get(0).getCzbz()); infoData.setCzbz(apiInfoList.get(0).getCzbz()); + infoData.setId(apiInfoList.get(0).getId()); } infoData.setData(JSON.toJSONString(gdApi1023)); -- Gitblit v1.9.3