CZT
2024-01-03 5a53e819101f3d34d9774f321db14b3456bae507
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -1,15 +1,11 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.Api1205;
import com.fzzy.api.entity.ApiLog;
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.utils.DateUtil;
import com.fzzy.api.view.repository.Api1205Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.api.view.repository.*;
import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeOut;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem;
@@ -22,8 +18,6 @@
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -46,7 +40,11 @@
    @Autowired
    private ApiTriggerService apiTriggerService;
    @Autowired
    private Api1201Rep api1201Rep;
    @Autowired
    private Api1205Rep api1205Rep;
    @Autowired
    private Api1404Rep api1404Rep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
@@ -59,7 +57,7 @@
     * @param start
     * @param end
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
    public void  syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1205接口数据开始同步------------------");
@@ -107,20 +105,33 @@
            //货位代码
            apiData.setHwdm(api1105.getHwdm());
            apiData.setYwlx(Constant.INOUT_TYPE_1);
            apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[] { "yyyyMMdd" }));
            apiData.setCyr(sysData.getUserName());
            //默认一个随便值
            apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact().trim());
            if(StringUtils.isEmpty(sysData.getUserId()) || sysData.getUserId().length() != 18){
                sysData.setUserId("410183199003187055");
            }
            //通知单号
            apiData.setCktzdh(sysData.getNoticeId());
            apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[] { "yyyyMMdd" }));
            //获取合同号
            listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId());
            if(null != listInoutNotice && listInoutNotice.size() >0){
                if(StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())){
                    apiData.setHth(api1105.getHwdm().substring(0,18) + listInoutNotice.get(0).getContractId());
            if (null != listInoutNotice && listInoutNotice.size() > 0) {
                //合同号
                if (StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())) {
                    List<Api1201> api1201List = api1201Rep.getDataByBizId(listInoutNotice.get(0).getContractId());
                    if(null != api1201List && api1201List.size() > 0){
                        apiData.setHth(api1201List.get(0).getHth());
                    }
                }
                if(StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())){
                    apiData.setJhmxh(listInoutNotice.get(0).getPlanId());
                if (StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())) {
                    List<Api1404> api1404List = api1404Rep.getDataByBizId(listInoutNotice.get(0).getPlanId());
                    if(null != api1404List && api1404List.size() > 0){
                        apiData.setJhmxh(api1404List.get(0).getJhmxdh());
                    }
                }
            }
@@ -132,7 +143,7 @@
            apiData.setDjsj(sysData.getRegisterTime());
            //粮食品种
            String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3));
            String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0, 3));
            apiData.setLspzdm(mappingCode);
            //粮食等级
@@ -154,6 +165,9 @@
            //皮重信息
            apiData.setPz(sysData.getEmptyWeight());
            if (null == sysData.getEmptyWeightTime()) {
                sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
            }
            if(!sysData.getEmptyWeightTime().after(sysData.getRegisterTime())){
                sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
            }
@@ -163,6 +177,9 @@
            //毛重信息
            apiData.setMz(sysData.getFullWeight());
            if (null == sysData.getFullWeightTime()) {
                sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
            }
            if(!sysData.getFullWeightTime().after(sysData.getEmptyWeightTime())){
                sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
            }
@@ -176,6 +193,9 @@
                sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10));
            }
            apiData.setCmsj(sysData.getCompleteTime());
            if(StringUtils.isNotEmpty(sysData.getSettleId())){
                apiData.setCkjsdh(kqdm + sysData.getSettleId());
            }
            //操作标志及最后更新时间
            apiData.setZhgxsj(sysData.getUpdateTime());
@@ -186,12 +206,6 @@
            apiData.setSyncTime(new Date());
            log.info("1201---同步数据:{}",apiData.toString());
            api1205List = api1205Rep.getDataById(apiData.getCkywdh());
            if(null == api1205List || api1205List.isEmpty()){
                apiData.setCzbz(Constant.CZBZ_I);
            }else {
                apiData.setCzbz(api1205List.get(0).getCzbz());
            }
            //判断是否为船运
            if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){
                listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
@@ -202,14 +216,35 @@
                int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001;
                for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
                    if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) {
                        continue;
                    }
                    if(fz40InoutRecordItem.getSettleWeight() <= 0){
                        continue;
                    }
                    apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1));
                    apiData.setMz(fz40InoutRecordItem.getFullWeight());
                    apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
                    apiData.setJz(fz40InoutRecordItem.getSettleWeight());
                    apiData.setMzjlsj(fz40InoutRecordItem.getFullWeightTime());
                    apiData.setPzjlsj(fz40InoutRecordItem.getEmptyWeightTime());
                    api1205List = api1205Rep.getDataById(apiData.getCkywdh());
                    if(null == api1205List || api1205List.isEmpty()){
                        apiData.setCzbz(Constant.CZBZ_I);
                    }else {
                        apiData.setCzbz(api1205List.get(0).getCzbz());
                    }
                    api1205Rep.save(apiData);
                    idNum ++;
                }
            }else {
                api1205List = api1205Rep.getDataById(apiData.getCkywdh());
                if(null == api1205List || api1205List.isEmpty()){
                    apiData.setCzbz(Constant.CZBZ_I);
                }else {
                    apiData.setCzbz(api1205List.get(0).getCzbz());
                }
                //保存数据
                api1205Rep.save(apiData);
            }