CZT
2023-11-10 24da09489db83167c91f5920a92ea19f29d96829
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -19,6 +19,7 @@
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.*;
@@ -42,15 +43,21 @@
    @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() {
@@ -110,7 +117,7 @@
            //获取指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            OrderData orderData = (OrderData) redisUtil.get(key);
            if (StringUtils.isEmpty(orderData.getOrderid())) {
            if (null == orderData || StringUtils.isEmpty(orderData.getOrderid())) {
                log.error("指令id失效=" + jsonData);
                ResponseDto responseDto = new ResponseDto(99, "指令id失效");
                apiLog.setStatus(99);
@@ -135,7 +142,7 @@
            reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey()));
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
            log.info("上报数据信息=" + JSON.toJSONString(reqData));
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
@@ -154,6 +161,7 @@
    /**
     * 转为JSON
     *
     * @param inteId
     * @param data
     * @param code
@@ -177,6 +185,7 @@
    /**
     * 常规接口封装
     *
     * @param inteId
     * @param data
     * @param code
@@ -264,7 +273,8 @@
            Map<String, String> map = new HashMap<>();
            map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz()));
            api1109.setWjl(JSON.toJSONString(map));
            //上海市平台文件名称规则:库区编码_业务流水号_分类码_顺序码.jpg,例如:91310114703439394M001_142211080101_GL_00.jpg
            api1109.setWjmc(getWjmc(api1109.getWjlx(), api1109.getWjmc()));
            //设置空属性为默认值
            changeObject(api1109);
            return api1109;
@@ -315,7 +325,14 @@
            BeanUtils.copyProperties(data, api1201);
            api1201.setBjw(ShAreaBjw.getBjw(code));
            api1201.setHtsfzz("0");
            //合同签订地点不能为空或填无
            if (StringUtils.isEmpty(api1201.getQddd())) {
                api1201.setQddd("签订地点");
            }
            //合同审核人不能为空或填无
            if (StringUtils.isEmpty(api1201.getShr())) {
                api1201.setShr("审批人");
            }
            //设置空属性为默认值
            changeObject(api1201);
            return api1201;
@@ -325,9 +342,28 @@
            Api1202 apiData = (Api1202) data;
            BeanUtils.copyProperties(apiData, api1202);
            api1202.setBjw(ShAreaBjw.getBjw(code));
            api1202.setPch(apiData.getHwdm() + apiData.getShnd());
            api1202.setJzrq(apiData.getCmsj());
            if (StringUtils.isEmpty(api1202.getCddm())) {
                api1202.setCddm(api1202.getHwdm().substring(2, 8));
            }
            if (StringUtils.isEmpty(api1202.getHth())) {
                api1202.setHth("无");
            }
            if (StringUtils.isEmpty(api1202.getJhmxh())) {
                api1202.setJhmxh("计划明细号");
            }
            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.setPch(apiData.getHwdm() + apiData.getShnd());
            //设置空属性为默认值
            changeObject(api1202);
            return api1202;
@@ -337,9 +373,22 @@
            Api1203 apiData = (Api1203) data;
            BeanUtils.copyProperties(apiData, api1203);
            api1203.setBjw(ShAreaBjw.getBjw(code));
            //查询收获年份
            if (StringUtils.isEmpty(api1203.getJyxm())) {
                api1203.setJyxm("0");
            }
            if (StringUtils.isEmpty(api1203.getJyz())) {
                api1203.setJyz("0");
            }
            if (StringUtils.isEmpty(api1203.getZkj())) {
                api1203.setZkj("0");
            }
            if (StringUtils.isEmpty(api1203.getZkl())) {
                api1203.setZkl("0");
            }
            //设置批次号
            List<Api1202> api1202List = api1202Rep.getDataById(apiData.getRkywdh());
            api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd());
            //设置空属性为默认值
            changeObject(api1203);
            return api1203;
@@ -349,6 +398,8 @@
            Api1204 apiData = (Api1204) data;
            BeanUtils.copyProperties(apiData, api1204);
            api1204.setBjw(ShAreaBjw.getBjw(code));
            //设置批次号
            api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy"));
            //设置空属性为默认值
@@ -361,8 +412,29 @@
            Api1205 apiData = (Api1205) data;
            BeanUtils.copyProperties(apiData, api1205);
            api1205.setBjw(ShAreaBjw.getBjw(code));
            api1205.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getCmsj(), "yyyy"));
            api1205.setJzrq(apiData.getCmsj());
            if (StringUtils.isEmpty(api1205.getCddm())) {
                api1205.setCddm(api1205.getHwdm().substring(2, 8));
            }
            if (StringUtils.isEmpty(api1205.getHth())) {
                api1205.setHth("无");
            }
            if (StringUtils.isEmpty(api1205.getJhmxh())) {
                api1205.setJhmxh("计划明细号");
            }
            if (StringUtils.isEmpty(api1205.getCkjsdh())) {
                api1205.setCkjsdh("0");
            }
            //设置粮食轮换年度
            List<Api1404> api1404List = api1404Rep.getDataByJhmxdh(apiData.getJhmxh());
            if(null != api1404List && api1404List.size() >0){
                api1205.setLhnd(api1404List.get(0).getShnd());
            }
            //设置批次号
            api1205.setPch(apiData.getHwdm() + apiData.getShnd());
            //设置空属性为默认值
            changeObject(api1205);
@@ -373,8 +445,9 @@
            Api1206 apiData = (Api1206) data;
            BeanUtils.copyProperties(apiData, api1206);
            api1206.setBjw(ShAreaBjw.getBjw(code));
            List<Api1205> api1205List = api1205Rep.getDataById(apiData.getCkjsdh());
            api1206.setPch(api1205List.get(0).getHwdm() + DateFormatUtils.format(api1205List.get(0).getCmsj(), "yyyy"));
//            List<Api1205> api1205List = api1205Rep.getDataById(apiData.getCkjsdh());
            //设置批次号
//            api1206.setPch(api1205List.get(0).getHwdm() + DateFormatUtils.format(api1205List.get(0).getCmsj(), "yyyy"));
            //设置空属性为默认值
            changeObject(api1206);
@@ -402,8 +475,11 @@
            api1208.setZglkdm(api1208.getHwdm().substring(0, 21));
            api1208.setBjw(ShAreaBjw.getBjw(code));
            //设置批次号
            api1208.setPch(apiData.getHwdm() + apiData.getShnd());
            if (StringUtils.isEmpty(api1208.getCd())) {
                api1208.setCd(api1208.getHwdm().substring(2, 8));
            }
            //设置空属性为默认值
            changeObject(api1208);
            return api1208;
@@ -516,7 +592,9 @@
            //上海通风作业单号:廒间代码+yyyyMMdd+3位顺序号
            api1305.setAjdm(apiData.getTfzydh().substring(0, 28));
            api1305.setTfzydh(apiData.getTfzydh().substring(0, 28) + apiData.getTfzydh().substring(30));
            if (StringUtils.isEmpty(api1305.getTfmd())) {
                api1305.setTfmd("1"); //降温通风
            }
            //设置空属性为默认值
            changeObject(api1305);
            return api1305;
@@ -530,7 +608,9 @@
            api1306.setAjdm(apiData.getHwdm().substring(0, 28));
            //上海熏蒸作业单号:货位代码+yyyyMMdd + 3位顺序号
            api1306.setXzzydh(apiData.getHwdm() + apiData.getBizId());
            if (StringUtils.isEmpty(api1306.getSyff())) {
                api1306.setSyff("0"); //潮解法
            }
            //设置空属性为默认值
            changeObject(api1306);
            return api1306;
@@ -541,8 +621,6 @@
            BeanUtils.copyProperties(apiData, api1307);
            api1307.setBjw(ShAreaBjw.getBjw(code));
            api1307.setAjdm(apiData.getHwdm().substring(0, 28));
            List<Api1109> api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId());
            api1307.setTxbh(api1109List.get(0).getWjmc());
            //设置空属性为默认值
            changeObject(api1307);
@@ -554,9 +632,6 @@
            BeanUtils.copyProperties(apiData, api1308);
            api1308.setBjw(ShAreaBjw.getBjw(code));
            List<Api1109> api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId());
            api1308.setTxbh(api1109List.get(0).getWjmc());
            api1308.setSpbh(api1109List.get(0).getWjmc());
            //设置空属性为默认值
            changeObject(api1308);
@@ -576,11 +651,50 @@
            BeanUtils.copyProperties(apiData, api1310);
            api1310.setBjw(ShAreaBjw.getBjw(code));
            api1310.setJyrq(apiData.getJysj());
            api1310.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy"));
            if (StringUtils.isEmpty(api1310.getJyxm())) {
                api1310.setJyxm("0");
            }
            if (StringUtils.isEmpty(api1310.getJyxmz())) {
                api1310.setJyxmz("0");
            }
            String lsxzdm = "122";
            String pch = apiData.getHwdm() + DateFormatUtils.format(new Date(), "yyyy");
            List<Api1208> api1208List = api1208Rep.getDataByHwdm(api1310.getHwdm());
            if(null != api1208List && api1208List.size() > 0){
                if(StringUtils.isNotEmpty(api1208List.get(0).getLsxzdm())){
                    lsxzdm = api1208List.get(0).getLsxzdm();
                    pch = apiData.getHwdm() + api1208List.get(0).getShnd();
                }
            }
            //设置批次号
            api1310.setPch(pch);
            api1310.setLsxzdm(lsxzdm);
            if (api1310.getYpsl() == 0.0){
                api1310.setYpsl(5.0);
            }
            if(StringUtils.isEmpty(api1310.getQyrxm())){
                api1310.setQyrxm("扦样人");
            }
            if(StringUtils.isEmpty(api1310.getJdrxm())){
                api1310.setJdrxm("监督人");
            }
            if(StringUtils.isEmpty(api1310.getShrxm())){
                api1310.setShrxm("审核人");
            }
            //设置空属性为默认值
            changeObject(api1310);
            return api1310;
        }
        if (SH2023Constant.SH_2023_API_CODE_1311.equals(inteId)) {
            SH2023Api1311 api1311 = new SH2023Api1311();
            BeanUtils.copyProperties(data, api1311);
            api1311.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1311);
            return api1311;
        }
        if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
            SH2023Api1401 api1401 = new SH2023Api1401();
@@ -604,8 +718,10 @@
            SH2023Api1403 api1403 = new SH2023Api1403();
            Api1403 apiData = (Api1403) data;
            BeanUtils.copyProperties(apiData, api1403);
            api1403.setJhzxdw(apiData.getJhxddw());
            api1403.setJhzxdwmc(apiData.getJhxddwmc());
            List<Api1101> api1101List = api1101Rep.findDataByDwdm(apiData.getLhjhdh().substring(0, 18));
            api1403.setJhzxdw(api1101List.get(0).getDwdm());
            api1403.setJhzxdwmc(api1101List.get(0).getDwmc());
            api1403.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
@@ -660,6 +776,18 @@
        return data;
    }
    private String getWjmc(String wjlx, String wjmc){
        if("2".equals(wjlx) || "3".equals(wjlx) || "4".equals(wjlx) || "5".equals(wjlx)){
            if(wjmc.endsWith(".jpg")) {
                wjmc = wjmc.replaceAll(".jpg", "_00.jpg");
            }
            if(wjmc.endsWith(".png")) {
                wjmc = wjmc.replaceAll(".png", "_00.png");
            }
        }
        return wjmc;
    }
    /**
     * 获取财务数据json
     *