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<Map<String, Object>> result = new ArrayList<>();
|
Map<String, Object> map = new HashMap<>();
|
String inteIdUrl = getInteId(inteId);
|
|
List<Object> 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);
|
//设置統一单位编码
|
if (StringUtils.isEmpty(apiData.getXqydm())) {
|
String tydwbm = apiCommonService.getTydwbm(apiData.getCOrgCode());
|
apiData.setXqydm(tydwbm);
|
}
|
//设置統一库区编码
|
if (StringUtils.isEmpty(apiData.getXkqdm())) {
|
String tykqbm = apiCommonService.getTykqbm(api1504.getKqdm());
|
apiData.setXkqdm(tykqbm);
|
}
|
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;
|
}
|
}
|
|
}
|