YYC
2023-09-04 ea9420519d4c3f825f53831208cd4b72c2eecea3
上海同步数据---市储驳运单
已修改6个文件
已添加1个文件
204 ■■■■■ 文件已修改
src/main/java/com/fzzy/api/service/ApiTriggerService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/view/pr/SyncServicePR.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/service/ApiTriggerService.java
@@ -61,6 +61,7 @@
        }
    }
    public ApiTrigger findNameByCode(String code, String parentCode) {
        List<ApiTrigger> listParent = apiTriggerRep.findNameByCode(code, parentCode);
@@ -188,6 +189,7 @@
        list.add(new ApiTrigger(PushProtocol.SB_WHJL_2023.getCode(), PushProtocol.SB_WHJL_2023.getName()));
        list.add(new ApiTrigger(PushProtocol.HB_FZZY_JG_2022.getCode(), PushProtocol.HB_FZZY_JG_2022.getName()));
        list.add(new ApiTrigger(PushProtocol.SB_SHJdJW_2023.getCode(), PushProtocol.SB_SHJdJW_2023.getName()));
        list.add(new ApiTrigger(PushProtocol.SB_SH_2023.getCode(), PushProtocol.SB_SH_2023.getName()));
        return list;
    }
src/main/java/com/fzzy/api/view/pr/SyncServicePR.java
@@ -45,6 +45,7 @@
        }
        //调整开始时间和截止时间
        param.setPushProtocol(apiConfs.getPushProtocol());
        param.setSyncProtocol(apiConfs.getSyncProtocol());
        param.setDeptId(apiConfs.getDeptId());
        param.setStart(ContextUtil.getCurZero(param.getStart()));
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -1,11 +1,13 @@
package com.fzzy.async.fzzy40;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.data.SyncProtocol;
import com.fzzy.api.service.SyncService12;
import com.fzzy.async.fzzy35.impl.Fzzy35Sync1203;
import com.fzzy.async.fzzy35.impl.Fzzy35Sync1208;
import com.fzzy.async.fzzy40.impl.*;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -43,6 +45,8 @@
    private Fzzy40Sync1210 fzzySync1210;
    @Autowired
    private Fzzy40Sync1109 fzzySync1109;
    @Autowired
    private Fzzy40Sync2104 fzzySync2104;
    @Override
    public String getProtocol() {
@@ -57,6 +61,14 @@
        Date start = param.getStart();
        Date end = param.getEnd();
        /*-----各省独有接口信息同步-----*/
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
            //上海市平台2023版,需要同步市储驳运单
            //同步市储驳运单
            fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
        }
        //客户同步
        fzzySync1212.syncData(kqdm, deptId, start, end);
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
@@ -11,10 +11,8 @@
/**
 * @Desc: ç²®é£Ÿç®¡ç†ä¿¡æ¯åŒæ­¥
 *
 * @author: czt
 * @update-time: 2023/08/14
 *
 */
@Component
public class Fzzy40SyncService13 implements SyncService13 {
@@ -46,7 +44,7 @@
        /*-----各省独有接口信息同步-----*/
        if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.equals(param.getPushProtocol())){
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())) {
            //广东省平台2022版,需要同步熏蒸备案信息
            //熏蒸备案数据同步
            fzzySync1023.syncData(param.getDeptId(), param.getStart(), param.getEnd());
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
package com.fzzy.async.fzzy40.impl;
import com.alibaba.fastjson.JSON;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.*;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.*;
import com.fzzy.async.fzzy40.entity.Fz40InoutCustomer;
import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1212Rep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncNoticeInRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2104;
import com.fzzy.push.sh2023.dto.ShAreaBjw;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * å¸‚储驳运单
 *
 * @Author:YAN
 */
@Slf4j
@Component
public class Fzzy40Sync2104 {
    private final static String INOUT_TYPE_IN = "IN";
    @Autowired
    private Fzzy40Sync1202Rep fzzy40Sync1202Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiTriggerService apiTriggerService;
    /**
     * åŒæ­¥å¸‚储驳运单
     *
     * @param deptId
     * @param start
     * @param end
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------2104接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40InoutRecord> list = fzzy40Sync1202Rep.listInoutRecord(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.debug("-------------没有获取到市储驳运单------------------");
                return;
            }
            SH2023Api2104 sh2023Api2104;
            Api1105 api1105;
            List<ApiInfoData> apiInfoDataList;
            List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
            String bjw = "";
            String mappingCode = "";
            if (null != api1102List && api1102List.size() > 0) {
                bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
            }
            for (Fz40InoutRecord sysData : list) {
                sh2023Api2104 = new SH2023Api2104();
                sh2023Api2104.setBydh(sysData.getId().substring(2));
                sh2023Api2104.setKqdm(kqdm);
                sh2023Api2104.setJzrq(sysData.getCompleteTime());
                sh2023Api2104.setCch(sysData.getPlateNum());
                sh2023Api2104.setLspzdm(sysData.getFoodVariety());
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
                sh2023Api2104.setLsxzdm(mappingCode);
                sh2023Api2104.setLldm(kqdm);
                sh2023Api2104.setJz(sysData.getNetWeight());
                sh2023Api2104.setZhgxsh(sysData.getUpdateTime());
                //获取货位信息
                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
                sh2023Api2104.setPch(api1105.getHwdm() + sysData.getFoodYear());
                sh2023Api2104.setBjw(bjw);
                //持久化保存,单独存入非国标接口表
                ApiInfoData infoData = new ApiInfoData();
                infoData.setId(sh2023Api2104.getBydh());
                infoData.setKqdm(kqdm);
                infoData.setInteType(Constant.API_CATEGORY_12);
                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
                infoData.setUpdateTime(new Date());
                infoData.setDataId(sh2023Api2104.getBydh());
                infoData.setRemarks("市储驳运单");
                //设置操作标志
                apiInfoDataList = apiInfoDataRep.getDataByDataId(infoData.getDataId());
                if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
                    infoData.setCzbz(Constant.CZBZ_I);
                    sh2023Api2104.setCzbz(Constant.CZBZ_I);
                } else {
                    infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
                    sh2023Api2104.setCzbz(apiInfoDataList.get(0).getCzbz());
                }
                infoData.setData(JSON.toJSONString(sh2023Api2104));
                apiInfoDataRep.save(infoData);
                log.info("2103---市储驳运单-同步数据:{}", sh2023Api2104.toString());
            }
        } catch (Exception e) {
            log.error("---市储驳运单同步执行失败----{}", e);
            apiLog.setResult("同步市储驳运单失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java
@@ -4,6 +4,7 @@
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.Date;
import java.util.List;
@@ -17,6 +18,7 @@
    /**
     * æ ¹æ®ä¿¡æ¯èŽ·å–å‡ºå…¥åº“ä¿¡æ¯
     *
     * @param deptId
     * @param type
     * @param start
@@ -28,10 +30,24 @@
    /**
     * æ ¹æ®id获取粮食出入库信息
     *
     * @param id
     * @return
     */
    @Query("from Fz40InoutRecord where id=:id order by updateTime ")
    List<Fz40InoutRecord> listInoutRecordById(@Param("id") String id);
    /**
     * æ ¹æ®ä¿¡æ¯èŽ·å–å‡ºå…¥åº“ä¿¡æ¯
     *
     * @param deptId
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40InoutRecord where deptId=:deptId and updateTime >=:start and updateTime <:end order by id ")
    List<Fz40InoutRecord> listInoutRecord(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
@@ -10,6 +10,7 @@
import com.fzzy.api.service.PushService11;
import com.fzzy.api.view.repository.*;
import com.fzzy.push.sh2023.dto.SH2023Api2101;
import com.fzzy.push.sh2023.dto.SH2023Api2104;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -450,7 +451,30 @@
     * 2104  å¸‚储驳运单
     */
    public void pushData2104(ApiRemoteService apiRemoteService, ApiParam param) {
        //TODO
        //获取 æ£€æ–¤å•信息
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(SH2023Constant.SH_2023_API_CODE_2104);
        SH2023Api2104 shApi2104;
        List<SH2023Api2104> list = new ArrayList<>();
        param.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
        for (ApiInfoData infoData : items) {
            shApi2104 = JSONObject.parseObject(infoData.getData(), SH2023Api2104.class);
            shApi2104.setCzbz(infoData.getCzbz());
            shApi2104.setZhgxsh(infoData.getUpdateTime());
            list.add(shApi2104);
        }
        ResponseDto responseDto = apiRemoteService.pushData(param, list);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (ApiInfoData data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    data.setCzbz(Constant.CZBZ_U);
                    apiInfoDataRep.save(data);
                }
            }
        }
    }
}