CZT
2023-09-23 a1f0690d10288f9aa82b7fe96a9c4e33d9ad7661
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java
@@ -7,20 +7,22 @@
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.async.fzzy35.entity.InoutNoticeOut;
import com.fzzy.async.fzzy35.entity.InoutRecord;
import com.fzzy.async.fzzy35.entity.Fz35InoutNoticeOut;
import com.fzzy.async.fzzy35.entity.Fz35InoutRecord;
import com.fzzy.async.fzzy35.repository.Fzzy35Sync1202Rep;
import com.fzzy.async.fzzy35.repository.Fzzy35SyncNoticeOutRep;
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.*;
/**
 * 粮食出库信息
@@ -67,7 +69,7 @@
        apiLog.setId(ContextUtil.getUUID());
        try {
        //获取粮食出库信息,根据流程完成时间获取
        List<InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_OUT, start, end);
        List<Fz35InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_OUT, start, end);
        if (null == list || list.isEmpty()) {
            log.info("-------------没有获取到粮食出库信息------------------");
@@ -76,21 +78,33 @@
        Api1205 apiData;
        Api1105 api1105;
        List<InoutNoticeOut> listInoutNotice;
        // List<GbArea> gbAreaList;
        Calendar c = Calendar.getInstance();
        for (InoutRecord sysData : list) {
        List<Fz35InoutNoticeOut> listInoutNotice;
        List<Api1205> api1205List;
        for (Fz35InoutRecord sysData : list) {
            if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                sysData.setRecordWeight(sysData.getSettleWeight());
            }
            //判断净重是否大于0,等于0表示不合格,不进行同步上传
            if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                continue;
            }
            //获取货位信息
            api1105 = commonService.getApi1105Cache(sysData.getDepotId());
            if(null == api1105){
                continue;
            }
            apiData = new Api1205();
            apiData.setId(sysData.getId());
            apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4));
            //判断业务时间与单据号是否匹配,若不匹配,则更改业务时间为单据号所在的时间
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
            Date time = dateFormat.parse(sysData.getId().substring(2, 10));
            int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getCompleteTime()), DateUtil.getCurZero(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());
@@ -110,14 +124,12 @@
            }
            //运输工具,默认汽车
            apiData.setYsgj("1");
            //运输工具,若为空,则默认给1-汽车
            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.setDjsj(sysData.getRegisterTime());
            //粮食品种
            String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
@@ -139,31 +151,44 @@
            //皮重信息
            apiData.setPz(sysData.getEmptyWeight());
            if(!sysData.getEmptyWeightTime().after(sysData.getRegisterTime())){
                sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
            }
            apiData.setPzjlsj(sysData.getEmptyWeightTime());
            apiData.setPzjby(sysData.getEmptyWeightUser());
            apiData.setPzjly(sysData.getEmptyWeightUser());
            //毛重信息
            apiData.setMz(sysData.getFullWeight());
            if(!sysData.getFullWeightTime().after(sysData.getEmptyWeightTime())){
                sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
            }
            apiData.setMzjlsj(sysData.getFullWeightTime());
            apiData.setMzjby(sysData.getFullWeightUser());
            apiData.setMzjly(sysData.getFullWeightUser());
            //净重
            apiData.setJz(sysData.getSettleWeight());
            c.setTime(sysData.getCompleteTime());
            c.add(Calendar.MINUTE,3);
            apiData.setCmsj(c.getTime());
            apiData.setJz(sysData.getRecordWeight());
            if(!sysData.getCompleteTime().after(sysData.getFullWeightTime())){
                sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10));
            }
            apiData.setCmsj(sysData.getCompleteTime());
            //操作标志及最后更新时间
            apiData.setCzbz(Constant.CZBZ_I);
            apiData.setZhgxsj(c.getTime());
            apiData.setZhgxsj(sysData.getCompleteTime());
            //业务id、库区编码、同步时间
            apiData.setBizId(sysData.getId());
            apiData.setKqdm(kqdm);
            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());
            }
            //保存数据
            api1205Rep.save(apiData);
        }