zoukankan      html  css  js  c++  java
  • H3BPM中前端发送JS对象请求后端C#

    BPM流程中用到异步请求, 工作记录

           //前端定义对象,最后转成字符串, 发送到C#的接口
    var num=$.MvcSheetUI.GetElement("OTC09_01").SheetGridView().RowCount; //子表行数 var jsonobj = {}; //定义JSON jsonobj.rows=[]; //定义成员数组 for(var i=1;i<=num;i++) { var obj={}; //定义数组成员 obj.qty=$.MvcSheetUI.GetControlValue("OTC09_01.BGSL",i); obj.predate=$.MvcSheetUI.GetControlValue("OTC09_01.BGRQ",i); obj.socode=$.MvcSheetUI.GetControlValue("OTC09_01.DDH",i); obj.rowno=$.MvcSheetUI.GetControlValue("OTC09_01.RowNo",i); jsonobj.rows.push(obj); //把成员加入数组 } $.MvcSheetUI.SetControlValue("jsonobj",JSON.stringify(jsonobj)); //以JSON格式转成字符串

    C#接收到解析

            public WSResult OTC09ToERP(string jsonStr)
            {
                //提取JSON行数组
                JObject jsonObj = (JObject)JsonConvert.DeserializeObject(jsonStr);
                JArray jsonArr = (JArray)JsonConvert.DeserializeObject(jsonObj["rows"].ToString());
                int num = jsonArr.Count;
                //构建ERP SQL字符串
                string sqlTests = string.Empty;
                for (var i = 0; i < num; i++)
                {
                    JObject jsonRow = (JObject)JsonConvert.DeserializeObject(jsonArr[i].ToString());
                    //变更数量,件数,发货日期,完工日期
                    string sqlTest = @"update SO_SODetails set iQuantity={0},iNum={0}/(ISNULL(b.cInvDefine13,1)),dPreDate={1},dPreMoDate={1},cScloser={4} from SO_SODetails a
                                    inner join inventory b on a.cInvCode=b.cInvCode
                                    where a.cSOCode='{2}' and a.iRowNo={3} ";
                    //处理空值
                    string val1, val2,val3 = val1 = val2 = val3 = string.Empty;
                    val1 = jsonRow["qty"].ToString() == "" ? "iQuantity" : jsonRow["qty"].ToString();
                    val2 = jsonRow["predate"].ToString() == "" ? "dPreDate" : "'" + jsonRow["predate"].ToString() + "'";
                    val3 = jsonRow["qty"].ToString() == "0" ? "'EAI'" : "cScloser";
                    //格式化占位符
                    sqlTests += string.Format(sqlTest, val1, val2, jsonRow["socode"].ToString(), jsonRow["rowno"].ToString(),val3);
                }
                //执行ERP变更
                SqlCon con = new SqlCon("ERP");
                try
                {
                    con.open();
                    if (con.ENQuery(sqlTests) > 0)
                    {
                        r._message = "订单变更成功";
                        r._result = "1";
                        r._state = "successful";
                    }
    
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    con.close();
                }
                return r;
            }
  • 相关阅读:
    C++ 虚函数在基类与派生类对象间的表现及其分析
    借@阿里巴巴 耍了个帅——HTML5 JavaScript实现图片文字识别与提取
    Dede(织梦) CMS SQL Injection Vulnerability
    dedecms v5.5 final getwebshell exploit(datalistcp.class.php)
    DEDECMS网站管理系统Get Shell漏洞
    织梦(Dedecms)select_soft_post.php页面变量未初始漏洞
    织梦(Dedecms) 5.1 feedback_js.php 注入漏洞
    织梦(DEDE)CMS V5.3 覆盖任意变量导致远程包含漏洞
    dedecms织梦 v5.5 两处跨站漏洞
    dedecms织梦 v5.6 两处跨站漏洞
  • 原文地址:https://www.cnblogs.com/snowguest/p/12094771.html
Copyright © 2011-2022 走看看