1
duhe
2024-01-11 6922fd630146076fd98dfb24d443762b4aed47ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Web.Http;
using WebAPI.Models;
 
namespace WebAPI.Controllers
{
    public class Xt_FastICSchemeController : ApiController
    {
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
 
        /// <summary>
        /// 返回过滤方案列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xt_FastICScheme/list")]
        [HttpGet]
        public object list(string user, string HModuleName)
        {
            try
            {
                List<object> columnNameList = new List<object>();
               
                string sql = string.Format(@"select * from h_v_Xt_FastICSchemeList where 用户编码='" + user + "' and 模块名称 = '" + HModuleName + "'");
                ds = oCN.RunProcReturn(sql, "h_v_Xt_FastICSchemeList");
               
 
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
 
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
 
        #region 快速过滤方案
        /// <summary>
        /// 新增修改单据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xt_FastICScheme/Save")]
        [HttpPost]
        public object Save([FromBody] JObject oMain)
        {
 
            try
            {
                DAL.ClsXt_FastICScheme_Ctl oDept = new DAL.ClsXt_FastICScheme_Ctl();
 
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();//表头
                string msg3 = sArray[1].ToString();//过滤条件id
                string msg4 = sArray[2].ToString();//过滤值
                string msg5 = sArray[3].ToString();//标签类型
                string msg6 = sArray[4].ToString();//用户
 
                DAL.ClsXt_FastICScheme_Ctl oBill = new DAL.ClsXt_FastICScheme_Ctl();
                //反序列化
                ListModels oListModels = new ListModels();
 
                List<Model.ClsXt_FastICSchemeMain_Model> lsmain = new List<Model.ClsXt_FastICSchemeMain_Model>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Xt_FastICSchemeMain(msg2);
 
                foreach (Model.ClsXt_FastICSchemeMain_Model oItem in lsmain)
                {                    
                    oItem.HBillType = "3332";                   
                    oBill.omodel = oItem;
                }
 
                ////表体数据
                ////按 },{来拆分数组 //去掉【和】
                //msg3 = msg3.Substring(1, msg3.Length - 2);
                //msg3 = msg3.Replace("\\", "");
                //msg3 = msg3.Replace("\n", "");  //\n
                ////msg2 = msg2.Replace("'", "’");
                //List<Model.ClsXt_FastICSchemeSub_Model> ls = new List<Model.ClsXt_FastICSchemeSub_Model>();
                //ls = oListModels.getObjectByJson_Gy_ICMOReportBillSub(msg3);
                //int i = 0;
               
 
 
                //保存
                //保存完毕后处理
                bool bResult;
                if (1 == 1)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(msg3, msg4, msg5, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}