CZT
2023-09-15 abd0a1d82cbfedcc826007f808800a4a3db58902
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
@@ -7,6 +7,7 @@
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.Api1202Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn;
@@ -16,11 +17,12 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * 粮食入库信息
@@ -65,7 +67,6 @@
        apiLog.setInteId(Constant.API_CODE_1202);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        String sfzh = "";
        try {
            //获取粮食入库记录信息,根据流程完成时间获取
            List<Fz40InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_IN, start, end);
@@ -79,7 +80,6 @@
            Api1105 api1105;
            List<Fz40InoutNoticeIn> listInoutNotice;
            List<Api1202> api1202List;
            Calendar c = Calendar.getInstance();
            for (Fz40InoutRecord sysData : list) {
                if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                    sysData.setRecordWeight(sysData.getSettleWeight());
@@ -95,23 +95,28 @@
                }
                apiData = new Api1202();
                apiData.setRkywdh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
                //判断业务时间与单据号是否匹配
                if(!DateFormatUtils.format(sysData.getCompleteTime(),"yyMMdd").equals(sysData.getId().substring(4, 10))){
                    apiData.setRkywdh(Constant.INOUT_TYPE_14 + DateFormatUtils.format(sysData.getCompleteTime(),"yyMMdd") + sysData.getId().substring(10));
                //判断业务时间与单据号是否匹配,若不匹配,则更改业务时间为单据号所在的时间
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                Date time = dateFormat.parse(sysData.getId().substring(2, 10));
                int numDay = DateUtil.difDay(sysData.getCompleteTime(), time);
                if(numDay != 0){
                    sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
                    sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
                    sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
                }
                //货位代码
                apiData.setHwdm(api1105.getHwdm());
                apiData.setYwlx(Constant.INOUT_TYPE_2);
                apiData.setYwrq(sysData.getRegisterTime());
                apiData.setYwrq(sysData.getCompleteTime());
                apiData.setCyr(sysData.getUserName());
                //默认一个随便值
                apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact());
                apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact().trim());
                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId());
                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId().trim());
                //获取合同号
                listInoutNotice = fzzySyncNoticeInRep.listInoutNoticeInById(sysData.getNoticeId());
@@ -127,10 +132,9 @@
                apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
                //车船号
                apiData.setCch(sysData.getPlateNum());
                c.setTime(sysData.getRegisterTime());
                c.add(Calendar.MINUTE,-3);
                apiData.setDjsj(c.getTime());
                apiData.setCch(sysData.getPlateNum().trim());
                apiData.setDjsj(sysData.getRegisterTime());
                //粮食品种
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
@@ -172,12 +176,10 @@
                apiData.setXckl( 0 - sysData.getDeHandle());
                apiData.setJz(sysData.getRecordWeight());
                c.setTime(sysData.getCompleteTime());
                c.add(Calendar.MINUTE,3);
                apiData.setCmsj(c.getTime());
                apiData.setCmsj(sysData.getCompleteTime());
                //操作标志及最后更新时间
                apiData.setZhgxsj(c.getTime());
                apiData.setZhgxsj(sysData.getUpdateTime());
                //业务id、库区编码、同步时间
                apiData.setBizId(sysData.getId());
@@ -189,13 +191,13 @@
                }else {
                    apiData.setCzbz(api1202List.get(0).getCzbz());
                }
                sfzh = apiData.getSfzh();
                //保存数据
                api1202Rep.save(apiData);
                log.info("1202---同步数据:{}", apiData.toString());
            }
        } catch (Exception e) {
            System.out.println(sfzh);
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);