package com.fzzy.push.nx2023; import com.alibaba.fastjson.JSON; 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.*; import com.fzzy.push.nx2023.dto.*; 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.*; /** * 宁夏省平台2023版-上传数据服务类 * * @author czt * @date 2023/11/09 */ @Slf4j @Data @Service public class NX2023ApiRemoteService implements ApiRemoteService { @Autowired private RedisUtil redisUtil; @Autowired private ApiCommonService apiCommonService; @Autowired private ApiTriggerService apiTriggerService; @Autowired private ApiLogRep apiLogRep; @Autowired private Api1101Rep api1101Rep; @Autowired private Api1102Rep api1102Rep; @Autowired private Api1104Rep api1104Rep; @Autowired private Api1208Rep api1208Rep; @Autowired private Api1109Rep api1109Rep; @Autowired private Api1202Rep api1202Rep; @Autowired private Api1205Rep api1205Rep; @Autowired private Api1404Rep api1404Rep; @Override public String getProtocol() { return PushProtocol.SB_NX_2023.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 kqdm = param.getKqdm(); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); } //添加日志 ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); if (StringUtils.isEmpty(param.getInteId())) { ResponseDto responseDto = new ResponseDto(99, "没有获取到接口"); apiLog.setStatus(99); apiLog.setResult("没有获取到接口"); apiLogRep.save(apiLog); return responseDto; } apiLog.setInteId(param.getInteId()); //获取接口编码 String inteId = this.getInteId(param.getInteId()); //获取JSON报文 String jsonData = getJsonData(param.getInteId(), data); log.info("接口数据信息=" + jsonData); apiLog.setData(jsonData); apiLog.setKqdm(kqdm); apiLog.setUploadTime(new Date()); if (conf == null) { ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置"); apiLog.setStatus(99); apiLog.setResult("没有获取到上传配置"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 Nx2023ReqDto reqData = new Nx2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //获取身份ID,即粮库的组织代码 reqData.setUid(conf.getUserName()); //指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); String orderId = (String) redisUtil.get(key); if (StringUtils.isEmpty(orderId)) { orderId = reqData.getId(); } reqData.setOrderid(orderId); //身份签名,使用自有RSA私钥进行加密(库区编码_当天日期) reqData.setAccess_token(NxRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword())); reqData.setDatalength(1); //使用省平台的RSA公钥对数据进行RSA加密 reqData.setData(NxRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey())); //摘要,数据主体的MD5值 reqData.setDigst(MyMD5Util.encrypt(jsonData)); log.info("上报数据信息=" + JSON.toJSONString(reqData)); Nx2023RespDto responseDto = NX2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData)); apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); apiLog.setResult(responseDto.getResult()); apiLogRep.save(apiLog); ResponseDto resd = new ResponseDto(); resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); resd.setMsg(responseDto.getResult()); return resd; } catch (Exception e) { log.error(e.getMessage(), e); return new ResponseDto(99, e.getMessage()); } } /** * 转为JSON * * @param inteId * @param data * @return */ private String getJsonData(String inteId, Object data) { List list = new ArrayList<>(); Object object = getJsonApiData(inteId, data); //除库存接口外,其他接口上传前更新最后更新时间 if (!Constant.API_CODE_1208.equals(inteId)) { setZhgxsjValue(data); } list.add(object); return JSON.toJSONString(list); } /** * 常规接口封装 * * @param inteId * @param data * @return */ private Object getJsonApiData(String inteId, Object data) { if (Constant.API_CODE_1101.equals(inteId)) { Nx2023Api1101 api1101 = new Nx2023Api1101(); BeanUtils.copyProperties(data, api1101); //设置上级单位统一编码 if (StringUtils.isEmpty(api1101.getSjdwtybm()) && StringUtils.isNotEmpty(api1101.getSjdwdm())) { String sjdwtybm = apiCommonService.getTydwbm(api1101.getDwdm()); api1101.setSjdwtybm(sjdwtybm); } return api1101; } if (Constant.API_CODE_1102.equals(inteId)) { Nx2023Api1102 api1102 = new Nx2023Api1102(); BeanUtils.copyProperties(data, api1102); //设置统一单位编码 if (StringUtils.isEmpty(api1102.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1102.getDwdm()); api1102.setTydwbm(tydwbm); } return api1102; } if (Constant.API_CODE_1103.equals(inteId)) { Nx2023Api1103 api1103 = new Nx2023Api1103(); BeanUtils.copyProperties(data, api1103); //设置统一库区编码 if (StringUtils.isEmpty(api1103.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1103.getKqdm()); api1103.setTykqbm(tykqbm); } return api1103; } if (Constant.API_CODE_1104.equals(inteId)) { Nx2023Api1104 api1104 = new Nx2023Api1104(); BeanUtils.copyProperties(data, api1104); //设置统一仓房编码 if (StringUtils.isEmpty(api1104.getTycfbm())) { String tycfbm = apiCommonService.getTycfbm(api1104.getCfbh()); api1104.setTycfbm(tycfbm); } return api1104; } if (Constant.API_CODE_1105.equals(inteId)) { Nx2023Api1105 api1105 = new Nx2023Api1105(); BeanUtils.copyProperties(data, api1105); //设置统一廒间编码 if (StringUtils.isEmpty(api1105.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(api1105.getAjdm()); api1105.setTyajbm(tyajbm); } return api1105; } if (Constant.API_CODE_1106.equals(inteId)) { Nx2023Api1106 api1106 = new Nx2023Api1106(); BeanUtils.copyProperties(data, api1106); //设置统一库区编码 if (StringUtils.isEmpty(api1106.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1106.getKqdm()); api1106.setTykqbm(tykqbm); } return api1106; } if (Constant.API_CODE_1107.equals(inteId)) { Nx2023Api1107 api1107 = new Nx2023Api1107(); BeanUtils.copyProperties(data, api1107); //设置统一单位编码 if (StringUtils.isEmpty(api1107.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1107.getDwdm()); api1107.setTydwbm(tydwbm); } //设置统一库区编码 if (StringUtils.isEmpty(api1107.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1107.getKqdm()); api1107.setTykqbm(tykqbm); } return api1107; } if (Constant.API_CODE_1108.equals(inteId)) { Nx2023Api1108 api1108 = new Nx2023Api1108(); BeanUtils.copyProperties(data, api1108); //设置统一单位编码 if (StringUtils.isEmpty(api1108.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1108.getDwdm()); api1108.setTydwbm(tydwbm); } //设置统一库区编码 if (StringUtils.isEmpty(api1108.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1108.getKqdm()); api1108.setTykqbm(tykqbm); } //设置统一药剂编码 api1108.setTyyjbh(api1108.getYjbh().replace(api1108.getKqdm(), api1108.getTykqbm())); return api1108; } if (Constant.API_CODE_1109.equals(inteId)) { Nx2023Api1109 api1109 = new Nx2023Api1109(); Api1109 apiData = (Api1109) data; BeanUtils.copyProperties(apiData, api1109); //设置统一库区编码 if (StringUtils.isEmpty(api1109.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1109.getKqdm()); api1109.setTykqbm(tykqbm); } //设置文件名称:统一库区编码_ if (api1109.getWjmc().startsWith(api1109.getKqdm())) { api1109.setWjmc(api1109.getWjmc().replace(api1109.getKqdm(), api1109.getTykqbm())); } //设置文件路径 api1109.setWjlj("V2024/2409/" + api1109.getTykqbm() + "/" + api1109.getWjlx() + "/" + api1109.getWjmc()); Map map = new HashMap<>(); map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz())); api1109.setWjl(JSON.toJSONString(map)); return api1109; } if (Constant.API_CODE_1110.equals(inteId)) { Nx2023Api1110 api1110 = new Nx2023Api1110(); BeanUtils.copyProperties(data, api1110); //设置统一单位编码 if (StringUtils.isEmpty(api1110.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1110.getDwdm()); api1110.setTydwbm(tydwbm); } //设置统一库区编码 if (StringUtils.isEmpty(api1110.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1110.getKqdm()); api1110.setTykqbm(tykqbm); } //设置统一货位编码 if (StringUtils.isEmpty(api1110.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1110.getHwdm()); api1110.setTyhwbm(tyhwbm); } return api1110; } if (Constant.API_CODE_1111.equals(inteId)) { Nx2023Api1111 api1111 = new Nx2023Api1111(); BeanUtils.copyProperties(data, api1111); //设置统一单位编码 if (StringUtils.isEmpty(api1111.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1111.getDwdm()); api1111.setTydwbm(tydwbm); } //设置统一库区编码 if (StringUtils.isEmpty(api1111.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1111.getKqdm()); api1111.setTykqbm(tykqbm); } return api1111; } if (Constant.API_CODE_1112.equals(inteId)) { Nx2023Api1112 api1112 = new Nx2023Api1112(); BeanUtils.copyProperties(data, api1112); //设置统一单位编码 if (StringUtils.isEmpty(api1112.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1112.getDwdm()); api1112.setTydwbm(tydwbm); } //设置统一库区编码 if (StringUtils.isEmpty(api1112.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1112.getKqdm()); api1112.setTykqbm(tykqbm); } return api1112; } if (Constant.API_CODE_1201.equals(inteId)) { Api1201 apiData = (Api1201) data; Nx2023Api1201 api1201 = new Nx2023Api1201(); BeanUtils.copyProperties(apiData, api1201); //设置統一单位编码 if (StringUtils.isEmpty(api1201.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1201.getDwdm()); api1201.setTydwbm(tydwbm); } if (StringUtils.isEmpty(api1201.getHtzl())) { api1201.setHtzl(api1201.getYwlx()); } //设置合同号:统一库区编码加三维顺序号 if (StringUtils.isEmpty(api1201.getTyhth())) { api1201.setTyhth(api1201.getHth().replace(api1201.getDwdm(), api1201.getTydwbm())); } if (StringUtils.isEmpty(api1201.getYsfs())) { api1201.setYsfs("根据到货数量进行验收"); } if (StringUtils.isEmpty(api1201.getFkfs())) { api1201.setFkfs("4"); } return api1201; } if (Constant.API_CODE_1202.equals(inteId)) { Nx2023Api1202 api1202 = new Nx2023Api1202(); BeanUtils.copyProperties(data, api1202); //设置統一货位编码 if (StringUtils.isEmpty(api1202.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1202.getHwdm()); api1202.setTyhwbm(tyhwbm); } //设置粮权单位統一编码 if (StringUtils.isEmpty(api1202.getLqgsdwtybm())) { String tydwbm = apiCommonService.getTydwbm(api1202.getHwdm().substring(0, 18)); api1202.setLqgsdwtybm(tydwbm); } //判断计划明细号,不为空 if (StringUtils.isNotEmpty(api1202.getJhmxh())) { Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(api1202.getJhmxh()); //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) { api1202.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + api1202.getTyhwbm().substring(0, 22))); } } //设置合同号:统一库区编码加三维顺序号 if (api1202.getHth().startsWith(api1202.getHwdm().substring(0, 21))) { api1202.setHth(api1202.getHth().replace(api1202.getHwdm().substring(0, 21), api1202.getTyhwbm().substring(0, 22))); } //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (StringUtils.isEmpty(api1202.getTyrkjsdh())) { api1202.setTyrkjsdh(api1202.getRkjsdh().replace(api1202.getHwdm().substring(0, 21), api1202.getTyhwbm().substring(0, 22))); } return api1202; } if (Constant.API_CODE_1203.equals(inteId)) { Nx2023Api1203 api1203 = new Nx2023Api1203(); BeanUtils.copyProperties(data, api1203); //设置統一货位编码 if (StringUtils.isEmpty(api1203.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1203.getHwdm()); api1203.setTyhwbm(tyhwbm); } return api1203; } if (Constant.API_CODE_1204.equals(inteId)) { Api1204 apiData = (Api1204) data; Nx2023Api1204 api1204 = new Nx2023Api1204(); BeanUtils.copyProperties(apiData, api1204); //设置統一货位编码 if (StringUtils.isEmpty(api1204.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1204.getHwdm()); api1204.setTyhwbm(tyhwbm); } //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (StringUtils.isEmpty(api1204.getTyrkjsdh())) { api1204.setTyrkjsdh(api1204.getRkjsdh().replace(apiData.getKqdm(), api1204.getTyhwbm().substring(0, 22))); } //设置合同号:统一库区编码加三维顺序号 if (api1204.getHth().startsWith(apiData.getKqdm().substring(0, 18))) { api1204.setHth(api1204.getHth().replace(apiData.getKqdm().substring(0, 18), api1204.getTyhwbm().substring(0, 20))); } return api1204; } if (Constant.API_CODE_1205.equals(inteId)) { Nx2023Api1205 api1205 = new Nx2023Api1205(); BeanUtils.copyProperties(data, api1205); //设置統一货位编码 if (StringUtils.isEmpty(api1205.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1205.getHwdm()); api1205.setTyhwbm(tyhwbm); } //判断计划明细号,不为空 if (StringUtils.isNotEmpty(api1205.getJhmxh())) { Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(api1205.getJhmxh()); //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) { api1205.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + api1205.getTyhwbm().substring(0, 22))); } } //设置合同号:统一库区编码加三维顺序号 if (api1205.getHth().startsWith(api1205.getHwdm().substring(0, 21))) { api1205.setHth(api1205.getHth().replace(api1205.getHwdm().substring(0, 21), api1205.getTyhwbm().substring(0, 22))); } //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (StringUtils.isEmpty(api1205.getTyckjsdh())) { String tykqbm = apiCommonService.getTykqbm(api1205.getHwdm().substring(0, 21)); api1205.setTyckjsdh(api1205.getCkjsdh().replace(api1205.getHwdm().substring(0, 21), tykqbm)); } return api1205; } if (Constant.API_CODE_1206.equals(inteId)) { Api1206 apiData = (Api1206) data; Nx2023Api1206 api1206 = new Nx2023Api1206(); BeanUtils.copyProperties(apiData, api1206); //设置統一单位编码 if (StringUtils.isEmpty(api1206.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(apiData.getKqdm().substring(0, 18)); api1206.setTydwbm(tydwbm); } //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号 if (StringUtils.isEmpty(api1206.getTyckjsdh())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); api1206.setTyckjsdh(api1206.getCkjsdh().replace(apiData.getKqdm(), tykqbm)); } return api1206; } if (Constant.API_CODE_1207.equals(inteId)) { Nx2023Api1207 api1207 = new Nx2023Api1207(); BeanUtils.copyProperties(data, api1207); //设置倒出库区统一编码 if (StringUtils.isEmpty(api1207.getDckqtybm())) { String dckqtybm = apiCommonService.getTykqbm(api1207.getDcdw()); api1207.setDckqtybm(dckqtybm); } //设置倒入库区统一编码 if (StringUtils.isEmpty(api1207.getDrkqtybm())) { String drkqtybm = apiCommonService.getTykqbm(api1207.getDrdw()); api1207.setDrkqtybm(drkqtybm); } //设置倒出货位统一编码 if (StringUtils.isEmpty(api1207.getDchwtybm())) { String dchwtybm = apiCommonService.getTyhwbm(api1207.getDchwdm()); api1207.setDchwtybm(dchwtybm); } //设置倒入货位统一编码 if (StringUtils.isEmpty(api1207.getDrhwtybm())) { String drhwtybm = apiCommonService.getTyhwbm(api1207.getDrhwdm()); api1207.setDrhwtybm(drhwtybm); } //设置倒仓单号:统一库区编码+yyyyMMdd+4位顺序号 if (StringUtils.isEmpty(api1207.getTydcdh())) { String tykqbm = apiCommonService.getTykqbm(api1207.getDchwdm().substring(0, 21)); api1207.setTydcdh(api1207.getDcdh().replace(api1207.getDchwdm().substring(0, 21), tykqbm)); } return api1207; } if (Constant.API_CODE_1208.equals(inteId)) { Nx2023Api1208 api1208 = new Nx2023Api1208(); BeanUtils.copyProperties(data, api1208); //设置統一货位编码 if (StringUtils.isEmpty(api1208.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1208.getHwdm()); api1208.setTyhwbm(tyhwbm); } //设置粮权单位統一编码 if (StringUtils.isEmpty(api1208.getLqgstydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1208.getLqgsdwdm()); api1208.setLqgstydwbm(tydwbm); } return api1208; } if (Constant.API_CODE_1209.equals(inteId)) { Api1209 apiData = (Api1209) data; Nx2023Api1209 api1209 = new Nx2023Api1209(); BeanUtils.copyProperties(apiData, api1209); //设置統一货位编码 if (StringUtils.isEmpty(api1209.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1209.getHwdm()); api1209.setTyhwbm(tyhwbm); } //设置损益单号:统一货位编码+yyyyMMdd+3位顺序号 if (StringUtils.isEmpty(api1209.getTysydh())) { api1209.setTysydh(api1209.getSydh().replace(api1209.getHwdm(), api1209.getTyhwbm())); } //实际损耗数量赋值 api1209.setSjsysl(apiData.getJzsysl()); return api1209; } if (Constant.API_CODE_1210.equals(inteId)) { Nx2023Api1210 api1210 = new Nx2023Api1210(); BeanUtils.copyProperties(data, api1210); //设置統一货位编码 if (StringUtils.isEmpty(api1210.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1210.getHwdm()); api1210.setTyhwbm(tyhwbm); } //设置性质变更单号:统一货位编码+yyyyMMdd+3位顺序号 if (StringUtils.isEmpty(api1210.getTylsxzzbdh())) { api1210.setTylsxzzbdh(api1210.getLsxzzbdh().replace(api1210.getHwdm(), api1210.getTyhwbm())); } return api1210; } if (Constant.API_CODE_1211.equals(inteId)) { Nx2023Api1211 api1211 = new Nx2023Api1211(); BeanUtils.copyProperties(data, api1211); //设置統一库区编码 if (StringUtils.isEmpty(api1211.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1211.getKqdm()); api1211.setTykqbm(tykqbm); } return api1211; } if (Constant.API_CODE_1212.equals(inteId)) { Nx2023Api1212 api1212 = new Nx2023Api1212(); BeanUtils.copyProperties(data, api1212); //设置統一单位编码 if (StringUtils.isEmpty(api1212.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1212.getDwdm()); api1212.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(api1212.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1212.getKqdm()); api1212.setTykqbm(tykqbm); } return api1212; } if (Constant.API_CODE_1213.equals(inteId)) { Api1213 apiData = (Api1213)data; Nx2023Api1213 api1213 = new Nx2023Api1213(); BeanUtils.copyProperties(data, api1213); //设置統一货位编码 if (StringUtils.isEmpty(api1213.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm()); api1213.setTyhwbm(tyhwbm); } return api1213; } if (Constant.API_CODE_1301.equals(inteId)) { Nx2023Api1301 api1301 = new Nx2023Api1301(); BeanUtils.copyProperties(data, api1301); //设置統一单位编码 if (StringUtils.isEmpty(api1301.getTydwbm())) { String tydwbm = apiCommonService.getTydwbm(api1301.getDwdm()); api1301.setTydwbm(tydwbm); } //设置統一库区编码 if (StringUtils.isEmpty(api1301.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1301.getKqdm()); api1301.setTykqbm(tykqbm); } return api1301; } if (Constant.API_CODE_1302.equals(inteId)) { Nx2023Api1302 api1302 = new Nx2023Api1302(); BeanUtils.copyProperties(data, api1302); //设置統一货位编码 if (StringUtils.isEmpty(api1302.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1302.getHwdm()); api1302.setTyhwbm(tyhwbm); } //设置单号:统一货位编码+yyyyMMdd+4位顺序号 if (StringUtils.isEmpty(api1302.getTywsdjcdh())) { api1302.setTywsdjcdh(api1302.getWsdjcdh().replace(api1302.getHwdm(), api1302.getTyhwbm())); } return api1302; } if (Constant.API_CODE_1303.equals(inteId)) { Nx2023Api1303 api1303 = new Nx2023Api1303(); BeanUtils.copyProperties(data, api1303); //设置統一廒间编码 if (StringUtils.isEmpty(api1303.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(api1303.getHwdm().substring(0, 28)); api1303.setTyajbm(tyajbm); } //设置单号:统一廒间编码+yyyyMMdd+4位顺序号 if (StringUtils.isEmpty(api1303.getTyhcjcdh())) { api1303.setTyhcjcdh(api1303.getHcjcdh().replace(api1303.getHwdm(), api1303.getTyajbm())); } return api1303; } if (Constant.API_CODE_1304.equals(inteId)) { Nx2023Api1304 api1304 = new Nx2023Api1304(); BeanUtils.copyProperties(data, api1304); //设置統一廒间编码 if (StringUtils.isEmpty(api1304.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(api1304.getHwdm().substring(0, 28)); api1304.setTyajbm(tyajbm); } //设置单号:统一廒间编码+yyyyMMdd+4位顺序号 if (StringUtils.isEmpty(api1304.getTyqtndjcdh())) { api1304.setTyqtndjcdh(api1304.getQtndjcdh().replace(api1304.getHwdm(), api1304.getTyajbm())); } return api1304; } if (Constant.API_CODE_1305.equals(inteId)) { Api1305 apiData = (Api1305)data; Nx2023Api1305 api1305 = new Nx2023Api1305(); BeanUtils.copyProperties(apiData, api1305); //设置統一廒间编码 if (StringUtils.isEmpty(api1305.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28)); api1305.setTyajbm(tyajbm); } //设置通风作业单号:统一廒间编码+yyyyMMdd+3位顺序号 if (StringUtils.isEmpty(api1305.getTytfzydh())) { api1305.setTytfzydh(api1305.getTfzydh().replace(apiData.getHwdm(), api1305.getTyajbm())); } return api1305; } if (Constant.API_CODE_1306.equals(inteId)) { Api1306 apiData = (Api1306)data; Nx2023Api1306 api1306 = new Nx2023Api1306(); BeanUtils.copyProperties(apiData, api1306); //设置統一廒间编码 if (StringUtils.isEmpty(api1306.getTyajbm())) { String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28)); api1306.setTyajbm(tyajbm); } //设置熏蒸作业单号:统一廒间编码+yyyyMMdd+3位顺序号 if (StringUtils.isEmpty(api1306.getTyxzzydh())) { api1306.setTyxzzydh(api1306.getXzzydh().replace(api1306.getCfdm(), api1306.getTyajbm())); } return api1306; } if (Constant.API_CODE_1307.equals(inteId)) { Api1307 apiData = (Api1307) data; Nx2023Api1307 api1307 = new Nx2023Api1307(); BeanUtils.copyProperties(apiData, api1307); //设置統一库区编码 if (StringUtils.isEmpty(api1307.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1307.getKqdm()); api1307.setTykqbm(tykqbm); } //设置統一仓房编码 if (StringUtils.isEmpty(api1307.getTycfbm())) { String tycfbm = apiCommonService.getTykqbm(api1307.getCfdm()); api1307.setTycfbm(tycfbm); } //设置統一货位编码 if (StringUtils.isEmpty(api1307.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1307.getHwdm()); api1307.setTyhwbm(tyhwbm); } //设置预置位编码 if (api1307.getYzwbh().startsWith(api1307.getHwdm())) { api1307.setYzwbh(api1307.getYzwbh().replace(api1307.getHwdm(), api1307.getTyhwbm())); } //设置文件路径 String cntxwjlj = "V2024/2432/"; cntxwjlj += api1307.getTykqbm() + "/"; cntxwjlj += api1307.getYzwbh() + "/"; cntxwjlj += api1307.getSpjksbid() + "/"; cntxwjlj += api1307.getTyhwbm() + "_" + DateFormatUtils.format(api1307.getZpsj(),"yyyyMMdd HHmmss") + "." + api1307.getTxwjhzm(); api1307.setCntxwjlj(cntxwjlj); Map map = new HashMap<>(); String wjmc = api1307.getTyhwbm() + "_" + DateFormatUtils.format(api1307.getZpsj(),"yyyyMMdd HHmmss") + "." + api1307.getTxwjhzm(); map.put(wjmc, FileUtils.fileToByteString(apiData.getWjdz())); api1307.setCntxwjl(JSON.toJSONString(map)); return api1307; } if (Constant.API_CODE_1308.equals(inteId)) { Api1308 apiData = (Api1308) data; Nx2023Api1308 api1308 = new Nx2023Api1308(); BeanUtils.copyProperties(apiData, api1308); //设置統一库区编码 if (StringUtils.isEmpty(api1308.getTykqbm())) { String tykqbm = apiCommonService.getTykqbm(api1308.getKqdm()); api1308.setTykqbm(tykqbm); } //设置文件路径 String spwjlj = "V2024/2433/"; spwjlj += api1308.getTykqbm() + "/"; spwjlj += api1308.getSpjksbid() + "/"; spwjlj += api1308.getSpjksbid() + "/"; spwjlj += api1308.getTykqbm() + "_" + DateFormatUtils.format(api1308.getGjsj(),"yyyyMMdd HHmmss") + "." + api1308.getSpwjhzm(); api1308.setSpwjlj(spwjlj); Map map = new HashMap<>(); String wjmc = api1308.getTykqbm() + "_" + DateFormatUtils.format(api1308.getGjsj(),"yyyyMMdd HHmmss") + "." + api1308.getSpwjhzm(); map.put(wjmc, FileUtils.fileToByteString(apiData.getWjdz())); api1308.setSpwjl(JSON.toJSONString(map)); return api1308; } if (Constant.API_CODE_1309.equals(inteId)) { Api1309 apiData = (Api1309)data; Nx2023Api1309 api1309 = new Nx2023Api1309(); BeanUtils.copyProperties(data, api1309); //设置违规单位統一编码 if (StringUtils.isEmpty(api1309.getWgdwtybm())) { String tydwbm = apiCommonService.getTydwbm(api1309.getQydm()); api1309.setWgdwtybm(tydwbm); } //设置预警信息代码:统一库区编码+yyyyMMdd+3位顺序号 if (StringUtils.isEmpty(api1309.getTyyjxxdm())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); api1309.setTyyjxxdm(api1309.getYjxxdm().replace(apiData.getKqdm(), tykqbm)); } return api1309; } if (Constant.API_CODE_1310.equals(inteId)) { Nx2023Api1310 api1310 = new Nx2023Api1310(); BeanUtils.copyProperties(data, api1310); //设置統一货位编码 if (StringUtils.isEmpty(api1310.getTyhwbm())) { String tyhwbm = apiCommonService.getTyhwbm(api1310.getHwdm()); api1310.setTyhwbm(tyhwbm); } return api1310; } if (Constant.API_CODE_1404.equals(inteId)) { Api1404 apiData = (Api1404)data; Nx2023Api1404 api1404 = new Nx2023Api1404(); BeanUtils.copyProperties(apiData, api1404); //设置統一货位编码 if (StringUtils.isEmpty(api1404.getLhhwtybm())) { String tyhwbm = apiCommonService.getTyhwbm(api1404.getLhhwdm()); api1404.setLhhwtybm(tyhwbm); } //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号 if (StringUtils.isEmpty(api1404.getTyjhmxdh())) { String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm()); api1404.setTyjhmxdh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + apiData.getKqdm(), api1404.getLhjhdh() + tykqbm)); } return api1404; } if (Constant.API_CODE_1504.equals(inteId)) { Api1504 api1504 = (Api1504)data; Nx2023Api1504 apiData = new Nx2023Api1504(); BeanUtils.copyProperties(api1504, apiData); return apiData; } if (Constant.API_CODE_1505.equals(inteId)) { Nx2023Api1505 apiData = new Nx2023Api1505(); BeanUtils.copyProperties(data, apiData); return data; } if (Constant.API_CODE_1506.equals(inteId)) { Nx2023Api1506 apiData = new Nx2023Api1506(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1507.equals(inteId)) { Nx2023Api1507 apiData = new Nx2023Api1507(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1508.equals(inteId)) { Nx2023Api1508 apiData = new Nx2023Api1508(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1509.equals(inteId)) { Nx2023Api1509 apiData = new Nx2023Api1509(); BeanUtils.copyProperties(data, apiData); return apiData; } if (Constant.API_CODE_1510.equals(inteId)) { Nx2023Api1510 apiData = new Nx2023Api1510(); BeanUtils.copyProperties(data, apiData); return apiData; } return data; } /** * 获取上传的接口编码 * * @param inteId * @return */ private String getInteId(String inteId) { //封仓确认单 if (Constant.API_CODE_1213.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2442; } if (Constant.API_CODE_1504.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2443; } if (Constant.API_CODE_1505.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2444; } if (Constant.API_CODE_1506.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2445; } if (Constant.API_CODE_1507.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2446; } if (Constant.API_CODE_1508.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2447; } if (Constant.API_CODE_1509.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2448; } if (Constant.API_CODE_1510.equals(inteId)) { return NX2023Constant.NX_2023_API_CODE_2449; } return inteId; } /** * 赋值最后更新时间 * * @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; } @Override public ResponseDto pullData(ApiParam param, ApiConfs conf) { //该协议无此实现 return null; } }