YYC
2024-05-05 33752de094eca456a72a34ed2f2f3b1eefd9df4c
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1201.java
@@ -1,14 +1,12 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1102;
import com.fzzy.api.entity.Api1201;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.entity.*;
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.Api1201Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.api.utils.FileUtils;
import com.fzzy.api.view.repository.*;
import com.fzzy.async.fzzy40.entity.Fz40InoutContract;
import com.fzzy.async.fzzy40.entity.Fz40InoutCustomer;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1201Rep;
@@ -35,6 +33,12 @@
    private Fzzy40Sync1201Rep fzzySync1201Rep;
    @Autowired
    private ApiTriggerService apiTriggerService;
    @Autowired
    private ApiConfsRep apiConfsRep;
    @Autowired
    private FileUtils fileUtil;
    @Autowired
    private Api1109Rep api1109Rep;
    @Autowired
    private Api1201Rep api1201Rep;
    @Autowired
@@ -63,7 +67,7 @@
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40InoutContract> list = fzzySync1201Rep.listContract(deptId);
            List<Fz40InoutContract> list = fzzySync1201Rep.listContract(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.debug("-------------没有获取到合同信息------------------");
@@ -76,6 +80,8 @@
            Api1201 apiData;
            List<Api1201> api1201List;
            List<Fz40InoutCustomer> listCustomer;
            Api1109 api1109;
            List<Api1109> api1109List;
            for (Fz40InoutContract sysData : list) {
                apiData = new Api1201();
@@ -96,6 +102,10 @@
                        continue;
                    }
                    apiData.setKhtyshxydm(listCustomer.get(0).getKhbh());
                    apiData.setSfzh(listCustomer.get(0).getCardId());
                    apiData.setLxrdh(listCustomer.get(0).getPhone());
                    apiData.setYzbm(StringUtils.isEmpty(listCustomer.get(0).getYzbm()) ? "000000" : sysData.getYzbm());
                    apiData.setDzyx(listCustomer.get(0).getDzyx());
                }
@@ -104,10 +114,13 @@
                apiData.setQdrq(sysData.getSigningTime());
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3));
                if (StringUtils.isEmpty(sysData.getFoodVariety())) {
                    continue;
                }
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0, 3));
                apiData.setLspzdm(mappingCode);
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodVariety());
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
                apiData.setLsxzdm(mappingCode);
                //单价:元/吨
@@ -131,8 +144,17 @@
                apiData.setBfzh(StringUtils.isEmpty(sysData.getBankAccount()) ? "100000000000000000" : sysData.getBankAccount());
                apiData.setWcrq(sysData.getEndTime());
                apiData.setLxrxm(sysData.getFddbr());
                apiData.setJsyhtbyzyy(StringUtils.isEmpty(sysData.getJsyhtbyzyy()) ? "结算与合同不一致原因" : sysData.getJsyhtbyzyy());
                apiData.setQddd(StringUtils.isEmpty(sysData.getSignAddress()) ? "签订地点" : sysData.getSignAddress());
                apiData.setTxdz(StringUtils.isEmpty(sysData.getTxdz()) ? "通讯地址" : sysData.getTxdz());
                apiData.setZhgxsj(sysData.getCreateTime());
                apiData.setShr(StringUtils.isEmpty(sysData.getAuditUser()) ? "审批人" : sysData.getAuditUser());
                apiData.setShsj(sysData.getAuditDate() == null ? new Date() : sysData.getAuditDate());
                apiData.setSswcsj(sysData.getRelEndTime());
                apiData.setYdwcsj(sysData.getEndTime());
                apiData.setBfqyr(StringUtils.isEmpty(sysData.getSignUser())?"本方签约人":sysData.getSignUser());
                apiData.setSyncTime(new Date());
                apiData.setBizId(sysData.getId());
@@ -147,9 +169,48 @@
                //保存数据
                api1201Rep.save(apiData);
                log.info("1201---合同同步数据:{}", apiData.toString());
                //若附件id不为空,则判断是否为上海协议,上海协议时,需同时同步合同附件信息
                if (StringUtils.isNotEmpty(sysData.getFileId())) {
                    //若为上海省平台协议,则需同时同步合同附件信息
                    List<ApiConfs> apiConfs = apiConfsRep.getDataByKqdm(kqdm);
                    if (null != apiConfs && PushProtocol.SB_SH_2023.getCode().equals(apiConfs.get(0).getPushProtocol())) {
                        api1109 = new Api1109();
                        //主键id
                        api1109.setId(apiData.getHth());
                        //文件路径
                        api1109.setWjdz(fileUtil.getCommonFilePath(sysData.getFileTime()) + sysData.getFileId());
                log.info("1201---同步数据:{}", apiData.toString());
                        String kzm = "pdf"; //扩展名:默认为pdf
                        String[] split = sysData.getFileId().split("\\.");
                        if (split.length > 0) {
                            kzm = split[split.length - 1];
                        }
                        //文件名称(合同号+扩展名)
                        api1109.setWjmc(apiData.getHth() + "." + kzm);
                        //文件类型
                        api1109.setWjlx("6"); //6-合同文件(pdf,jpg)
                        api1109.setYwdh(apiData.getHth()); //6-合同文件(pdf,jpg)
                        //操作标志及最后更新时间
                        api1109.setZhgxsj(new Date());
                        //业务id、库区编码、同步时间
                        api1109.setBizId(apiData.getHth());
                        api1109.setKqdm(kqdm);
                        api1109.setSyncTime(new Date());
                        api1109List = api1109Rep.getDataByBizId(api1109.getBizId());
                        if (null == api1109List || api1109List.isEmpty()) {
                            api1109.setCzbz(Constant.CZBZ_I);
                        } else {
                            api1109.setCzbz(api1109List.get(0).getCzbz());
                        }
                        //保存数据
                        api1109Rep.save(api1109);
                        log.info("1201---合同附件信息同步:{}", api1109.toString());
                    }
                }
            }
        } catch (Exception e) {
            log.error("---合同同步执行失败----{}", e);