chenhaozhe
5 天以前 da84e4e72c9d9cc7e2bd40dc4bb7b3222ca3519a
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Xt_CheckFlowBillController.cs
@@ -73,14 +73,15 @@
            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();
            string msg1 = sArray[0].ToString();      //主表
            string msg2 = sArray[1].ToString();      //审批项目子表
            string msg4 = sArray[2].ToString();      //工序子表
            string msg5 = sArray[3].ToString();      //操作类型
            string msg6 = sArray[4].ToString();      //用户名
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg4))
            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg6))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -94,7 +95,7 @@
                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);
                lsmain = JsonConvert.DeserializeObject<List<Xt_CheckFlowSub>>(msg2);
                foreach (Xt_CheckFlowSub oItem in lsmain)
                {
                    if (oItem.HCheckItemID == 0)
@@ -114,46 +115,57 @@
                        return objJsonResult;
                    }
                }
                ds = oCN.RunProcReturn("select  *  from h_v_Xt_CheckFlowList where Hmainid= " + main.HInterID, "h_v_Xt_CheckFlowList");
                //工序子表数据
                List<Models.Xt_CheckFlowSub_Proc> lsProc = new List<Models.Xt_CheckFlowSub_Proc>();
                if (!string.IsNullOrEmpty(msg4) && msg4 != "[]")
                {
                    msg4 = msg4.Replace("\\", "");
                    msg4 = msg4.Replace("\n", "");
                    lsProc = JsonConvert.DeserializeObject<List<Xt_CheckFlowSub_Proc>>(msg4);
                }
                ds = oCN.RunProcReturn("select  *  from h_v_Xt_CheckFlowList where Hmainid= " + main.HInterID, "h_v_Xt_CheckFlowList");
                //保存前控制判断
                string sql = "select * from Xt_CheckFlowMain where  HBillTypeID = '" + main.HBillTypeID.ToString() + "' and HDeptID = " + main.HDeptID.ToString() + " and HStandard = 1 and HInterID <> " + main.HInterID.ToString();
                DataSet ds2 = oCN.RunProcReturn(sql, "Xt_CheckFlowMain");
                if (ds2.Tables[0].Rows.Count > 0 && main.HStandard)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "添加失败,只能有一个默认流程单";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                oCN.BeginTran();
                if (msg3 == "1" && ds.Tables[0].Rows.Count == 0)
                if (msg5 == "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;
                        }
                    }
                }
                else
                {
                    //更新主表
                    oCN.RunProc("UpDate Xt_CheckFlowMain set  " +
                    "HRemark='" + main.HRemark + "'" +
                    ",HName='" + main.HName + "'" +
                    ",HDeptID=" + main.HDeptID.ToString() +
                    ",HBillTypeID='" + main.HBillTypeID + "'" +
                    ",HStandard='" + Convert.ToString(main.HStandard ? 1 : 0) + "'" +
                    " where HInterID=" + main.HInterID.ToString());
                    //删除子表
                    oCN.RunProc("delete from Xt_CheckFlowSub where HInterID=" + main.HInterID.ToString());
                    //删除工序子表
                    oCN.RunProc("delete from Xt_CheckFlowSub_Proc where HInterID=" + main.HInterID.ToString());
                }
                AddBillSub(lsmain, main.HInterID);
                //保存工序子表
                AddBillProcSub(lsProc, main.HInterID);
                oCN.Commit();
@@ -174,6 +186,77 @@
            }
        }
        public json AddBillSub(List<Xt_CheckFlowSub> DetailColl, long HInterID)
        {
            int i = 1;
            foreach (Xt_CheckFlowSub oSub in DetailColl)
            {
                oCN.RunProc("Insert into Xt_CheckFlowSub " +
                             " (HInterID,HEntryID,HCheckMan" +
                             ",HFlowNo,HJumpFlag,HMakerSelf,HCheckItemID" +
                             " )values("
                             + HInterID + "," + i + ",'" + oSub.HCheckMan + "'" +
                             "," + oSub.HFlowNo + "," + Convert.ToString(oSub.HJumpFlag ? 1 : 0) + "," + Convert.ToString(oSub.HMakerSelf ? 1 : 0) + "," + oSub.HCheckItemID + ") ");
                i++;
            }
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
            objJsonResult.data = null;
            return objJsonResult;
        }
        //保存工序子表
        public json AddBillProcSub(List<Xt_CheckFlowSub_Proc> DetailColl, long HInterID)
        {
            int i = 1;
            foreach (Xt_CheckFlowSub_Proc oSub in DetailColl)
            {
                oCN.RunProc("Insert into Xt_CheckFlowSub_Proc " +
                             " (HInterID,HEntryID,HProcID,HRemark" +
                             " )values("
                             + HInterID + "," + i + "," + oSub.HProcID + ",'" + oSub.HRemark + "') ");
                i++;
            }
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
            objJsonResult.data = null;
            return objJsonResult;
        }
        #endregion
        #region å·¥åºå­è¡¨æŸ¥è¯¢
        [Route("Xt_CheckFlowBill/Xt_CheckFlowProcList")]
        [HttpGet]
        public object Xt_CheckFlowProcList(string sWhere)
        {
            try
            {
                string sql1 = string.Format(@"select a.HInterID,a.HEntryID,a.HProcID,b.HNumber as å·¥åºä»£ç ,b.HName as å·¥åº,a.HRemark as å¤‡æ³¨
                    from Xt_CheckFlowSub_Proc a
                    left join Gy_Process b on a.HProcID = b.HItemID
                    where 1=1 ");
                ds = oCN.RunProcReturn(sql1 + sWhere + " order by a.HEntryID", "Xt_CheckFlowSub_Proc");
                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  å®¡æ ¸æµç¨‹å• åˆ é™¤