CZT
2023-11-28 acae4ed906d582f41934854881b81d2242525b7d
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
@@ -22,7 +22,6 @@
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;
@@ -56,7 +55,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,76 +63,90 @@
        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;
                GdApi1023 gdApi1023 = new GdApi1023();
                BeanUtils.copyProperties(data , gdApi1023);
                gdApi1023.setXzbm(data.getXzbm());
                gdApi1023.setKqdm(data.getDeptId());
            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);
                gdApi1023.setDwdm(kqdm.substring(0, 18));
                gdApi1023.setYjmc(data.getDrugName());
                gdApi1023.setYjlx(data.getDrugType());
                gdApi1023.setZhgxsj(data.getUpdateTime());
                gdApi1023.setDtls(dtlList);
                gdApi1023.setWays(wayList);
                gdApi1023.setPeoples(peopleList);
                //储粮粮情明细表
                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm());
                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);
                }
                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);
                        peopleList.add(gdApi1023People);
                    }
                    gdApi1023.setPeoples(peopleList);
                }
                //持久化保存,单独存入非国标接口表
                ApiInfoData infoData = new ApiInfoData();
                infoData = new ApiInfoData();
                infoData.setId(ContextUtil.getUUID());
                infoData.setKqdm(data.getDeptId());
                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);