JSON架包以及JobStatus任务状态数据库状态修改

(1)转载:”https://blog.csdn.net/qice675563721/article/details/74000124

用这个api有时候会报错,基本上是因为包没引入完,

引入这几个包后基本上没什么问题,

但是对于JSONObject.fromObject  和 SONObject.toBean的使用为:

String strTmp = "{\"errmsg\":\"ok\",\"ErrorCode\":0,\"messageId\":\"f5d4566c4c833152b3feb42a8092ee6c\",\"invaliduser\":\"\",\"forbiddenUserId\":\"\",\"resJson\":{\"errmsg\":\"ok\",\"ErrorCode\":0,\"messageId\":\"f5d4566c4c833152b3feb42a8092ee6c\",\"invaliduser\":\"\",\"forbiddenUserId\":\"\"}}";
JSONObject jb = JSONObject.fromObject(strTmp);
Map<String, Object> resmap = (Map<String, Object>)jb;
System.out.println("-----resmap:---"+resmap.toString());
String json = "{id:'1001',name:'张三',age:'22'}";
student stu = new student();
JSONObject obj = JSONObject.fromObject(json);
stu = (student)JSONObject.toBean(obj, student.class);
System.out.println(stu);

 

package bao;
 
public class student {
	    private int id ;
	    private String name;
	    private int age;
	    
	    public int getId() {
	        return id;
	    }
	    public void setId(int id) {
	        this.id = id;
	    }
	    public String getName() {
	        return name;
	    }
	    public void setName(String name) {
	        this.name = name;
	    }
	    public int getAge() {
	        return age;
	    }
	    public void setAge(int age) {
	        this.age = age;
	    }
	    
	    public String toString(){
	        return this.id + ",==== " + this.name + ", " + this.age;
	    }
}

结果为:

-----resmap:---{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":"","resJson":{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":""}}
1001,==== 张三, 22


(2)修改状态JobStatus

 

这次的代码主要是抛砖物料到OA,实现的步骤差不多,主要是34.6版本用的是脚本执行。
首先是找到抛砖的按钮
(1)
然后由于    
JSONObject json = JSONObject.fromObject(map);没有抛异常吗,很是奇怪,
于是主管在dynaTeam下面new了一个新的class测试文件,然后

package dyna;
import java.util.HashMap;
import net.sf.json.JSONObject;
public class JSONTest
{
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        HashMap<String,String> map=new HashMap<String,String>();
        map.put("A", "B");
        JSONObject json = JSONObject.fromObject(map);
        System.out.println(json.toString());
    }
}


发现是缺少架包。
用这个api的时候会报错,基本上市因为没有引入完架包。
commons-beanutils-1.9.2.jar;
commons-collections-3.2.2.jar;
commons-lang-2.6.jar;
commons-logging-1.2.jar;
ezmorph-1.0.6.jar;
json-lib-2.4-jdk15.jar(2)发现客户端执行成功,生成抛砖队列之后,服务器不执行,仅当服务器重启才可以。
于是

update SA_JOB_QUEUE sjq set sjq.jobstatus=0 where sjq.jobstatus=4

select sjq.jobstatus from SA_JOB_QUEUE sjq where sjq.jobstatus=1

JobStatus.java这是一个job的状态列表。0是等待执行,1是正在执行,2是取消执行,3是执行成功,4是执行失败。
然后先弄一条是等待的,然后开启服务器,这样就不用每次去客户端建一条正在等待的队列。

var jss=provider.getServiceInstance(JSS,sid);
var boas=provider.getServiceInstance(BOAS,sid);
var ERPStub = new JSERPStub(jss);
var objectGuid=inputObject.getObjectGuid();
var classObject = ClassStub.getClassObjectByName("JG_SHEETMETAL");
var flag = true;
var foundation = boas.getObject(objectGuid);
var role = boas.getUserSignature().getLoginRoleId();//获取当前用户角色
var USERNAME = boas.getUserSignature().getUserName();//获取当前用户
var OWNERNAME = foundation.get("OWNERUSER$NAME");//获取数据的所有者名称

//if (!OWNERNAME.equals("admin"))
//{
    //if (!OWNERNAME.equals(USERNAME))
    //{
        if(!role.equals("OAGLY"))
        {
           return ServiceRequestException("不是传OA角色,没有操作权限!", "A");
        }
    //}
//}

if(null!=foundation.get("SFYC_ITEM"))
{
    if(foundation.get("SFYC_ITEM").equals("Y"))
    {
        return ServiceRequestException("该物料的BOM结构已抛转至ERP,不能重复抛转!", "A");
    } 
}    
if(foundation!=null)
{
    foundation.put("alterid$",foundation.get("SAPBH"));
    boas.saveObject(foundation, false, false,false, null, false, false, false);
}

    var list = classObject.getChildList();
    for(var i = 0;i<list.size();i++){
        var co = list.get(i);
        if(co.getInfo().getGuid().equals(objectGuid.getClassGuid())){
            JSERPStub.createJSERPJob(objectGuid,"ITEMBJ",jss);
            flag= false;
            break;
        }
    }
    if(flag){
        JSERPStub.createJSERPJob(objectGuid,"ITEM",jss);
    }


    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值