package com.fzzy.push.sx2024; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.fzzy.api.Constant; import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.dto.ResponseDto; import com.fzzy.api.entity.*; import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiRemoteService; import com.fzzy.api.service.ApiTriggerService; import com.fzzy.api.utils.*; import com.fzzy.api.view.repository.Api1404Rep; import com.fzzy.api.view.repository.ApiLogRep; import com.fzzy.push.sx2024.data.*; import lombok.Data; 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.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.util.*; /** * @Description 陕西省平台2024版-上传数据服务类 * @Author CZT * @Date 2024/4/23 12:07 */ @Slf4j @Data @Service public class SX2024ApiRemoteService implements ApiRemoteService { @Autowired private RedisUtil redisUtil; @Autowired private ApiCommonService apiCommonService; @Autowired private ApiTriggerService apiTriggerService; @Autowired private ApiLogRep apiLogRep; @Autowired private Api1404Rep api1404Rep; @Override public String getProtocol() { return PushProtocol.SB_SX_2024.getCode(); } @Override public ResponseDto pushData(ApiParam param, Object data) { return pushData(param, null, data); } @Override public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) { String inteId = param.getInteId(); String kqdm = param.getKqdm(); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); } //添加日志 ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); apiLog.setInteId(inteId); if (StringUtils.isEmpty(inteId)) { ResponseDto responseDto = new ResponseDto(99, "没有获取到接口"); apiLog.setStatus(99); apiLog.setResult("没有获取到接口"); apiLogRep.save(apiLog); return responseDto; } if (conf == null) { ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置"); apiLog.setStatus(99); apiLog.setResult("没有获取到上传配置"); apiLogRep.save(apiLog); return responseDto; } String jsonData = getListData(param.getInteId(), data, conf); apiLog.setData(jsonData); apiLog.setKqdm(kqdm); apiLog.setUploadTime(new Date()); //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); String orderId = (String) redisUtil.get(key); if (StringUtils.isEmpty(orderId)) { log.error("指令id失效"); ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 SX2024ReqDto reqData = new SX2024ReqDto(); //报文标识 reqData.setID(orderId); //版本号 reqData.setVER("2024"); //单位编码:11位 reqData.setOrgNo(conf.getUserName()); //单位名称 reqData.setOrgName(conf.getKqmc()); //发起时间 reqData.setSendTime(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); //18位单位代码 reqData.setDwdm(conf.getKqdm().substring(0, 18)); //加密数据主体 reqData.setBody(jsonData); log.info("上报数据信息-加密前=" + JSON.toJSONString(reqData)); reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData)); log.info("上报数据信息-加密后=" + JSON.toJSONString(reqData)); reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData)); String resp = SX2024HttpClientUtil.postPushData(conf.getApiUrl(), JSON.toJSONString(reqData)); if (StringUtils.isEmpty(resp)) { log.error("数据上传陕西省平台失败,数据={}", reqData); ResponseDto responseDto = new ResponseDto(99, "数据上传陕西省平台失败"); apiLog.setStatus(99); apiLog.setResult("数据上传陕西省平台失败"); apiLogRep.save(apiLog); return responseDto; } SX2024RespDto sx2024RespDto = JSONObject.parseObject(resp, SX2024RespDto.class); if (null == sx2024RespDto || null == sx2024RespDto.getMsgBody()) { log.error("数据上传陕西省平台失败,数据={}", reqData); ResponseDto responseDto = new ResponseDto(99, "数据上传陕西省平台失败"); apiLog.setStatus(99); apiLog.setResult("数据上传陕西省平台失败"); apiLogRep.save(apiLog); return responseDto; } SX2024Dto result = JSONObject.parseObject(JSONObject.toJSONString(sx2024RespDto.getMsgBody()), SX2024Dto.class); apiLog.setStatus(result.getCode().equals("200") ? 0 : Integer.valueOf(result.getCode())); apiLog.setResult(result.getVER()); apiLogRep.save(apiLog); ResponseDto resd = new ResponseDto(); resd.setSuccess(result.getCode().equals("200") ? 0 : Integer.valueOf(result.getCode())); resd.setMsg(result.getVER()); return resd; } catch (Exception e) { log.error(e.getMessage(), e); return new ResponseDto(99, e.getMessage()); } } /** * 拉取数据接口-当前协议暂无实现 * * @param param 参数 * @param conf 配置,可以为空 * @return */ @Override public ResponseDto pullData(ApiParam param, ApiConfs conf) { log.error("陕西省平台暂无数据共享接口,无法拉取数据!"); return null; } /** * 接口数据封装 * * @param inteId * @param data * @param conf * @return */ private String getListData(String inteId, Object data, ApiConfs conf) { List> result = new ArrayList<>(); Map map = new HashMap<>(); String inteIdUrl = getInteId(inteId); List list = new ArrayList<>(); Object object = getApiData(inteId, data, conf); //除库存接口外,其他接口上传前更新最后更新时间 if (!Constant.API_CODE_1208.equals(inteId)) { setZhgxsjValue(data); } list.add(object); map.put(inteIdUrl, list); result.add(map); return JSON.toJSONString(result); } /** * 常规接口数据封装 * * @param inteId * @param data * @return */ private Object getApiData(String inteId, Object data, ApiConfs conf) { if (Constant.API_CODE_1101.equals(inteId)) { SX2024Api1101 apiData = new SX2024Api1101(); BeanUtils.copyProperties(data, apiData); //统一单位名称赋值 apiData.setTydwmc(apiData.getDwmc()); return apiData; } if (Constant.API_CODE_1102.equals(inteId)) { SX2024Api1102 apiData = new SX2024Api1102(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //统一库区名称赋值 apiData.setTykqmc(apiData.getKqmc()); return apiData; } if (Constant.API_CODE_1103.equals(inteId)) { SX2024Api1103 apiData = new SX2024Api1103(); BeanUtils.copyProperties(data, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一仓房名称 apiData.setTycfmc(apiData.getCfmc()); return apiData; } if (Constant.API_CODE_1104.equals(inteId)) { SX2024Api1104 apiData = new SX2024Api1104(); BeanUtils.copyProperties(data, apiData); //设置統一仓房编码 if (StringUtils.isEmpty(apiData.getTycfbm())) { String tycfbm = apiCommonService.getTycfbm(apiData.getCfbh()); apiData.setTycfbm(tycfbm); } //设置統一廒间名称 apiData.setTyajmc(apiData.getAjmc()); return apiData; } if (Constant.API_CODE_1105.equals(inteId)) { SX2024Api1105 apiData = new SX2024Api1105(); BeanUtils.copyProperties(data, apiData); //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getAjdm()); apiData.setTyajbm(tyajbm); } //设置統一货位名称 apiData.setTyhwmc(apiData.getHwmc()); return apiData; } if (Constant.API_CODE_1106.equals(inteId)) { SX2024Api1106 apiData = new SX2024Api1106(); BeanUtils.copyProperties(data, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一油罐名称 apiData.setTyygmc(apiData.getYgmc()); return apiData; } if (Constant.API_CODE_1107.equals(inteId)) { SX2024Api1107 apiData = new SX2024Api1107(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一库区名称 apiData.setTykqmc(apiData.getKqmc()); return apiData; } if (Constant.API_CODE_1108.equals(inteId)) { SX2024Api1108 apiData = new SX2024Api1108(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一库区名称 apiData.setTykqmc(apiData.getKqmc()); //设置药剂编码:统一库区编码加三维顺序号 if (apiData.getYjbh().startsWith(apiData.getKqdm())) { apiData.setYjbh(apiData.getYjbh().replace(apiData.getKqdm(), apiData.getTykqbm())); } return apiData; } if (Constant.API_CODE_1109.equals(inteId)) { Api1109 api1109 = (Api1109) data; SX2024Api1109 apiData = new SX2024Api1109(); BeanUtils.copyProperties(api1109, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置文件流 apiData.setWjl(FileUtils.fileToByteString(api1109.getWjdz())); //设置文件名称:统一库区编码_ if (apiData.getWjmc().startsWith(apiData.getKqdm())) { apiData.setWjmc(apiData.getWjmc().replace(apiData.getKqdm(), apiData.getTykqbm())); } return apiData; } if (Constant.API_CODE_1110.equals(inteId)) { SX2024Api1110 apiData = new SX2024Api1110(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } return apiData; } if (Constant.API_CODE_1111.equals(inteId)) { SX2024Api1111 apiData = new SX2024Api1111(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } return apiData; } if (Constant.API_CODE_1112.equals(inteId)) { SX2024Api1112 apiData = new SX2024Api1112(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //统一单位名称赋值 apiData.setTydwmc(apiData.getDwmc()); return apiData; } if (Constant.API_CODE_1201.equals(inteId)) { Api1201 api1201 = (Api1201) data; SX2024Api1201 apiData = new SX2024Api1201(); BeanUtils.copyProperties(api1201, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } if (StringUtils.isEmpty(apiData.getHtzl())) { apiData.setHtzl(api1201.getYwlx()); } //设置合同号:统一库区编码加三维顺序号 if (apiData.getHth().startsWith(apiData.getDwdm())) { apiData.setHth(apiData.getHth().replace(apiData.getDwdm(), apiData.getTydwbm())); } if (StringUtils.isEmpty(apiData.getYsfs())) { apiData.setYsfs("根据到货数量进行验收"); } if (StringUtils.isEmpty(apiData.getFKFS())) { apiData.setFKFS("4"); } return apiData; } if (Constant.API_CODE_1202.equals(inteId)) { Api1202 api1202 = (Api1202) data; SX2024Api1202 apiData = new SX2024Api1202(); BeanUtils.copyProperties(api1202, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置粮权单位統一编码 if (StringUtils.isEmpty(apiData.getLqgsdwtybm())) { String tydwbm = apiCommonService.getTydwbm(api1202.getKqdm().substring(0, 18)); apiData.setLqgsdwtybm(tydwbm); } //判断计划明细号,不为空 if (StringUtils.isNotEmpty(apiData.getJhmxh())) { Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(apiData.getJhmxh()); //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) { apiData.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + apiData.getTyhwbm().substring(0, 22))); } } //设置合同号:统一库区编码加三维顺序号 if (apiData.getHth().startsWith(apiData.getHwdm().substring(0, 21))) { apiData.setHth(apiData.getHth().replace(apiData.getHwdm().substring(0, 21), apiData.getTyhwbm().substring(0, 22))); } //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (apiData.getRkjsdh().startsWith(api1202.getKqdm())) { apiData.setRkjsdh(apiData.getRkjsdh().replace(api1202.getKqdm(), apiData.getTyhwbm().substring(0, 22))); } return apiData; } if (Constant.API_CODE_1203.equals(inteId)) { SX2024Api1203 apiData = new SX2024Api1203(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } return apiData; } if (Constant.API_CODE_1204.equals(inteId)) { Api1204 api1204 = (Api1204) data; SX2024Api1204 apiData = new SX2024Api1204(); BeanUtils.copyProperties(api1204, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (apiData.getRkjsdh().startsWith(api1204.getKqdm())) { apiData.setRkjsdh(apiData.getRkjsdh().replace(api1204.getKqdm(), apiData.getTyhwbm().substring(0, 22))); } //设置合同号:统一库区编码加三维顺序号 if (apiData.getHth().startsWith(api1204.getKqdm().substring(0, 18))) { apiData.setHth(apiData.getHth().replace(api1204.getKqdm().substring(0, 18), apiData.getTyhwbm().substring(0, 20))); } return apiData; } if (Constant.API_CODE_1205.equals(inteId)) { SX2024Api1205 apiData = new SX2024Api1205(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //判断计划明细号,不为空 if (StringUtils.isNotEmpty(apiData.getJhmxh())) { Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(apiData.getJhmxh()); //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) { apiData.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + apiData.getTyhwbm().substring(0, 22))); } } //设置合同号:统一库区编码加三维顺序号 if (apiData.getHth().startsWith(apiData.getHwdm().substring(0, 21))) { apiData.setHth(apiData.getHth().replace(apiData.getHwdm().substring(0, 21), apiData.getTyhwbm().substring(0, 22))); } //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (apiData.getCkjsdh().startsWith(apiData.getHwdm().substring(0, 21))) { String tykqbm = apiCommonService.getTykqbm(apiData.getHwdm().substring(0, 21)); apiData.setCkjsdh(apiData.getCkjsdh().replace(apiData.getHwdm().substring(0, 21), tykqbm)); } return apiData; } if (Constant.API_CODE_1206.equals(inteId)) { Api1206 api1206 = (Api1206) data; SX2024Api1206 apiData = new SX2024Api1206(); BeanUtils.copyProperties(api1206, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1206.getKqdm().substring(0, 18)); apiData.setTydwbm(tydwbm); } //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (apiData.getCkjsdh().startsWith(api1206.getKqdm())) { String tykqbm = apiCommonService.getTykqbm(api1206.getKqdm()); apiData.setCkjsdh(apiData.getCkjsdh().replace(api1206.getKqdm(), tykqbm)); } return apiData; } if (Constant.API_CODE_1207.equals(inteId)) { Api1207 api1207 = (Api1207) data; SX2024Api1207 apiData = new SX2024Api1207(); BeanUtils.copyProperties(api1207, apiData); //设置倒出库区统一编码 if (StringUtils.isEmpty(apiData.getDckqtybm())) { String dckqtybm = apiCommonService.getTykqbm(apiData.getDcdw()); apiData.setDckqtybm(dckqtybm); } //设置倒入库区统一编码 if (StringUtils.isEmpty(apiData.getDrkqtybm())) { String drkqtybm = apiCommonService.getTykqbm(apiData.getDrdw()); apiData.setDrkqtybm(drkqtybm); } //设置倒出货位统一编码 if (StringUtils.isEmpty(apiData.getDchwtybm())) { String dchwtybm = apiCommonService.getTyhwbm(apiData.getDchwdm()); apiData.setDchwtybm(dchwtybm); } //设置倒入货位统一编码 if (StringUtils.isEmpty(apiData.getDrhwtybm())) { String drhwtybm = apiCommonService.getTyhwbm(apiData.getDrhwdm()); apiData.setDrhwtybm(drhwtybm); } //设置倒仓单号:统一库区编码+yyyyMMdd+4位顺序号 if (apiData.getDcdh().startsWith(api1207.getKqdm())) { String tykqbm = apiCommonService.getTykqbm(api1207.getKqdm()); apiData.setDcdh(apiData.getDcdh().replace(api1207.getKqdm(), tykqbm)); } return apiData; } if (Constant.API_CODE_1208.equals(inteId)) { SX2024Api1208 apiData = new SX2024Api1208(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置粮权单位統一编码 if (StringUtils.isEmpty(apiData.getLqgstydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getLqgsdwdm()); apiData.setLqgstydwbm(tydwbm); } return apiData; } if (Constant.API_CODE_1209.equals(inteId)) { Api1209 api1209 = (Api1209) data; SX2024Api1209 apiData = new SX2024Api1209(); BeanUtils.copyProperties(api1209, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置损益单号:统一货位编码+yyyyMMdd+3位顺序号 if (apiData.getSydh().startsWith(apiData.getHwdm())) { apiData.setSydh(apiData.getSydh().replace(apiData.getHwdm(), apiData.getTyhwbm())); } //实际损耗数量赋值 apiData.setSjsysl(api1209.getJzsysl()); return apiData; } if (Constant.API_CODE_1210.equals(inteId)) { SX2024Api1210 apiData = new SX2024Api1210(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置性质变更单号:统一货位编码+yyyyMMdd+3位顺序号 if (apiData.getLsxzzbdh().startsWith(apiData.getHwdm())) { apiData.setLsxzzbdh(apiData.getLsxzzbdh().replace(apiData.getHwdm(), apiData.getTyhwbm())); } return apiData; } if (Constant.API_CODE_1211.equals(inteId)) { SX2024Api1211 apiData = new SX2024Api1211(); BeanUtils.copyProperties(data, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } return apiData; } if (Constant.API_CODE_1212.equals(inteId)) { SX2024Api1212 apiData = new SX2024Api1212(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } return apiData; } if (Constant.API_CODE_1213.equals(inteId)) { SX2024Api1213 apiData = new SX2024Api1213(); BeanUtils.copyProperties(data, apiData); apiData.setCfdm(apiData.getHwdm().substring(0, 25)); apiData.setAjdm(apiData.getHwdm().substring(0, 28)); //设置統一仓房编码 if (StringUtils.isEmpty(apiData.getTycfbm())) { String tycfbm = apiCommonService.getTykqbm(apiData.getCfdm()); apiData.setTycfbm(tycfbm); } //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getAjdm()); apiData.setTyajbm(tyajbm); } //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } return apiData; } if (Constant.API_CODE_1301.equals(inteId)) { SX2024Api1301 apiData = new SX2024Api1301(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getDwdm()); apiData.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } return apiData; } if (Constant.API_CODE_1302.equals(inteId)) { SX2024Api1302 apiData = new SX2024Api1302(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置单号:统一货位编码+yyyyMMdd+4位顺序号 if (apiData.getWsdjcdh().startsWith(apiData.getHwdm())) { apiData.setWsdjcdh(apiData.getWsdjcdh().replace(apiData.getHwdm(), apiData.getTyhwbm())); } return apiData; } if (Constant.API_CODE_1303.equals(inteId)) { SX2024Api1303 apiData = new SX2024Api1303(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28)); apiData.setTyajbm(tyajbm); } //设置单号:统一廒间编码+yyyyMMdd+4位顺序号 if (apiData.getHcjcdh().startsWith(apiData.getHwdm())) { apiData.setHcjcdh(apiData.getHcjcdh().replace(apiData.getHwdm(), apiData.getTyajbm())); } return apiData; } if (Constant.API_CODE_1304.equals(inteId)) { SX2024Api1304 apiData = new SX2024Api1304(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28)); apiData.setTyajbm(tyajbm); } //设置单号:统一廒间编码+yyyyMMdd+4位顺序号 if (apiData.getQtndjcdh().startsWith(apiData.getHwdm())) { apiData.setQtndjcdh(apiData.getQtndjcdh().replace(apiData.getHwdm(), apiData.getTyajbm())); } return apiData; } if (Constant.API_CODE_1305.equals(inteId)) { Api1305 api1305 = (Api1305) data; SX2024Api1305 apiData = new SX2024Api1305(); BeanUtils.copyProperties(api1305, apiData); //设置統一仓房编码 if (StringUtils.isEmpty(apiData.getTycfbm())) { String tycfbm = apiCommonService.getTykqbm(apiData.getCfdm()); apiData.setTycfbm(tycfbm); } //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(api1305.getHwdm().substring(0, 28)); apiData.setTyajbm(tyajbm); } //设置通风作业单号:统一廒间编码+yyyyMMdd+3位顺序号 if (apiData.getTfzydh().startsWith(api1305.getHwdm())) { apiData.setTfzydh(apiData.getTfzydh().replace(api1305.getHwdm(), apiData.getTyajbm())); } return apiData; } if (Constant.API_CODE_1306.equals(inteId)) { Api1306 api1306 = (Api1306) data; SX2024Api1306 apiData = new SX2024Api1306(); BeanUtils.copyProperties(api1306, apiData); //设置統一仓房编码 if (StringUtils.isEmpty(apiData.getTycfbm())) { String tycfbm = apiCommonService.getTykqbm(apiData.getCfdm()); apiData.setTycfbm(tycfbm); } //设置統一廒间编码 if (StringUtils.isEmpty(apiData.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(api1306.getHwdm().substring(0, 28)); apiData.setTyajbm(tyajbm); } //设置熏蒸作业单号:统一廒间编码+yyyyMMdd+3位顺序号 if (apiData.getXzzydh().startsWith(apiData.getCfdm())) { apiData.setXzzydh(apiData.getXzzydh().replace(apiData.getCfdm(), apiData.getTyajbm())); } //设置单号:统一廒间编码+yyyyMMdd+4位顺序号 if (apiData.getHcjcdh().startsWith(api1306.getHwdm())) { apiData.setHcjcdh(apiData.getHcjcdh().replace(api1306.getHwdm(), apiData.getTyajbm())); } return apiData; } if (Constant.API_CODE_1307.equals(inteId)) { Api1307 api1307 = (Api1307) data; SX2024Api1307 apiData = new SX2024Api1307(); BeanUtils.copyProperties(api1307, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //设置統一仓房编码 if (StringUtils.isEmpty(apiData.getTycfbm())) { String tycfbm = apiCommonService.getTykqbm(apiData.getCfdm()); apiData.setTycfbm(tycfbm); } //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } //设置文件流 apiData.setCntxwjl(FileUtils.fileToByteString(api1307.getWjdz())); //预置位 if (apiData.getYzwbh().startsWith(apiData.getHwdm())) { apiData.setYzwbh(apiData.getYzwbh().replace(apiData.getHwdm(), apiData.getTyhwbm())); } return apiData; } if (Constant.API_CODE_1308.equals(inteId)) { SX2024Api1308 apiData = new SX2024Api1308(); BeanUtils.copyProperties(data, apiData); //设置統一库区编码 if (StringUtils.isEmpty(apiData.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); apiData.setTykqbm(tykqbm); } //统一库区名称 apiData.setTykqmc(apiData.getKqmc()); return apiData; } if (Constant.API_CODE_1309.equals(inteId)) { Api1309 api1309 = (Api1309) data; SX2024Api1309 apiData = new SX2024Api1309(); BeanUtils.copyProperties(api1309, apiData); //设置违规单位統一编码 if (StringUtils.isEmpty(apiData.getWgdwtybm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getQydm()); apiData.setWgdwtybm(tydwbm); } //设置预警信息代码:统一库区编码+yyyyMMdd+3位顺序号 if (apiData.getYjxxdm().startsWith(api1309.getKqdm())) { String tykqbm = apiCommonService.getTykqbm(api1309.getKqdm()); apiData.setYjxxdm(apiData.getYjxxdm().replace(api1309.getKqdm(), tykqbm)); } return apiData; } if (Constant.API_CODE_1310.equals(inteId)) { SX2024Api1310 apiData = new SX2024Api1310(); BeanUtils.copyProperties(data, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); apiData.setTyhwbm(tyhwbm); } return apiData; } if (Constant.API_CODE_1401.equals(inteId)) { SX2024Api1401 apiData = new SX2024Api1401(); BeanUtils.copyProperties(data, apiData); //设置承储企业统一编码、统一单位编码 if (StringUtils.isEmpty(apiData.getCcqytydm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getCcqy()); apiData.setCcqytydm(tydwbm); apiData.setTydwbm(tydwbm); } return apiData; } if (Constant.API_CODE_1403.equals(inteId)) { SX2024Api1403 apiData = new SX2024Api1403(); BeanUtils.copyProperties(data, apiData); //设置統一单位编码 if (StringUtils.isEmpty(apiData.getJhxddwtybm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getJhxddw()); apiData.setJhxddwtybm(tydwbm); } return apiData; } if (Constant.API_CODE_1404.equals(inteId)) { Api1404 api1404 = (Api1404) data; SX2024Api1404 apiData = new SX2024Api1404(); BeanUtils.copyProperties(api1404, apiData); //设置統一货位编码 if (StringUtils.isEmpty(apiData.getLhhwtybm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getLhhwdm()); apiData.setLhhwtybm(tyhwbm); } //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (apiData.getJhmxdh().startsWith(apiData.getLhjhdh() + api1404.getKqdm())) { String tykqbm = apiCommonService.getTykqbm(api1404.getKqdm()); apiData.setJhmxdh(apiData.getJhmxdh().replace(apiData.getLhjhdh() + api1404.getKqdm(), apiData.getLhjhdh() + tykqbm)); } return apiData; } if (Constant.API_CODE_1504.equals(inteId)) { Api1504 api1504 = (Api1504)data; SX2024Api1504 apiData = new SX2024Api1504(); BeanUtils.copyProperties(api1504, apiData); return apiData; } if (Constant.API_CODE_1505.equals(inteId)) { SX2024Api1505 apiData = new SX2024Api1505(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1506.equals(inteId)) { SX2024Api1506 apiData = new SX2024Api1506(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1507.equals(inteId)) { SX2024Api1507 apiData = new SX2024Api1507(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1508.equals(inteId)) { SX2024Api1508 apiData = new SX2024Api1508(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1509.equals(inteId)) { SX2024Api1509 apiData = new SX2024Api1509(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1510.equals(inteId)) { SX2024Api1510 apiData = new SX2024Api1510(); BeanUtils.copyProperties(data, apiData); return apiData; } return data; } /** * 最后更新时间,赋值为当前时间 * * @param object * @return */ private Object setZhgxsjValue(Object object) { // 使用反射获取属性列表 vo为实体对象名 try { Field zhgxsj = object.getClass().getDeclaredField("zhgxsj"); zhgxsj.setAccessible(true); zhgxsj.set(object, DateUtils.addSeconds(new Date(), -10)); } catch (Exception e) { e.printStackTrace(); } return object; } /** * 根据接口编码获取对应的接口数据库表名 * * @param inteId * @return */ private String getInteId(String inteId) { switch (inteId) { case "1101": return SX2024Constant.SX_2024_API_ODS_UP_DWXXJK; case "1102": return SX2024Constant.SX_2024_API_ODS_UP_KQXXJK; case "1103": return SX2024Constant.SX_2024_API_ODS_UP_CFXXJK; case "1104": return SX2024Constant.SX_2024_API_ODS_UP_AJXXJK; case "1105": return SX2024Constant.SX_2024_API_ODS_UP_HWXXJK; case "1106": return SX2024Constant.SX_2024_API_ODS_UP_YGXXJK; case "1107": return SX2024Constant.SX_2024_API_ODS_UP_SBXXJK; case "1108": return SX2024Constant.SX_2024_API_ODS_UP_YJXXJK; case "1109": return SX2024Constant.SX_2024_API_ODS_UP_WJXXJK; case "1110": return SX2024Constant.SX_2024_API_ODS_UP_KQTCFDWBZSJXXJK; case "1111": return SX2024Constant.SX_2024_API_ODS_UP_KQTSPJKSBDWBZSJXXJK; case "1112": return SX2024Constant.SX_2024_API_ODS_UP_RYXXJK; case "1201": return SX2024Constant.SX_2024_API_ODS_UP_HTXXJK; case "1202": return SX2024Constant.SX_2024_API_ODS_UP_LSRKXXJK; case "1203": return SX2024Constant.SX_2024_API_ODS_UP_LSRKJYXXJK; case "1204": return SX2024Constant.SX_2024_API_ODS_UP_LSRKJSXXJK; case "1205": return SX2024Constant.SX_2024_API_ODS_UP_LSCKXXJK; case "1206": return SX2024Constant.SX_2024_API_ODS_UP_LSCKJSXXJK; case "1207": return SX2024Constant.SX_2024_API_ODS_UP_DCXXJK; case "1208": return SX2024Constant.SX_2024_API_ODS_UP_LSKCXXJK; case "1209": return SX2024Constant.SX_2024_API_ODS_UP_SYDXXJK; case "1210": return SX2024Constant.SX_2024_API_ODS_UP_LSXZZBDXXJK; case "1211": return SX2024Constant.SX_2024_API_ODS_UP_ZMKCXXJK; case "1212": return SX2024Constant.SX_2024_API_ODS_UP_KHXXJK; case "1213": return SX2024Constant.SX_2024_API_ODS_UP_FCQRDXXJK; case "1301": return SX2024Constant.SX_2024_API_ODS_UP_AQGLXXJK; case "1302": return SX2024Constant.SX_2024_API_ODS_UP_WSDJCXXJK; case "1303": return SX2024Constant.SX_2024_API_ODS_UP_CHJCXXJK; case "1304": return SX2024Constant.SX_2024_API_ODS_UP_QTJCXXJK; case "1305": return SX2024Constant.SX_2024_API_ODS_UP_TFZYXXJK; case "1306": return SX2024Constant.SX_2024_API_ODS_UP_XZZYXXJK; case "1307": return SX2024Constant.SX_2024_API_ODS_UP_CNSPTXXXJK; case "1308": return SX2024Constant.SX_2024_API_ODS_UP_SPJKYCSJGJJBXXJK; case "1309": return SX2024Constant.SX_2024_API_ODS_UP_WGYJXXJK; case "1310": return SX2024Constant.SX_2024_API_ODS_UP_ZJXXJK; case "1401": return SX2024Constant.SX_2024_API_ODS_UP_CBGMXXJK; case "1403": return SX2024Constant.SX_2024_API_ODS_UP_LHJHXXJK; case "1404": return SX2024Constant.SX_2024_API_ODS_UP_LHJHMXXXJK; case "1504": return SX2024Constant.SX_2024_API_ODS_UP_ZTXXJK; case "1505": return SX2024Constant.SX_2024_API_ODS_UP_KMXXJK; case "1506": return SX2024Constant.SX_2024_API_ODS_UP_KMYEXXJK; case "1507": return SX2024Constant.SX_2024_API_ODS_UP_HJPZXXJK; case "1508": return SX2024Constant.SX_2024_API_ODS_UP_XJLLFPXXJK; case "1509": return SX2024Constant.SX_2024_API_ODS_UP_GDZCKPXXJK; case "1510": return SX2024Constant.SX_2024_API_ODS_UP_ZCZJXXJK; default: return inteId; } } }