| | |
| | | package com.fzzy.async.fzzy40.impl; |
| | | |
| | | import com.fzzy.api.Constant; |
| | | import com.fzzy.api.entity.Api1102; |
| | | import com.fzzy.api.entity.Api1201; |
| | | import com.fzzy.api.entity.ApiLog; |
| | | import com.fzzy.api.data.PushProtocol; |
| | | import com.fzzy.api.entity.*; |
| | | 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.Api1201Rep; |
| | | import com.fzzy.api.view.repository.ApiLogRep; |
| | | import com.fzzy.api.utils.FileUtils; |
| | | import com.fzzy.api.view.repository.*; |
| | | import com.fzzy.async.fzzy40.entity.Fz40InoutContract; |
| | | import com.fzzy.async.fzzy40.entity.Fz40InoutCustomer; |
| | | import com.fzzy.async.fzzy40.repository.Fzzy40Sync1201Rep; |
| | | import com.fzzy.async.fzzy40.repository.Fzzy40Sync1212Rep; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | public class Fzzy40Sync1201 { |
| | | |
| | | @Autowired |
| | | private Fzzy40Sync1212Rep fzzySync1212Rep; |
| | | @Autowired |
| | | private Fzzy40Sync1201Rep fzzySync1201Rep; |
| | | @Autowired |
| | | private ApiTriggerService apiTriggerService; |
| | | @Autowired |
| | | private ApiConfsRep apiConfsRep; |
| | | @Autowired |
| | | private FileUtils fileUtil; |
| | | @Autowired |
| | | private Api1109Rep api1109Rep; |
| | | @Autowired |
| | | private Api1201Rep api1201Rep; |
| | | @Autowired |
| | |
| | | apiLog.setStatus(99); |
| | | apiLog.setId(ContextUtil.getUUID()); |
| | | try { |
| | | List<Fz40InoutContract> list = fzzySync1201Rep.listContract(deptId); |
| | | List<Fz40InoutContract> list = fzzySync1201Rep.listContract(deptId, start, end); |
| | | |
| | | if (null == list || list.isEmpty()) { |
| | | log.debug("-------------没有获取到合同信息------------------"); |
| | |
| | | |
| | | Api1201 apiData; |
| | | List<Api1201> api1201List; |
| | | List<Fz40InoutCustomer> listCustomer; |
| | | Api1109 api1109; |
| | | List<Api1109> api1109List; |
| | | for (Fz40InoutContract sysData : list) { |
| | | |
| | | apiData = new Api1201(); |
| | | //单位代码( 1101 接口的单位代 码) +自定义编码 |
| | | apiData.setHth(api1201.getDwdm() + sysData.getId()); |
| | | apiData.setHtmc(sysData.getName()); |
| | | apiData.setHtmc(sysData.getName().trim()); |
| | | apiData.setDwdm(api1201.getDwdm()); |
| | | |
| | | //业务类型 |
| | | String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_HT_YWLX, sysData.getType()); |
| | | apiData.setYwlx(mappingCode); |
| | | apiData.setYwlx(sysData.getType()); |
| | | apiData.setHtzl(sysData.getType()); |
| | | //客户类型 |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_KHLX, sysData.getCustomerType()); |
| | | apiData.setKhlx(mappingCode); |
| | | apiData.setKhlx(sysData.getCustomerType()); |
| | | |
| | | apiData.setKhtyshxydm(StringUtils.isEmpty(sysData.getCustomerId()) ? "100000000000000000" :sysData.getCustomerId()); |
| | | //企业客户,需要设置信用码 |
| | | if ("1".equals(sysData.getCustomerType())) { |
| | | listCustomer = fzzySync1212Rep.getDataById(sysData.getCustomerId()); |
| | | if (null == listCustomer || listCustomer.isEmpty()) { |
| | | continue; |
| | | } |
| | | apiData.setKhtyshxydm(listCustomer.get(0).getKhbh()); |
| | | apiData.setSfzh(listCustomer.get(0).getCardId()); |
| | | apiData.setLxrdh(listCustomer.get(0).getPhone()); |
| | | apiData.setYzbm(StringUtils.isEmpty(listCustomer.get(0).getYzbm()) ? "000000" : listCustomer.get(0).getYzbm()); |
| | | apiData.setDzyx(listCustomer.get(0).getDzyx()); |
| | | } |
| | | |
| | | |
| | | apiData.setKhmc(sysData.getCustomerName()); |
| | | apiData.setFddbr(sysData.getCustomerSignUser()); |
| | | apiData.setFddbr(StringUtils.isEmpty(sysData.getCustomerSignUser()) ? null : sysData.getCustomerSignUser()); |
| | | |
| | | apiData.setQdrq(sysData.getSigningTime()); |
| | | |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); |
| | | if (StringUtils.isEmpty(sysData.getFoodVariety())) { |
| | | continue; |
| | | } |
| | | //粮食品种 |
| | | String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); |
| | | apiData.setLspzdm(mappingCode); |
| | | |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodVariety()); |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType()); |
| | | apiData.setLsxzdm(mappingCode); |
| | | |
| | | //单价:元/公斤-->元/吨 |
| | | apiData.setHtdj(sysData.getPrice() == null ? 0.0 : sysData.getPrice()*1000); |
| | | |
| | | apiData.setYsfs(StringUtils.isEmpty(sysData.getYsfs()) ? "以入仓数量为标准" : sysData.getYsfs()); |
| | | |
| | | |
| | | apiData.setFkfs(StringUtils.isEmpty(sysData.getFkfs()) ? "1" : sysData.getFkfs()); |
| | | //单价:元/吨 |
| | | apiData.setHtdj(sysData.getPrice() == null ? 0.0 : sysData.getPrice()); |
| | | apiData.setYdgxlssl(sysData.getContactAmount() == null ? 0.0 : sysData.getContactAmount()); |
| | | |
| | | apiData.setHtzje(new BigDecimal(sysData.getMoney())); |
| | | |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_JSYHTYZX, ""); |
| | | apiData.setJsyhtyzx(mappingCode); |
| | | apiData.setJsyhtyzx(StringUtils.isEmpty(sysData.getJsyhtyzx()) ? "1" : sysData.getJsyhtyzx()); |
| | | |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_BANK, sysData.getCustomerBank()); |
| | | apiData.setKhfkhh(mappingCode); |
| | |
| | | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_BANK, sysData.getBank()); |
| | | apiData.setBfkhh(mappingCode == null ? "999" : mappingCode); |
| | | |
| | | apiData.setBfzh(StringUtils.isEmpty(sysData.getBankAccount()) ? "1000000000000000000" : sysData.getBankAccount()); |
| | | apiData.setBfzh(StringUtils.isEmpty(sysData.getBankAccount()) ? "100000000000000000" : sysData.getBankAccount()); |
| | | |
| | | apiData.setWcrq(sysData.getEndTime()); |
| | | |
| | | apiData.setLxrxm(StringUtils.isEmpty(sysData.getLxrxm()) ? apiData.getFddbr() : sysData.getLxrxm()); |
| | | apiData.setJsyhtbyzyy(StringUtils.isEmpty(sysData.getJsyhtbyzyy()) ? "结算与合同不一致原因" : sysData.getJsyhtbyzyy()); |
| | | apiData.setQddd(StringUtils.isEmpty(sysData.getSignAddress()) ? "签订地点" : sysData.getSignAddress()); |
| | | apiData.setTxdz(StringUtils.isEmpty(sysData.getTxdz()) ? "通讯地址" : sysData.getTxdz()); |
| | | apiData.setZhgxsj(sysData.getCreateTime()); |
| | | apiData.setShr(StringUtils.isEmpty(sysData.getAuditUser()) ? "审批人" : sysData.getAuditUser()); |
| | | apiData.setShsj(sysData.getAuditDate() == null ? new Date() : sysData.getAuditDate()); |
| | | apiData.setSswcsj(sysData.getRelEndTime()); |
| | | apiData.setYdwcsj(sysData.getEndTime()); |
| | | apiData.setBfqyr(StringUtils.isEmpty(sysData.getSignUser()) ? "本方签约人" : sysData.getSignUser()); |
| | | |
| | | //设置年度 |
| | | apiData.setLhnd(sysData.getYear()); |
| | | |
| | | apiData.setSyncTime(new Date()); |
| | | apiData.setBizId(sysData.getId()); |
| | | |
| | | apiLog.setDataId(apiData.getBizId()); |
| | | apiLog.setKqdm(kqdm); |
| | | apiData.setKqdm(kqdm); |
| | | |
| | | api1201List = api1201Rep.getDataById(apiData.getHth()); |
| | | if(null == api1201List || api1201List.isEmpty()){ |
| | | if (null == api1201List || api1201List.isEmpty()) { |
| | | apiData.setCzbz(Constant.CZBZ_I); |
| | | }else { |
| | | } else { |
| | | apiData.setCzbz(api1201List.get(0).getCzbz()); |
| | | } |
| | | |
| | | //保存数据 |
| | | api1201Rep.save(apiData); |
| | | log.info("1201---合同同步数据:{}", apiData.toString()); |
| | | |
| | | //若附件id不为空,则判断是否为上海协议,上海协议时,需同时同步合同附件信息 |
| | | if (StringUtils.isNotEmpty(sysData.getFileId())) { |
| | | //若为上海省平台协议,则需同时同步合同附件信息 |
| | | List<ApiConfs> apiConfs = apiConfsRep.getDataByKqdm(kqdm); |
| | | if (null != apiConfs && PushProtocol.SB_SH_2023.getCode().equals(apiConfs.get(0).getPushProtocol())) { |
| | | api1109 = new Api1109(); |
| | | //主键id |
| | | api1109.setId(apiData.getHth()); |
| | | //文件路径 |
| | | api1109.setWjdz(fileUtil.getCommonFilePath(sysData.getFileTime()) + sysData.getFileId()); |
| | | |
| | | log.info("1201---同步数据:{}", apiData.toString()); |
| | | String kzm = "pdf"; //扩展名:默认为pdf |
| | | String[] split = sysData.getFileId().split("\\."); |
| | | if (split.length > 0) { |
| | | kzm = split[split.length - 1]; |
| | | } |
| | | |
| | | //文件名称(合同号+扩展名) |
| | | api1109.setWjmc(apiData.getHth() + "." + kzm); |
| | | //文件类型 |
| | | api1109.setWjlx("6"); //6-合同文件(pdf,jpg) |
| | | api1109.setYwdh(apiData.getHth()); //6-合同文件(pdf,jpg) |
| | | //操作标志及最后更新时间 |
| | | api1109.setZhgxsj(new Date()); |
| | | |
| | | //业务id、库区编码、同步时间 |
| | | api1109.setBizId(apiData.getHth()); |
| | | api1109.setKqdm(kqdm); |
| | | api1109.setSyncTime(new Date()); |
| | | api1109List = api1109Rep.getDataByBizId(api1109.getBizId()); |
| | | if (null == api1109List || api1109List.isEmpty()) { |
| | | api1109.setCzbz(Constant.CZBZ_I); |
| | | } else { |
| | | api1109.setCzbz(api1109List.get(0).getCzbz()); |
| | | } |
| | | //保存数据 |
| | | api1109Rep.save(api1109); |
| | | log.info("1201---合同附件信息同步:{}", api1109.toString()); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("---合同同步执行失败----{}", e); |