yangle
2022-11-11 6ab91376db824bac727946324f184d6076fa5acd
审批项目
组织架构
审核用户权限设置
审核流程单
2个文件已修改
7个文件已添加
1132 ■■■■■ 已修改文件
WebAPI/Controllers/基础资料/基础资料/Gy_DutyBillController.cs 375 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Xt_CheckFlowBillController.cs 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Xt_CheckItemBillController.cs 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Xt_CheckFlowMain.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Xt_CheckFlowSub.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Xt_CheckItem.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/基础资料/Gy_Duty.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_DutyBillController.cs
New file
@@ -0,0 +1,375 @@
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.Web.Http;
using WebAPI.Models.基础资料;
using WebAPI.Models;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Gy_DutyBillController : ApiController
    {
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region ç»„织架构设置 æ ‘形图
        public class TreeModel
        {
            public string id { get; set; }
            public string title { get; set; }
            public List<TreeModel> children = new List<TreeModel>();
        }
        [Route("Gy_DutyBill/Gy_DutyBillTreeList")]
        [HttpGet]
        public object Gy_DutyBillTreeList()
        {
            try
            {
                string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Duty order by hnumber");
                ds = oCN.RunProcReturn(sql1, "Gy_Duty");
                List<TreeModel> treeModels = new List<TreeModel>();
                TreeModel first = new TreeModel();
                first.id = "0";
                first.title = "组织架构设置";
                treeModels.Add(first);
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    var strLen = row["hnumber"].ToString().Split('.');
                    if (strLen.Length == 1)
                    {
                        TreeModel tree = new TreeModel();
                        tree.id = row["hnumber"].ToString();
                        tree.title = row["hname"].ToString();
                        treeModels[0].children.Add(tree);
                    }
                }
                digui(ds.Tables[0], treeModels[0].children, 2);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// é€’归函数
        /// </summary>
        public void digui(DataTable dt, List<TreeModel> tree,int num)
        {
            for (int m = 0; m < tree.Count; m++)
            {
                tree[m].children = new List<TreeModel>();
                for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集
                {
                    var strLen = dt.Rows[i]["hnumber"].ToString().Split('.');
                    if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + "."))
                    {
                        TreeModel tbjson = new TreeModel();
                        tbjson.id = dt.Rows[i]["hnumber"].ToString();
                        tbjson.title = dt.Rows[i]["hname"].ToString();
                        tree[m].children.Add(tbjson);
                    }
                }
                var strLens = tree[m].id.Split('.');
                for (int i = 0; i < tree[m].children.Count; i++)
                {
                    digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集
                }
            }
        }
        #endregion
        #region ç»„织架构设置 åˆ—表
        [Route("Gy_DutyBill/Gy_DutyBillList")]
        [HttpGet]
        public object Gy_DutyBillList(string sWhere)
        {
            try
            {
                string sql1 = string.Format(@"select  * from h_v_Gy_DutyList where 1=1 ");
                ds = oCN.RunProcReturn(sql1+ sWhere+ " order by ç»„织架构代码", "h_v_Gy_DutyList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region ç»„织架构设置 ä¿å­˜
        [Route("Gy_DutyBill/Gy_DutyBillEdit")]
        [HttpPost]
        public object Xt_CheckFlowBillEdit([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg3 = _value.ToString();
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
            string msg4 = sArray[2].ToString();
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            try
            {
                Gy_Duty Duty = JsonConvert.DeserializeObject<Gy_Duty>(msg1);
                //获取上级的代码
                var topHNum = DBUtility.ClsPub.GetParentCode(Duty.HNumber);
                if (topHNum == "")
                {
                    Duty.HParentID = 0;
                }
                else
                {
                    ds = oCN.RunProcReturn("select * from Gy_Duty where HStopflag=0  and HNumber='" + topHNum + "'  or HNumber='" + Duty.HNumber + "' ", "Gy_Duty");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "上级代码不存在或被禁用!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (msg4 == "1") {
                        if (ds.Tables[0].Rows.Count == 2)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "代码重复!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    Duty.HParentID = int.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                }
                if (Duty.HItemID != 0)
                {
                    ds = oCN.RunProcReturn("select * from Gy_Duty where HItemID='" + Duty.HItemID + "' ", "Gy_Duty");
                    var newHNum = Duty.HNumber.Split('.');
                    var oldHNum = ds.Tables[0].Rows[0]["HNumber"].ToString().Split('.');
                    if (newHNum.Length > oldHNum.Length && Duty.HItemID == Duty.HParentID)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "新代码不能是自己的下级的子项目!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_Duty where HParentID='" + Duty.HItemID + "' ", "Gy_Duty");
                    if (ds.Tables[0].Rows.Count>0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "该项目下面有子项目,不能修改!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                Duty.HEndFlag = 1;
                Duty.HShortNumber = DBUtility.ClsPub.GetShortNumber(Duty.HNumber);
                Duty.HLevel = DBUtility.ClsPub.GetLevel(Duty.HNumber);
                if (Duty.HShortNumber == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "短代码为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (msg4 == "1")
                {
                    //保存
                    //保存完毕后处理
                    oCN.RunProc("Insert into Gy_Duty " +
                       " (HNumber,HName,HHelpCode,HShortNumber,HParentID,HUserGroupID" +
                       ",HLevel,HEndFlag,HStopflag,HRemark) " +
                       " Values('" + Duty.HNumber + "','" + Duty.HName + "','" + Duty.HHelpCode + "','" + Duty.HShortNumber + "'," + Duty.HParentID.ToString() + "," + Duty.HUserGroupID.ToString() +
                       "," + Duty.HLevel.ToString() + "," + Duty.HEndFlag + "," + Convert.ToString(Duty.HStopflag ? 1 : 0) + ",'" + Duty.HRemark + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    oCN.RunProc("Update Gy_Duty set " +
                        " HNumber='" + Duty.HNumber + "'" +
                        ",HName='" + Duty.HName + "'" +
                        ",HShortNumber='" + Duty.HShortNumber + "'" +
                        ",HHelpCode='" + Duty.HHelpCode + "'" +
                        ",HLevel=" + Duty.HLevel.ToString() +
                        ",HParentID=" + Duty.HParentID.ToString() +
                        ",HUserGroupID=" + Duty.HUserGroupID.ToString() +
                        ",HEndflag=" + Duty.HEndFlag +
                        ",HStopflag=" + Convert.ToString(Duty.HStopflag ? 1 : 0) +
                        ",HRemark= '" + Duty.HRemark + "' Where HItemID=" + Duty.HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                //修改上级为非末级代码
                oCN.RunProc("Update Gy_Duty set HEndflag=0 where HItemID=" + Duty.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region  ç»„织架构设置 åˆ é™¤
        [Route("Gy_DutyBill/Gy_DutyBillDel")]
        [HttpGet]
        public object Gy_DutyBillDel(string HItemID, string user)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from Gy_Duty where HParentID='" + HItemID + "' ", "Gy_Duty");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "该项目下面有子项目,不能删除!,请先删除子项目!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from Gy_Duty where HItemID='" + HItemID + "' ", "Gy_Duty");
                oCN.BeginTran();//开始事务
                //删除数据
                oCN.RunProc("Delete from Gy_Duty where HItemID='" + HItemID + "'");
                //修改上级为末级
                oCN.RunProc("Update Gy_Duty set HEndflag=1 where HItemID=" + ds.Tables[0].Rows[0]["HParentID"].ToString());
                oCN.Commit();//提交事务
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                //回滚
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  ç»„织架构设置 æ£€æµ‹
        [Route("Gy_DutyBill/Gy_DutyBillTest")]
        [HttpGet]
        public object Gy_DutyBillTest(string HItemID, string user)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                //检测数据
                oCN.RunProc("exec h_p_Gy_Duty " + HItemID );
                oCN.Commit();//提交事务
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                //回滚
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Xt_CheckFlowBillController.cs
New file
@@ -0,0 +1,399 @@
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.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Xt_CheckFlowBillController : ApiController
    {
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region å®¡æ ¸æµç¨‹å•列表
        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillList")]
        [HttpGet]
        public object Xt_CheckFlowBillList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查询权限
                if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql1 = string.Format(@"select * from h_v_Xt_CheckFlowList where 1=1  ");
                ds = oCN.RunProcReturn(sql1 + sWhere+ " order by æµç¨‹åç§°", "h_v_Xt_CheckFlowList");
                //添加列名
                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;
            }
        }
        #endregion
        # region å®¡æ ¸æµç¨‹å• ä¿å­˜
        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillEdit")]
        [HttpPost]
        public object Xt_CheckFlowBillEdit([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg3 = _value.ToString();
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
             msg3 = sArray[2].ToString();
            string msg4 = sArray[3].ToString();
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg4))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无保存权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            try
            {
                Models.Xt_CheckFlowMain main = JsonConvert.DeserializeObject<Xt_CheckFlowMain>(msg1);
                List<Models.Xt_CheckFlowSub> lsmain = new List<Models.Xt_CheckFlowSub>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain =JsonConvert.DeserializeObject<List<Xt_CheckFlowSub>>(msg2);
                foreach (Xt_CheckFlowSub oItem in lsmain)
                {
                    if (oItem.HCheckItemID == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!审批项目代码不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (oItem.HFlowNo == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!流程号不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                }
                ds = oCN.RunProcReturn("select  *  from h_v_Xt_CheckFlowList where Hmainid= " + main.HInterID, "h_v_Xt_CheckFlowList");
                //保存
                //保存完毕后处理
                oCN.BeginTran();
                if (msg3 == "1" && ds.Tables[0].Rows.Count == 0)
                {
                    oCN.RunProc("Insert Into Xt_CheckFlowMain   " +
                         "(HBillTypeID,HInterID,HDeptID" +
                         ",HRemark,HStandard,HName" + ") " +
                         " values('" + main.HBillTypeID.ToString() + "'," + main.HInterID.ToString() + "," + main.HDeptID.ToString() +
                         ",'" + main.HRemark + "'," + Convert.ToString(main.HStandard ? 1 : 0) + ",'" + main.HName.ToString() + "') ");
                    int i = 0;
                    foreach (Xt_CheckFlowSub oSub in lsmain)
                    {
                        i++;
                        bool bResult = false;
                        oCN.RunProc("Insert into Xt_CheckFlowSub " +
                                " (HInterID,HEntryID,HCheckMan" +
                                ",HFlowNo,HJumpFlag,HMakerSelf,HCheckItemID" +
                                " )values("
                                + main.HInterID.ToString() + "," + i + ",'" + oSub.HCheckMan + "'" +
                                "," + oSub.HFlowNo + "," + Convert.ToString(oSub.HJumpFlag ? 1 : 0) + "," + Convert.ToString(oSub.HMakerSelf ? 1 : 0) + "," + oSub.HCheckItemID + ") ");
                        bResult = true;
                        if (!bResult)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region  å®¡æ ¸æµç¨‹å• åˆ é™¤
        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillDelete")]
        [HttpGet]
        public object Xt_CheckFlowBillDelete(string HItemID, string user)
        {
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Xt_CheckFlow_Drop", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                //删除子表
                oCN.RunProc("Delete From Xt_CheckFlowSub where HInterID=" + HItemID);
                //删除主表
                oCN.RunProc("Delete From Xt_CheckFlowMain where HInterID=" + HItemID);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                //回滚
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¡æ‰¹ç”¨æˆ·æƒé™è®¾ç½®
        [Route("Xt_CheckFlowBill/Xt_CheckUserRight")]
        [HttpGet]
        public object Xt_CheckUserRight()
        {
            try
            {
                string sql1 = string.Format(@"select  * from Gy_Czygl ");
                ds = oCN.RunProcReturn(sql1, "Gy_Czygl");
                string TreeStr = "[{\"title\": \"审批用户权限设置\", \"id\": \"1\" ,\"spread\": \"true\",\"children\":[";
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    TreeStr+= "{  \"title\": \"" + item["Czymc"].ToString() + "\",\"id\": \"" + item["Czybm"].ToString() + "\"},";
                }
                TreeStr = TreeStr.Substring(0, TreeStr.Length - 1);
                TreeStr += "]}]";
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = JsonConvert.DeserializeObject(TreeStr);
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¡æ‰¹ç”¨æˆ·æƒé™è®¾ç½® å³
        [Route("Xt_CheckFlowBill/Xt_CheckUserRightListMain")]
        [HttpGet]
        public object Xt_CheckUserRightListMain(string sWhere)
        {
            try
            {
                string sql1 = string.Format(@"select *,row_number()over(ORDER BY HInterID ) num from h_v_Xt_CheckUserRightMain where 1=1 ");
                ds = oCN.RunProcReturn(sql1+sWhere, "h_v_Xt_CheckUserRightMain");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¡æ‰¹ç”¨æˆ·æƒé™è®¾ç½® å·¦
        [Route("Xt_CheckFlowBill/Xt_CheckUserRightListMainSource")]
        [HttpGet]
        public object Xt_CheckUserRightListMainSource(string sWhere)
        {
            try
            {
                string sql1 = string.Format(@"select *,row_number()over(ORDER BY HInterID ) num from h_v_Xt_CheckUserRightSource where 1=1 ");
                ds = oCN.RunProcReturn(sql1 + sWhere, "h_v_Xt_CheckUserRightSource");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¡æ‰¹ç”¨æˆ·æƒé™è®¾ç½® ä¿å­˜
        //字段
        public class Xt_CheckUserRightsub
        {
            public int hcheckitemid;
        }
        [Route("Xt_CheckFlowBill/Xt_CheckUserRightEdit")]
        [HttpPost]
        public object Xt_CheckUserRightEdit([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg3 = _value.ToString();
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
            msg3 = sArray[2].ToString();
            string msg4 = sArray[3].ToString();
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg4))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无保存权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            try
            {
                List<Xt_CheckUserRightsub> lsmain = new List<Xt_CheckUserRightsub>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                lsmain = JsonConvert.DeserializeObject<List<Xt_CheckUserRightsub>>(msg1);
                oCN.BeginTran();
                //删除原记录
                oCN.RunProc("Delete From Xt_CheckUserRight where HUserID='" + msg2 + "'and HCheckFlowInterID=" + msg3 + "");
                var HCheckItemID=0;
                //新增记录
                for (int i = 0; i <= lsmain.Count - 1; i++)
                {
                    if (HCheckItemID != lsmain[i].hcheckitemid)
                    {
                        oCN.RunProc("insert into Xt_CheckUserRight(HUserID,HCheckFlowInterID,HCheckItemID) values('" + msg2 + "'," + msg3 + "," + lsmain[i].hcheckitemid + ") ");
                        HCheckItemID = lsmain[i].hcheckitemid;
                    }
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Xt_CheckItemBillController.cs
New file
@@ -0,0 +1,262 @@
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.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Xt_CheckItemBillController : ApiController
    {
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region å®¡æ ¸é¡¹ç›®åˆ—表
        [Route("Xt_CheckItemBill/Xt_CheckItemList")]
        [HttpGet]
        public object Xt_CheckItemList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查询权限
                if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckItem_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql1 = string.Format(@"select * from h_v_Xt_CheckItemList where 1=1  ");
                ds = oCN.RunProcReturn(sql1 + sWhere + " order by å®¡æ‰¹é¡¹ç›®ä»£ç  ", "h_v_Xt_CheckItemList");
                //添加列名
                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;
            }
        }
        #endregion
        #region å®¡æ ¸é¡¹ç›®ä¿å­˜
        [Route("Xt_CheckItemBill/Xt_CheckItemEdit")]
        [HttpPost]
        public object Xt_CheckItemEdit([FromBody] JObject msg)
        {
            DataSet ds;
            var _value = msg["msg"].ToString();
            string msg3 = _value.ToString();
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckItem_Edit", 1, false, msg2))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无保存权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            ListModels oListModels = new ListModels();
            try
            {
                List<Models.Xt_CheckItem> lsmain = new List<Models.Xt_CheckItem>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Xt_CheckItem(msg1);
                foreach (Xt_CheckItem oItem in lsmain)
                {
                    if (oItem.HNumber.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!代码不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (oItem.HName.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!名称不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    //查询数据中是否存在重复代码
                    ds = oCN.RunProcReturn("select * from  Xt_CheckItem where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Xt_CheckItem");
                    //新增时判断
                    if (oItem.HItemID == 0)
                    {
                        if (ds == null || ds.Tables[0].Rows.Count == 0)
                        {
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!代码重复!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                }
                //保存
                //保存完毕后处理
                oCN.BeginTran();
                foreach (Xt_CheckItem oItem in lsmain)
                {
                    bool bResult = false;
                    if (oItem.HItemID == 0)
                    {
                        oCN.RunProc("Insert into Xt_CheckItem " +
                            " (HNumber,HName" +
                            ",HStopflag,HRemark) " +
                            " Values('" + oItem.HNumber + "','" + oItem.HName +
                            "'," + Convert.ToString(oItem.HStopFlag ? 1 : 0) + ",'" + oItem.HRemark + "')");
                        bResult = true;
                    }
                    else
                    {
                        oCN.RunProc("Update Xt_CheckItem set " +
                           " HNumber='" + oItem.HNumber + "'" +
                           ",HName='" + oItem.HName + "'" +
                           ",HStopflag=" + Convert.ToString(oItem.HStopFlag ? 1 : 0) +
                           ",HRemark= '" + oItem.HRemark + "' Where HItemID=" + oItem.HItemID);
                        bResult = true;
                    }
                    if (!bResult)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region  å®¡æ ¸é¡¹ç›®åˆ é™¤
        [Route("Xt_CheckItemBill/Xt_CheckItemBillDelete")]
        [HttpGet]
        public object Xt_CheckItemBillDelete(string HItemID, string user)
        {
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Xt_CheckItem_Drop", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Xt_CheckItem where HItemID=" + HItemID, "Xt_CheckItem");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
                if (HStopflag)
                {
                    oCN.RollBack();//回滚事务
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "数据已删除无法再次删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.RunProc("update Xt_CheckItem set HStopflag=1 where HItemID=" + HItemID);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/ListModels.cs
@@ -838,6 +838,18 @@
        }
        /// <summary>
        /// å¤„理新增审核项目的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Models.Xt_CheckItem> getObjectByJson_Xt_CheckItem(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Models.Xt_CheckItem> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Xt_CheckItem>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增设备维修主表的json
        /// </summary>
        /// <param name="jsonString"></param>
WebAPI/Models/Xt_CheckFlowMain.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class Xt_CheckFlowMain
    {
        public Int64 HInterID;
        public string HName;
        public string HBillTypeID;
        public Int64 HDeptID;
        public bool HStandard;
        public string HRemark;
    }
}
WebAPI/Models/Xt_CheckFlowSub.cs
New file
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class Xt_CheckFlowSub
    {
        public Int64 HInterID;
        public Int64 HEntryID;
        public int HSno;
        public string HFlowNo;
        public long HCheckItemID;
        public bool HJumpFlag;
        public bool HMakerSelf;
        public string HCheckMan;
    }
}
WebAPI/Models/Xt_CheckItem.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class Xt_CheckItem
    {
        public int HItemID;
        public string HNumber;
        public string HName;
        public string HRemark;
        public bool HStopFlag;
    }
}
WebAPI/Models/»ù´¡×ÊÁÏ/Gy_Duty.cs
New file
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models.基础资料
{
    public class Gy_Duty
    {
        public int HItemID;
        public int HParentID;
        public int HLevel;
        public string HNumber { get; set; }
        public string HName { get; set; }
        public string HUserGroupID { get; set; }
        public string HRemark { get; set; }
        public string HShortNumber { get; set; }
        public string HHelpCode { get; set; }
        public bool HStopflag;
        public int HEndFlag;
    }
}
WebAPI/WebAPI.csproj
@@ -439,10 +439,13 @@
    <Compile Include="Controllers\仓存管理\领料发货\Kf_StepFoldOutBillController.cs" />
    <Compile Include="Controllers\仓存管理\验收入库\Kf_StepFoldinBillController.cs" />
    <Compile Include="Controllers\博日自动扫码线\ScanlineAPIController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_DutyBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_SOPBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_SOPBillListController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_StockCheckItemBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_WorkStationBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Xt_CheckFlowBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Xt_CheckItemBillController.cs" />
    <Compile Include="Controllers\工资管理\Pay_MonthlySalaryReportController.cs" />
    <Compile Include="Controllers\工资管理\Pay_PieceRateWageReportController.cs" />
    <Compile Include="Controllers\工资管理\Gy_ClassTimePrjBillController.cs" />
@@ -602,10 +605,14 @@
    <Compile Include="Models\TechnologyParameter.cs" />
    <Compile Include="Models\TechnologyParameterUnit.cs" />
    <Compile Include="Models\TechParamByProc.cs" />
    <Compile Include="Models\Xt_CheckFlowMain.cs" />
    <Compile Include="Models\Xt_CheckFlowSub.cs" />
    <Compile Include="Models\Xt_CheckItem.cs" />
    <Compile Include="Models\其它\ReciveBill_FastModel.cs" />
    <Compile Include="Models\动态列\OptionListModel.cs" />
    <Compile Include="Models\基础资料\ConkType.cs" />
    <Compile Include="Models\基础资料\Gy_ClassTimePrj.cs" />
    <Compile Include="Models\基础资料\Gy_Duty.cs" />
    <Compile Include="Models\基础资料\PackType.cs" />
    <Compile Include="Models\基础资料\WorkStation.cs" />
    <Compile Include="Models\工资管理\ClsGy_ClassTimePrj_Model.cs" />
@@ -862,6 +869,7 @@
    <Folder Include="Views\Cj_ComplementGoodsBill\" />
    <Folder Include="Views\Cj_SendGoodsBill\" />
    <Folder Include="Views\Gy_ConkType\" />
    <Folder Include="Views\Gy_DutyBill\" />
    <Folder Include="Views\Gy_EquipType\" />
    <Folder Include="Views\Gy_ICBomBill\" />
    <Folder Include="Views\Gy_MateMould\" />
@@ -896,6 +904,8 @@
    <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
    <Folder Include="Views\Sc_WorkBillSortBill\" />
    <Folder Include="Views\Sc_WorkDemandPlanBill\" />
    <Folder Include="Views\Xt_CheckFlowBill\" />
    <Folder Include="Views\Xt_CheckItem\" />
    <Folder Include="Views\Xt_grdAlignment_WMES\" />
  </ItemGroup>
  <ItemGroup>