|  |  |  | 
|---|
|  |  |  | import com.fzzy.api.entity.Api1206; | 
|---|
|  |  |  | import com.fzzy.api.entity.ApiLog; | 
|---|
|  |  |  | import com.fzzy.api.service.ApiCommonService; | 
|---|
|  |  |  | import com.fzzy.api.service.ApiTriggerService; | 
|---|
|  |  |  | import com.fzzy.api.utils.ContextUtil; | 
|---|
|  |  |  | import com.fzzy.api.view.repository.Api1102Rep; | 
|---|
|  |  |  | import com.fzzy.api.view.repository.Api1206Rep; | 
|---|
|  |  |  | import com.fzzy.api.view.repository.ApiLogRep; | 
|---|
|  |  |  | import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; | 
|---|
|  |  |  | import com.fzzy.async.fzzy40.entity.Fz40InoutSettle; | 
|---|
|  |  |  | import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; | 
|---|
|  |  |  | import com.fzzy.async.fzzy40.repository.Fzzy40Sync1204Rep; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.lang.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | private final static String INOUT_TYPE_OUT = "OUT"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private Fzzy40Sync1202Rep fzzySync1202Rep; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private Fzzy40Sync1204Rep fzzySync1204Rep; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiTriggerService apiTriggerService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private Api1206Rep api1206Rep; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiCommonService commonService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private Api1102Rep api1102Rep; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiLogRep apiLogRep; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiCommonService commonService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 粮食出库结算 | 
|---|
|  |  |  | 
|---|
|  |  |  | apiLog.setStatus(99); | 
|---|
|  |  |  | apiLog.setId(ContextUtil.getUUID()); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //获取粮食入库结算信息 | 
|---|
|  |  |  | List<Fz40InoutSettle> list = fzzySync1204Rep.listInoutSettle(INOUT_TYPE_OUT, start, end); | 
|---|
|  |  |  | //获取粮食出库结算信息 | 
|---|
|  |  |  | List<Fz40InoutSettle> list = fzzySync1204Rep.listInoutSettle(deptId, INOUT_TYPE_OUT, start, end); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (null == list || list.isEmpty()) { | 
|---|
|  |  |  | log.info("-------------没有获取到粮食入库结算信息------------------"); | 
|---|
|  |  |  | log.info("-------------没有获取到粮食出库结算信息------------------"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //根据库区代码获取库区信息 | 
|---|
|  |  |  | Api1102 api1201 = api1102Rep.findById(kqdm).get(); | 
|---|
|  |  |  | Api1102 api1102 = api1102Rep.findById(kqdm).get(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Api1206 apiData; | 
|---|
|  |  |  | Api1105 api1105; | 
|---|
|  |  |  | List<Fz40InoutRecord> fz40InoutRecords; | 
|---|
|  |  |  | Fz40InoutRecord fz40InoutRecord; | 
|---|
|  |  |  | List<Api1206> api1206List; | 
|---|
|  |  |  | for (Fz40InoutSettle sysData : list) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取粮食出库信息 | 
|---|
|  |  |  | fz40InoutRecords = fzzySync1202Rep.listInoutRecordById(sysData.getId()); | 
|---|
|  |  |  | if (null == fz40InoutRecords || fz40InoutRecords.isEmpty()) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | fz40InoutRecord = fz40InoutRecords.get(0); | 
|---|
|  |  |  | if (!deptId.equals(fz40InoutRecord.getDeptId())) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取货位信息 | 
|---|
|  |  |  | api1105 = commonService.getApi1105Cache(fz40InoutRecord.getDepotId()); | 
|---|
|  |  |  | if (null == api1105) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | apiData = new Api1206(); | 
|---|
|  |  |  | //入库结算单号:库区代码 + yyMMdd + 4为顺序号 | 
|---|
|  |  |  | apiData.setCkjsdh(kqdm + sysData.getId().substring(2)); | 
|---|
|  |  |  | //入库结算单号:库区代码 + yyyyMMdd + 4为顺序号 | 
|---|
|  |  |  | apiData.setCkjsdh(kqdm + sysData.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //合同号 | 
|---|
|  |  |  | apiData.setHth(api1201.getDwdm() + sysData.getId()); | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(sysData.getContractId())){ | 
|---|
|  |  |  | apiData.setHth(api1102.getDwdm() + sysData.getContractId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(sysData.getDepotId())){ | 
|---|
|  |  |  | api1105 = commonService.getApi1105Cache(sysData.getDepotId()); | 
|---|
|  |  |  | //货位代码 | 
|---|
|  |  |  | apiData.setHwdm(api1105.getHwdm()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //结算重量、结算单价、结算金额、结算时间 | 
|---|
|  |  |  | apiData.setJssl(sysData.getSettleWeight()); | 
|---|
|  |  |  | 
|---|
|  |  |  | apiData.setKhhh(sysData.getBankCode()); | 
|---|
|  |  |  | apiData.setKhhmc(sysData.getBank()); | 
|---|
|  |  |  | apiData.setYhzh(sysData.getBankNum()); | 
|---|
|  |  |  | apiData.setFkr(StringUtils.isEmpty(sysData.getPayUser())? "付款人":sysData.getPayUser()); | 
|---|
|  |  |  | apiData.setFphm(""); | 
|---|
|  |  |  | apiData.setFpzt(""); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //操作标志及最后更新时间 | 
|---|
|  |  |  | apiData.setCzbz(Constant.CZBZ_I); | 
|---|
|  |  |  | apiData.setZhgxsj(sysData.getUpdateTime()); | 
|---|
|  |  |  | apiData.setZhgxsj(new Date()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //业务id、库区编码、同步时间 | 
|---|
|  |  |  | apiData.setBizId(sysData.getId()); | 
|---|
|  |  |  | apiData.setKqdm(kqdm); | 
|---|
|  |  |  | apiData.setSyncTime(new Date()); | 
|---|
|  |  |  | log.info("1206---同步数据:{}", apiData.toString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | api1206List = api1206Rep.getDataById(apiData.getCkjsdh()); | 
|---|
|  |  |  | if (null == api1206List || api1206List.isEmpty()) { | 
|---|
|  |  |  | apiData.setCzbz(Constant.CZBZ_I); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | apiData.setCzbz(api1206List.get(0).getCzbz()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //保存数据 | 
|---|
|  |  |  | api1206Rep.save(apiData); | 
|---|
|  |  |  | } | 
|---|