CZT
2023-10-11 fafc8d352aa1a4f943dd9e79d14e8e93ee12ce1f
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java
@@ -5,6 +5,8 @@
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.Api1203Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.api.view.repository.GbCheckItemRep;
@@ -14,10 +16,12 @@
import com.fzzy.async.fzzy35.repository.Fzzy35Sync1203Rep;
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.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -37,9 +41,10 @@
    private Fzzy35Sync1202Rep fzzySync1202Rep;
    @Autowired
    private Fzzy35Sync1203Rep fzzySync1203Rep;
    @Autowired
    private ApiTriggerService apiTriggerService;
    @Autowired
    private Api1202Rep api1202Rep;
    @Autowired
    private Api1203Rep api1203Rep;
    @Autowired
@@ -86,12 +91,14 @@
            String zkj;
            String zkl;
            List<Api1203> api1203List;
            List<Api1202> api1102List;
            for (Fz35InoutRecord sysData : list) {
                //判断净重是否大于0,等于0表示不合格,不进行同步上传
                if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                //查询粮食入库信息,若为空则不进行同步上传
                api1102List = api1202Rep.getDataByBizId(sysData.getId());
                if(null == api1102List || api1102List.isEmpty()){
                    continue;
                }
                fz35CheckItems = null;
                //获取入库质检信息
                fz35CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId(), deptId.substring(0, 4));
                if (null == fz35CheckItems || fz35CheckItems.isEmpty()) {
@@ -99,20 +106,25 @@
                    continue;
                }
                //获取货位信息
                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
                if (null == api1105) {
                    continue;
                }
                apiData = new Api1203();
                apiData.setRkjydh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
                apiData.setRkjydh(api1102List.get(0).getRkywdh());
                //货位代码
                apiData.setHwdm(api1105.getHwdm());
                apiData.setRkywdh(apiData.getRkjydh());
                apiData.setQysj(sysData.getFullWeightTime());
                apiData.setHwdm(api1102List.get(0).getHwdm());
                apiData.setRkywdh(api1102List.get(0).getRkywdh());
                if(null == sysData.getFullWeightTime()){
                    sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5));
                }
                //判断业务时间与单据号是否匹配,若不匹配,则更改业务时间为单据号所在的时间
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
                Date time = dateFormat.parse(apiData.getRkjydh().substring(2, 8));
                int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getRegisterTime()), DateUtil.getCurZero(time));
                if(numDay != 0){
                    sysData.setRegisterTime(DateUtils.addDays(sysData.getRegisterTime(), numDay));
                }
                apiData.setQysj(sysData.getRegisterTime());
                apiData.setQyrxm(sysData.getCheckUser());
                //扦样方式 2-智能随机
                apiData.setQyfs("2");
@@ -148,12 +160,15 @@
                    apiData.setJyjg("1");
                }
                apiData.setJyrxm(sysData.getCheckUser());
                apiData.setJysj(DateUtils.addMinutes(sysData.getFullWeightTime(), 5));
                apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 90));
                //粮食品种
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3));
                apiData.setLspzdm(mappingCode);
                //保管员复核
                apiData.setBgyfh(apiData.getJyjg());
                //粮食等级
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel());
                apiData.setLsdd(mappingCode);