niying
2024-01-25 ccc63cdefe54bd500c509c4dc4436ce8830467a3
java反射执行任务添加参数
2个文件已修改
30 ■■■■ 已修改文件
src/main/java/com/itstyle/mdm/job/MdmJob.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/itstyle/mdm/utils/MdmUtils.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/itstyle/mdm/job/MdmJob.java
@@ -28,14 +28,16 @@
    public void execute(JobExecutionContext context) throws JobExecutionException {
        JobDetail jobDetail = context.getJobDetail();
        JobDataMap dataMap = jobDetail.getJobDataMap();
        JobKey key = jobDetail.getKey();
        String name = key.getName();//数据获取名称
        /**
         * 获取任务中保存的方法名字,动态调用方法
         */
        String methodName = dataMap.getString("jobMethodName");
        try {
            MdmJob job = new MdmJob();
            Method method = job.getClass().getMethod(methodName);
            method.invoke(job);
            Method method = job.getClass().getMethod(methodName,String.class);
            method.invoke(job,name);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
@@ -50,10 +52,10 @@
     * 调用MDM接口进行数据获取物料
     * @return
     */
    public String obtainMdmData(){
    public String obtainMdmData(String name){
        mdmUtils = (MdmUtils) applicationContext.getBean("mdmUtils");
        logger.info("MDM数据获取开始");
        mdmUtils.queryMaterial();
        mdmUtils.queryMaterial(name);
        return "";
    }
@@ -61,10 +63,10 @@
     * 调用MDM计量单位数据获取
     * @throws BeansException
     */
    public String obtainMdmUnitData(){
    public String obtainMdmUnitData(String name){
        mdmUtils = (MdmUtils) applicationContext.getBean("mdmUtils");
        logger.info("MDM计量单位数据获取开始");
        mdmUtils.queryUnit();
        mdmUtils.queryUnit(name);
        return "";
    }
src/main/java/com/itstyle/mdm/utils/MdmUtils.java
@@ -33,14 +33,14 @@
     * MDM局域物料名称编码数据获取
     * @return
     */
    public String queryMaterial(){
    public String queryMaterial(String name){
        StringBuffer returnJson = new StringBuffer();
        Map<String,String> params = new HashMap<>();
        params.put("code","1560000581165.1560000576507.a94a779e9e6d3ecbb646e39477dad6ec");//授权码
        params.put("current","1");//页码
        params.put("size","1000");//每页记录数(最大1000)
        params.put("queryValue","");//模糊查询
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress("局域物料名称编码数据获取");
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress(name);
        String address = anEnum.getAddress();
        try {
            HttpClientResult httpClientResult = MdmApiUtils.doPost(MDM_ADRESS+address, null, params);
@@ -53,7 +53,7 @@
                records = jsonObj.getString("records");
                JSONArray recordArray = JSON.parseArray(records);//物料数据信息
                //将数据保存至数据库
                JSONArray newJson = mdmService.saveMdmData(recordArray,"局域物料名称编码数据获取");
                JSONArray newJson = mdmService.saveMdmData(recordArray,name);
                if(newJson.size()!=0){
                    //定义返回json格式
                    returnJson.append("{\n" +
@@ -70,7 +70,7 @@
                    String toString = returnJson.toString();
                    System.out.println(toString);
                    //分发增量数据至异构系统
                    distributeDataToSys(toString,"局域物料名称编码数据获取");
                    distributeDataToSys(toString,name);
                }
            }
        } catch (Exception e) {
@@ -83,8 +83,8 @@
     * MDM计量单位数据获取
     * @return
     */
    public String queryUnit(){
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress("计量单位业务基础数据编码获取");
    public String queryUnit(String name){
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress(name);
        StringBuffer returnJson = new StringBuffer();
        Map<String,String> params = new HashMap<>();
        params.put("code","1560000581165.1560000576507.a94a779e9e6d3ecbb646e39477dad6ec");//授权码
@@ -101,7 +101,7 @@
                records = jsonObj.getString("data");
                JSONArray recordArray = JSON.parseArray(records);//物料数据信息
                //将数据保存至数据库
                JSONArray newJson = mdmService.saveMdmUnitData(recordArray,"计量单位业务基础数据编码获取");
                JSONArray newJson = mdmService.saveMdmUnitData(recordArray,name);
                if(newJson.size()!=0){
                    //定义返回json格式
                    returnJson.append("{\n" +
@@ -115,7 +115,7 @@
                    String toString = returnJson.toString();
                    System.out.println(toString);
                    //分发增量数据至异构系统
                    distributeDataToSys(toString,"计量单位业务基础数据编码获取");
                    distributeDataToSys(toString,name);
                }
            }
        } catch (Exception e) {