CZT
2024-01-08 0a76dacc5d525be4ce1a2dc5e12ddbe44fbddcad
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -54,11 +54,15 @@
    @Autowired
    private Api1208Rep api1208Rep;
    @Autowired
    private Api1210Rep api1210Rep;
    @Autowired
    private Api1109Rep api1109Rep;
    @Autowired
    private Api1202Rep api1202Rep;
    @Autowired
    private Api1205Rep api1205Rep;
    @Autowired
    private Api1403Rep api1403Rep;
    @Autowired
    private Api1404Rep api1404Rep;
@@ -162,6 +166,61 @@
        }
    }
    @Override
    public ResponseDto pullData(ApiParam param, ApiConfs conf) {
        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;
            }
            //封装数据
            SH2023PullReqDto reqData = new SH2023PullReqDto();;
            reqData.setName(conf.getUserName());
            reqData.setPwd(conf.getAppCode());
            log.info("拉取共享数据请求信息=" + JSON.toJSONString(reqData));
            String url = conf.getApiUrl().replace("UPLOAD", "Shared");
            SH2023PullRespDto responseDto = SH2023HttpClientUtil.postPullData(url + inteId, JSON.toJSONString(reqData));
            apiLog.setStatus(responseDto.getRetcode() == 200 ? 0 : responseDto.getRetcode());
            apiLog.setResult(responseDto.getRetMsg());
            apiLogRep.save(apiLog);
            ResponseDto resd = new ResponseDto();
            resd.setSuccess(responseDto.getRetcode() == 200 ? 0 : responseDto.getRetcode());
            resd.setMsg(responseDto.getRetMsg());
            resd.setData(responseDto.getData());
            return resd;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return new ResponseDto(99, e.getMessage());
        }
    }
    /**
     * 转为JSON
     *
@@ -183,7 +242,6 @@
            list.add(object);
            return JSON.toJSONString(list);
        }
    }
    /**
@@ -195,7 +253,6 @@
     * @return
     */
    private Object getJsonApiData(String inteId, Object data, String code) {
        List<Object> list = new ArrayList<>();
        //具体根据接口进行封装
        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
            SH2023Api1101 api1101 = new SH2023Api1101();
@@ -242,7 +299,12 @@
            BeanUtils.copyProperties(apiData, api1104);
            api1104.setAjdm(apiData.getAjdh());
            api1104.setCfdm(apiData.getCfbh());
            api1104.setLsxzdm("122");
            //设置粮食性质代码(查看廒间对应的最新库存进行赋值)
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1104.getAjdm() + "01");
            if (null != api1208List && api1208List.size() > 0) {
                api1104.setLsxzdm(api1208List.get(0).getLsxzdm());
            }
            //设置空属性为默认值
            changeObject(api1104);
@@ -295,7 +357,7 @@
            //上海市平台文件名称规则:库区编码_业务流水号_分类码_顺序码.jpg,例如:91310114703439394M001_142211080101_GL_00.jpg
            api1109.setWjmc(getWjmc(api1109.getWjlx(), api1109.getWjmc()));
            //业务类型
            api1109.setYwdh(getYwdh(api1109.getWjlx(), api1109.getWjmc()));
            api1109.setYwdh(getYwdh(api1109.getWjlx(), api1109.getWjmc(), api1109.getYwdh()));
            //设置空属性为默认值
            changeObject(api1109);
            return api1109;
@@ -327,6 +389,7 @@
            BeanUtils.copyProperties(data, api1112);
            api1112.setHdrychsj(api1112.getQdzgzchzyzgsj());
            api1112.setBjw(ShAreaBjw.getBjw(code));
            api1112.setZy("01");
            //设置空属性为默认值
            changeObject(api1112);
@@ -375,18 +438,30 @@
            if (StringUtils.isEmpty(api1202.getRkjsdh())) {
                api1202.setRkjsdh("0");
            }
            //设置粮食轮换年度
            //设置粮食轮换年度,根据计划明细号查询计划明细,再根据计划明细查询轮换计划
            List<Api1404> api1404List = api1404Rep.getDataByJhmxdh(apiData.getJhmxh());
            if (null != api1404List && api1404List.size() > 0) {
                api1202.setLhnd(api1404List.get(0).getShnd());
                api1202.setShnd(api1404List.get(0).getShnd());
                List<Api1403> api1403List = api1403Rep.getDataByLhjhdh(api1404List.get(0).getLhjhdh());
                if(null != api1403List && api1403List.size() > 0){
                    if(StringUtils.isNotEmpty(api1403List.get(0).getJhnd())){
                        api1202.setLhnd(api1403List.get(0).getJhnd());
                    }
                }
            }
            //查询粮食性质转变单号(根据入库时间和货位代码查询粮食性质转变单)
            List<Api1210> api1210List = api1210Rep.findDataByHwdmAndTime(api1202.getHwdm(), api1202.getCmsj());
            if (null != api1210List && api1210List.size() > 0) {
                api1202.setLsxzzbdh(api1210List.get(0).getLsxzzbdh());
            }
            //设置批次号
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1202.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1202.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //粮食性质
            api1202.setLsxzdm("200");
            //设置空属性为默认值
            changeObject(api1202);
            return api1202;
@@ -413,7 +488,14 @@
            if (null != api1208List && api1208List.size() > 0) {
                api1203.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置质检编码(默认等同于入库质检单号),若为船运,则设置为系统内船运的单号
            api1203.setZjbh(api1203.getRkjydh());
            List<Api1202> api1202List = api1202Rep.getDataById(api1203.getRkywdh());
            if (null != api1202List && api1202List.size() > 0) {
                if(api1202List.get(0).getYsgj().equals("3")){
                    api1203.setZjbh(api1202List.get(0).getBizId().substring(2));
                }
            }
            //设置空属性为默认值
            changeObject(api1203);
            return api1203;
@@ -463,7 +545,12 @@
            //设置粮食轮换年度
            List<Api1404> api1404List = api1404Rep.getDataByJhmxdh(apiData.getJhmxh());
            if (null != api1404List && api1404List.size() > 0) {
                api1205.setLhnd(api1404List.get(0).getShnd());
                List<Api1403> api1403List = api1403Rep.getDataByLhjhdh(api1404List.get(0).getLhjhdh());
                if(null != api1403List && api1403List.size() > 0){
                    if(StringUtils.isNotEmpty(api1403List.get(0).getJhnd())){
                        api1205.setLhnd(api1403List.get(0).getJhnd());
                    }
                }
            }
            //设置批次号
@@ -472,6 +559,8 @@
                api1205.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //粮食性质
            api1205.setLsxzdm("200");
            //设置空属性为默认值
            changeObject(api1205);
            return api1205;
@@ -525,6 +614,13 @@
            if (StringUtils.isEmpty(api1208.getCd())) {
                api1208.setCd(api1208.getHwdm().substring(2, 8));
            }
            //包装储粮是,核查包存粮包数
            if(null == apiData.getBclbs()){
                apiData.setBclbs(0);
            }
            if("2".equals(apiData.getClfs()) && apiData.getBclbs() == 0){
                apiData.setBclbs((int)(apiData.getSjsl()/25));
            }
            //设置空属性为默认值
            changeObject(api1208);
            return api1208;
@@ -544,6 +640,9 @@
            if (null != api1208List && api1208List.size() > 0) {
                api1209.setPch(api1209.getHwdm() + api1208List.get(0).getShnd());
            }
            //粮食性质,暂时默认区级储备
            api1209.setLsxzdm("122");
            //设置空属性为默认值
            changeObject(api1209);
@@ -576,7 +675,8 @@
            if (null != api1208List && api1208List.size() > 0) {
                api1211.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //主管粮库代码
            api1211.setZglkdm(apiData.getKqdm());
            //设置空属性为默认值
            changeObject(api1211);
            return api1211;
@@ -743,6 +843,9 @@
            if (StringUtils.isEmpty(api1310.getShrxm())) {
                api1310.setShrxm("审核人");
            }
            if (StringUtils.isEmpty(api1310.getBglx())) {
                api1310.setBglx("1");
            }
            //设置空属性为默认值
            changeObject(api1310);
@@ -784,6 +887,22 @@
            api1403.setJhzxdw(api1101List.get(0).getDwdm());
            api1403.setJhzxdwmc(api1101List.get(0).getDwmc());
            api1403.setBjw(ShAreaBjw.getBjw(code));
            //查询轮换计划的轮入数量和轮出数量
            List<Api1404> list = api1404Rep.getDataByLhjhdh(api1403.getLhjhdh());
            Double lrsl = 0.0, lcsl = 0.0; //用于统计轮入数量和轮出数量
            if(null != list && list.size() > 0){
                for (Api1404 api1404 : list) {
                    if(null!= api1404.getLhlx() && "2".equals(api1404.getLhlx())){
                        lrsl += api1404.getLhsl();
                    }
                    if(null!= api1404.getLhlx() && "1".equals(api1404.getLhlx())){
                        lcsl += api1404.getLhsl();
                    }
                }
            }
            api1403.setLrsl(lrsl + "");
            api1403.setLcsl(lcsl + "");
            //设置空属性为默认值
            changeObject(api1403);
@@ -875,7 +994,7 @@
                map.put(ceng, new ArrayList<>());
            }
            map.get(ceng).add(Double.valueOf(grain[0]));
            lwmx += grain[1] + ":" + grain[2] + ":" + grain[3] + "$" + grain[0];
            lwmx +=  grain[2]  + ":" + grain[3]  +":" + grain[1] + "$" + grain[0];
            if (Double.valueOf(grain[0]) <= -100) {
                lwmx += "$" + "1" + "#";
                errorNum++;
@@ -1191,8 +1310,7 @@
        }
        return wjmc;
    }
    private String getYwdh(String wjlx, String wjmc) {
        String ywdh = "";
    private String getYwdh(String wjlx, String wjmc, String ywdh) {
        String[] s = wjmc.split("_");
        if ("2".equals(wjlx) || "3".equals(wjlx)) {
            ywdh = s[1];
@@ -1227,12 +1345,6 @@
            }
        }
        return object;
    }
    @Override
    public ResponseDto pullData(ApiParam param, ApiConfs conf) {
        //该协议无此实现
        return null;
    }
}