YYC
2023-08-22 4be521d7e3135ac0a8e4a15e395f44448e23e09e
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
@@ -3,6 +3,7 @@
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.Api1202;
import com.fzzy.api.entity.Api1208;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
@@ -19,9 +20,7 @@
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.util.*;
/**
 * 粮食入库信息
@@ -78,8 +77,19 @@
            Api1202 apiData;
            Api1105 api1105;
            List<Fz35InoutNoticeIn> listInoutNotice;
            List<Api1202> api1202List;
            Calendar c = Calendar.getInstance();
            String ywsj = "";
            String num = "";
            Map<String, Integer> map = new HashMap<>();
            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) {
@@ -87,9 +97,17 @@
                }
                apiData = new Api1202();
                apiData.setId(sysData.getId());
                apiData.setRkywdh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
                //判断业务时间与单据号是否匹配
                ywsj = DateFormatUtils.format(sysData.getCompleteTime(),"yyMMdd");
                if(!ywsj.equals(sysData.getId().substring(4, 10))){
                    if(null == map.get(ywsj)){
                        map.put(ywsj, 10201);
                    }
                    num = String.valueOf(map.get(ywsj)).substring(1);
                    apiData.setRkywdh(Constant.INOUT_TYPE_14 + ywsj + num);
                    map.put(ywsj, map.get(ywsj) + 1);
                }
                //货位代码
                apiData.setHwdm(api1105.getHwdm());
@@ -100,7 +118,7 @@
                //默认一个随便值
                apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact());
                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId());
                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId().trim());
                //获取合同号
                listInoutNotice = fzzy35SyncNoticeInRep.listInoutNoticeInById(sysData.getNoticeId());
@@ -112,8 +130,8 @@
                apiData.setXxdz(sysData.getUserAddress());
                //运输工具,默认汽车,TODO>> 待调整为根据数据库获取
                apiData.setYsgj("1");
                //运输工具,若为空,则默认给1-汽车
                apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
                //车船号
                apiData.setCch(sysData.getPlateNum());
@@ -164,25 +182,27 @@
                //值仓 现场扣重
                apiData.setXckl( 0 - sysData.getDeHandle());
                apiData.setJz(sysData.getSettleWeight());
                apiData.setJz(sysData.getRecordWeight());
                c.setTime(sysData.getCompleteTime());
                c.add(Calendar.MINUTE,3);
                apiData.setCmsj(c.getTime());
                //入库结算单号
                apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
                //入库结算单号,默认统一结算,不设置结算单号
                //apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
                //操作标志及最后更新时间
                apiData.setCzbz(Constant.CZBZ_I);
                apiData.setZhgxsj(c.getTime());
                //业务id、库区编码、同步时间
                apiData.setBizId(sysData.getId());
                apiData.setKqdm(kqdm);
                apiData.setSyncTime(new Date());
                api1202List = api1202Rep.getDataById(apiData.getRkywdh());
                if(null == api1202List || api1202List.isEmpty()){
                    apiData.setCzbz(Constant.CZBZ_I);
                }else {
                    apiData.setCzbz(api1202List.get(0).getCzbz());
                }
                //保存数据
                api1202Rep.save(apiData);
                log.info("1202---同步数据:{}", apiData.toString());