YYC
2023-09-05 a09c9a9e8d9fe49b2c4bd84e43d3d092175592ee
上海同步数据---市储检斤单
已修改6个文件
已添加1个文件
224 ■■■■ 文件已修改
src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java
@@ -43,4 +43,12 @@
    @Query(value = "update ApiInfoData set czbz=:czbz ,data=:data where id=:id ")
    int updateStatus(@Param("id") String id, @Param("data") String data, @Param("czbz") String czbz);
    /**
     * æ ¹æ®æŽ¥å£ç¼–码和数据内容ID查询数据
     *
     * @param inteId
     * @return
     */
    @Query("from ApiInfoData where inteId=:inteId and dataId=:dataId ")
    List<ApiInfoData> getDataByInteAndData(@Param("inteId") String inteId, @Param("dataId") String dataId);
}
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -46,6 +46,8 @@
    @Autowired
    private Fzzy40Sync1109 fzzySync1109;
    @Autowired
    private Fzzy40Sync2101 fzzySync2101;
    @Autowired
    private Fzzy40Sync2104 fzzySync2104;
    @Override
@@ -63,8 +65,9 @@
        /*-----各省独有接口信息同步-----*/
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
            //上海市平台2023版,需要同步市储驳运单
            //上海市平台2023版,需要同步市储检斤单,同步市储驳运单
            //同步市储检斤单
            fzzySync2101.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
            //同步市储驳运单
            fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
        }
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
package com.fzzy.async.fzzy40.impl;
import com.alibaba.fastjson.JSON;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1102;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1102Rep;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDepotConfRep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDepotRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2101;
import com.fzzy.push.sh2023.dto.ShAreaBjw;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * å¸‚储检斤单
 *
 * @Author:YAN
 */
@Slf4j
@Component
public class Fzzy40Sync2101 {
    @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("-------------2101接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_2101);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40InoutRecord> list = fzzy40Sync1202Rep.listInoutRecord(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.debug("-------------没有获取到市储检斤单------------------");
                return;
            }
            SH2023Api2101 sh2023Api2101;
            Api1105 api1105;
            List<ApiInfoData> apiInfoDataList;
            List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
            String bjw = "";
            if (null != api1102List && api1102List.size() > 0) {
                bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
            }
            for (Fz40InoutRecord sysData : list) {
                List<ApiInfoData> apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2101, sysData.getCheckId());
                if (null != apiInfoData && apiInfoData.size() > 0) {
                    continue;
                }
                sh2023Api2101 = new SH2023Api2101();
                sh2023Api2101.setJjdh(sysData.getCheckId());
                sh2023Api2101.setKqdm(kqdm);
                sh2023Api2101.setJjrq(sysData.getCompleteTime());
                sh2023Api2101.setJzrq(sysData.getCompleteTime());
                sh2023Api2101.setInbillno(sysData.getId().substring(2));
                sh2023Api2101.setZydh(sysData.getId());
                sh2023Api2101.setZylx("IN".equals(sysData.getType()) ? "1" : "4");
                sh2023Api2101.setCch(sysData.getPlateNum());
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
                sh2023Api2101.setLsxzdm(mappingCode);
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
                sh2023Api2101.setLspzdmdl(mappingCode);
                sh2023Api2101.setLldm(kqdm);
                sh2023Api2101.setJz(sysData.getNetWeight());
                sh2023Api2101.setMz(sysData.getNetWeight());
                sh2023Api2101.setBzwzkl(sysData.getDePackage());
                sh2023Api2101.setZhgxsj(sysData.getUpdateTime());
                //获取货位信息
                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
                sh2023Api2101.setAjdm(api1105.getAjdm());
                sh2023Api2101.setHwdm(api1105.getHwdm());
                sh2023Api2101.setPch(api1105.getHwdm() + sysData.getFoodYear());
                sh2023Api2101.setBjw(bjw);
                //持久化保存,单独存入非国标接口表
                ApiInfoData infoData = new ApiInfoData();
                infoData.setId(ContextUtil.getUUID());
                infoData.setKqdm(kqdm);
                infoData.setInteType(Constant.API_CATEGORY_12);
                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2101);
                infoData.setUpdateTime(new Date());
                infoData.setDataId(sh2023Api2101.getJjdh());
                infoData.setRemarks("市储检斤单");
                //设置操作标志
                apiInfoDataList = apiInfoDataRep.getDataByDataId(infoData.getDataId());
                if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
                    infoData.setCzbz(Constant.CZBZ_I);
                    sh2023Api2101.setCzbz(Constant.CZBZ_I);
                } else {
                    infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
                    sh2023Api2101.setCzbz(apiInfoDataList.get(0).getCzbz());
                }
                infoData.setData(JSON.toJSONString(sh2023Api2101));
                apiInfoDataRep.save(infoData);
                log.info("2101---市储检斤单-同步数据:{}", sh2023Api2101);
            }
        } catch (Exception e) {
            log.error("---市储检斤单同步执行失败----{}", e);
            apiLog.setResult("同步市储检斤单失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
@@ -35,8 +35,6 @@
@Component
public class Fzzy40Sync2104 {
    private final static String INOUT_TYPE_IN = "IN";
    @Autowired
    private Fzzy40Sync1202Rep fzzy40Sync1202Rep;
    @Autowired
@@ -81,21 +79,25 @@
            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) {
                List<ApiInfoData> apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2104, sysData.getId().substring(2));
                if (null != apiInfoData && apiInfoData.size() > 0) {
                    continue;
                }
                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());
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
                sh2023Api2104.setLsxzdm(mappingCode);
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
                sh2023Api2104.setLspzdm(mappingCode);
                sh2023Api2104.setLldm(kqdm);
@@ -107,9 +109,10 @@
                sh2023Api2104.setPch(api1105.getHwdm() + sysData.getFoodYear());
                sh2023Api2104.setBjw(bjw);
                //持久化保存,单独存入非国标接口表
                ApiInfoData infoData = new ApiInfoData();
                infoData.setId(sh2023Api2104.getBydh());
                infoData.setId(ContextUtil.getUUID());
                infoData.setKqdm(kqdm);
                infoData.setInteType(Constant.API_CATEGORY_12);
                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
@@ -130,7 +133,7 @@
                infoData.setData(JSON.toJSONString(sh2023Api2104));
                apiInfoDataRep.save(infoData);
                log.info("2103---市储驳运单-同步数据:{}", sh2023Api2104.toString());
                log.info("2104---市储驳运单-同步数据:{}", sh2023Api2104.toString());
            }
src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml
@@ -253,15 +253,6 @@
        <Property></Property>
        <Property name="label">批次号</Property>
      </PropertyDef>
      <PropertyDef name="bizId">
        <Property></Property>
        <Property name="label">业务id</Property>
        <Property name="required">false</Property>
      </PropertyDef>
      <PropertyDef name="syncTime">
        <Property name="dataType">DateTime</Property>
        <Property name="label">同步时间</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
@@ -440,10 +431,6 @@
      </DataColumn>
      <DataColumn name="zylx">
        <Property name="property">zylx</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="khmc">
        <Property name="property">khmc</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="mz">
@@ -635,16 +622,6 @@
          <AutoFormElement>
            <Property name="name">bjw</Property>
            <Property name="property">bjw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bizId</Property>
            <Property name="property">bizId</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">syncTime</Property>
            <Property name="property">syncTime</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java
@@ -183,12 +183,12 @@
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getBizId());
                    infoData.setId(data.getJjdh());
                    infoData.setKqdm(data.getKqdm());
                    infoData.setInteType("21");
                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2101);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(data.getBizId());
                    infoData.setDataId(data.getJjdh());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setCzbz(Constant.CZBZ_U);
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java
@@ -112,14 +112,4 @@
    @PropertyDef(label = "标记位")
    private String bjw;
    @JSONField(serialize = false)
    @PropertyDef(label = "业务id")
    @Column(name = "bizId", length = 40)
    private String bizId;
    @JSONField(serialize = false)
    @PropertyDef(label = "同步时间", description = "从粮库系统同步到接口管理中心的时间")
    @Column(name = "syncTime")
    private Date syncTime;
}