手机接口接收json格式数据_第一个项目oa费用

原创 2018年04月17日 16:45:14
//提交报销信息
@RequestMapping(value = {"/saveexpense","/process/saveexpense"},method = RequestMethod.POST)
@ResponseBody
public ResultMap saveexpense(@RequestParam(value = "ifdraft",required = false)Boolean ifdraft,@RequestParam(value = "formSign",required = false)String formSign,
                             @RequestParam(value = "officeid",required = false)String officeid,@RequestParam(value = "officeType",required = false)String officeType,
                             ExpenseTitle title, @RequestParam(value = "newfile",required = false) String newfile, @RequestParam(value = "json",required = false) String json,
                             @RequestParam(value = "json1",required = false) String json1,HttpSession session,HttpServletRequest request){
    ResultMap resultMap=null;
    JSONObject data=null;
    String toppid="";
    try {
        if(title.getTitle()==null&&officeid==null&&formSign==null&&newfile==null){
            //解析请求
            String string = expenseApplyService.analyzeRequestParameter(request);
            if(StringUtils.isNotBlank(string)) {

                data = JSONObject.parseObject(string, JSONObject.class);
                formSign=data.getString("formSign");
                officeid=data.getString("officeid");
                officeType=data.getString("officeType");
                String titlejson=data.getString("title");
                title=JSON.parseObject(titlejson,new ExpenseTitle().getClass());
                newfile=data.getString("newfile");
                json=data.getString("json");
                json1=data.getString("json1");
            }
        }
        title.setStatus(0);
        title.setApplytime(new Date());

        expenseApplyService.saveTitle(title);
        Integer eid=title.getEid();
        if(!StringUtils.isBlank(newfile)){

            List<? extends ExpenseFile> expenseFiles= JSON.parseArray(newfile,new ExpenseFile().getClass());
            for (ExpenseFile file:expenseFiles
                    ) {
                file.setEid(eid);
                expenseApplyService.savefile(file);
            }
        }
        if(!StringUtils.isEmpty(json)){

            List<? extends ExpenseRel> expenseRelList= JSON.parseArray(json,new ExpenseRel().getClass());
            for (ExpenseRel rel: expenseRelList
                    ) {
                rel.setEid(eid);
                expenseApplyService.saveRel(rel);
            }
        }
        //List<Integer> loanIdArray=new ArrayList<>();
        if(!StringUtils.isEmpty(json1)) {
            List<? extends ExpenseDetail> expenseDetailList = JSON.parseArray(json1, new ExpenseDetail().getClass());

            for (ExpenseDetail detail : expenseDetailList
                    ) {
                /*if(title.getPaytype()==4){
                    loanIdArray.add(detail.getLoanid());
                }*/
                if(!toppid.equals("")&&!toppid.contains(detail.getToppid()+"")){
                    return new ResultMap(-1,"只能选择一个科目大项",null);
                }
                detail.setEid(eid);
                expenseApplyService.saveDetail(detail);
                if(toppid.equals(""))
                toppid+=""+detail.getToppid();
            }
        }
        /*if(title.getPaytype()==4){
            expenseApplyService.updateLoanState(loanIdArray);
        }*/
        String draftid=request.getParameter("draftid");
        if(draftid!=null){
            expenseApplyService.deletedraftid(Integer.valueOf(draftid));
        }
    } catch (Exception e) {
        e.printStackTrace();
        return new ResultMap(-1,"表单保存失败",null);
    }
}

/**
     * 获取post请求中的参数
     * @param request
     * @return
     * @
     */
    @Override
    public  String analyzeRequestParameter(HttpServletRequest request)  throws IOException{

        String string ="";
        //若data有值即为键值对String data=request.getParameter("data");
        String data=null;

        if(StringUtils.isNotBlank(data)){

            string=data;

        }else{
            InputStream inputStream = request.getInputStream();

            ByteArrayOutputStream reqDataByteArrayOutputStream = new ByteArrayOutputStream();
            // 1、请求数据的获取
            int length = request.getContentLength();
            System.out.println("length:"+length);
            if (length == 0) {
                throw new RuntimeException();
            }

            byte[] b = new byte[1024];
            int tempLength = -1;
            while ((tempLength = inputStream.read(b)) != -1) {
                reqDataByteArrayOutputStream.write(b, 0, tempLength);
            }
            if (reqDataByteArrayOutputStream.size() != request.getContentLength()) {// 读取失败
//          throw new RuntimeException();
            }
            string = reqDataByteArrayOutputStream.toString();
        }

//    System.err.println("string:\n"+string);

        return string;

    }

OA工作流设计制作

为了满足一些企业管理员的一些日常工作流的开发需要,这里特提供工作流设计培训服务。
  • 2015年07月21日 21:04

php接收JSON格式数据

 php接收用post传递的json格式数据方法 $param = json_decode($GLOBALS["HTTP_RAW_POST_DATA"], true); $login_i...
  • r_rcgz
  • r_rcgz
  • 2014-05-12 14:02:37
  • 705

SpringMVC接收json数据的demo

SpringMVC接收json格式的数据的小Demo,还有可能会出现的问题提示。
  • u012556150
  • u012556150
  • 2016-01-24 15:47:42
  • 5733

通达OA 通过程序直接处理手机提醒短信息及事务提醒(图文)

这几天研究的一个工作流问题,需要通过C#来直接操作数据库来写一个事务提醒,本来OA里使用PHP直接通过一个函数即可完成的问题,这里需要自己来做了。通过查看数据表的结构,发现OA里将短信息分成2个表来进...
  • upi2u
  • upi2u
  • 2015-01-23 23:22:22
  • 5146

一个项目调用另一个项目接口,传递json参数

项目需求是在一个项目中,从mysql获取数据,转换成json串,用HttpClient调用另一个项目的接口,并传递json数据;另一个项目接收json​数据,解析后再写入到oracle中...
  • qq346859029
  • qq346859029
  • 2016-09-09 11:24:19
  • 3158

集合数据在客户端和服务器端以json串形式传递

1、移动端 移动端向服务器端传接口时,如果需要把数据放以集合的形式传递,就可以使用jsonArray替代,如下: Map addMap = new HashMap() ; JSONAr...
  • u011159417
  • u011159417
  • 2015-11-14 14:01:47
  • 252

JAVA接口传递参数(POST),从接口接收数据(JSON)

1,给接口传递json格式的数据package fkJAVA.Array; import java.io.BufferedReader; import java.io.DataOutputStream...
  • sinat_21946155
  • sinat_21946155
  • 2016-04-13 17:01:08
  • 11819

SSM编写http接口返回JSON格式数据

由于现在前后端数据分离的强烈需要,现在越来越需要接口化的开发,特别是服务器端的开发和移动端后台的开发,前后端的数据交互自然不能使用之前直接传数据的方式,于是JSON便成了最佳的选择,JSON的底层是H...
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2017-11-19 22:25:43
  • 2367

.net http post接口返回json格式数据

.net http post接口返回json格式数据:  protected void Page_Load(object sender, EventArgs e)     {        ...
  • qq736150416
  • qq736150416
  • 2017-06-28 11:00:32
  • 696
收藏助手
不良信息举报
您举报文章:手机接口接收json格式数据_第一个项目oa费用
举报原因:
原因补充:

(最多只允许输入30个字)