wtt
2024-08-01 55e565721ef588d7ae9f421b6d1fce63b51aa55f
WebAPI/Controllers/CGGL/Cg_PayableBillController.cs
@@ -85,10 +85,11 @@
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();                             //表头数据
            string msg3 = sArray[1].ToString();                             //子表1数据
            string refSav = sArray[2].ToString();                           //操作方式
            string msg4 = sArray[3].ToString();                             //用户
            string msg4 = sArray[2].ToString();                             //子表2数据
            string refSav = sArray[3].ToString();                           //操作方式
            string msg5 = sArray[4].ToString();                             //用户
            DBUtility.ClsPub.CurUserName = msg4;
            DBUtility.ClsPub.CurUserName = msg5;
            string UserName = "";
            string s = "";
@@ -151,6 +152,7 @@
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "1114";
                    oItem.HBillSubType = "1114";
@@ -173,10 +175,10 @@
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsCg_PayableBillSub> ls = new List<Model.ClsCg_PayableBillSub>();
                ls = oListModels.getObjectByJson_Cg_PayableBillSub(msg3);
                List<Model.ClsCg_PayableSub> ls = new List<Model.ClsCg_PayableSub>();
                ls = oListModels.getObjectByJson_Cg_PayableSub(msg3);
                int i = 0;
                foreach (Model.ClsCg_PayableBillSub oItemSub in ls)
                foreach (Model.ClsCg_PayableSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
@@ -188,12 +190,44 @@
                    oBill.DetailColl.Add(oItemSub);
                }
                //子表Entry
                //按 },{来拆分数组 //去掉【和】
                msg4 = msg4.Substring(1, msg4.Length - 2);
                msg4 = msg4.Replace("\\", "");
                msg4 = msg4.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsCg_PayableSub> ls2 = new List<Model.ClsCg_PayableSub>();
                ls2 = oListModels.getObjectByJson_Cg_PayableSub(msg4);
                int j = 0;
                foreach (Model.ClsCg_PayableSub oItemSub in ls2)
                {
                    j++;
                    oItemSub.HEntryID = j;
                    oItemSub.HCloseMan = "";       //行关闭
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailCol2.Add(oItemSub);
                }
                //进行 会计期间 结账 的判断和控制
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (refSav == "Add")
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
@@ -241,6 +275,7 @@
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_Cg_PayableBillList_EditInit where hmainid=" + HInterID, "h_v_Cg_PayableBillList_EditInit");
                objJsonResult.data = ds.Tables[0];
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -251,10 +286,16 @@
                }
                else
                {
                    ds = oCN.RunProcReturn(@"select a.*,mater.HNumber AS 物料代码, mater.HName AS 物料名称, mater.HModel AS 规格型号, mater.HUnitID, unit.HName AS 计量单位 from Cg_PayableSub_Entry AS a LEFT OUTER JOIN
                dbo.Gy_Material AS mater ON a.HMaterID = mater.HItemID LEFT OUTER JOIN
                dbo.Gy_Unit AS unit ON mater.HUnitID = unit.HItemID where HInterID=" + HInterID, "Cg_PayableSub_Entry");
                    List<Object> dataTables = new List<Object>();
                    dataTables.Add(ds.Tables[0]);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    objJsonResult.list = dataTables;
                    return objJsonResult;
                }
            }
@@ -331,13 +372,28 @@
                //}
                ////==================================================================================  
                //进行 会计期间 结账 的判断和控制
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                oCN.BeginTran();
                oCN.RunProc("delete from Cg_PayableBillMain where HInterID = " + HInterID);
                oCN.RunProc("delete from Cg_PayableBillSub where HInterID= " + HInterID);
                //应付单 删除 撤销 采购入库单 关联数量
                oCN.RunProc("exec h_p_Cg_UpDateRelation_POStockInToPayable_Del " + HInterID);
                //应付单 删除 撤销 采购订单 关联数量
                oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPayable_Del " + HInterID);
                oCN.RunProc("delete from Cg_PayableBillMain where HInterID = " + HInterID);
                oCN.RunProc("delete from Cg_PayableSub where HInterID= " + HInterID);
                oCN.RunProc("delete from Cg_PayableSub_Entry where HInterID= " + HInterID);
                ////删除后控制==================================================================================      
                //string sql2 = "exec h_p_Xs_ReceivableBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                //ds = oCN.RunProcReturn(sql2, "h_p_Xs_ReceivableBill_AfterDelCtrl");
@@ -367,7 +423,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "您已删除单据号为" + BillOld.omodel.HBillNo + "的应收单!";
                objJsonResult.Message = "您已删除单据号为" + BillOld.omodel.HBillNo + "的应付单!";
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -382,6 +438,8 @@
            }
        }
        #endregion
        #region 应付单 审核/反审核
        /// <summary>
@@ -477,6 +535,17 @@
                //进行需要进行的审核/反审核操作
                if (IsAudit == 0) //审核提交
                {
                    //进行 会计期间 结账 的判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    oCN.BeginTran();
                    //记录返回信息
@@ -531,6 +600,17 @@
                }
                if (IsAudit == 1) //反审核提交
                {
                    //进行 会计期间 结账 的判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    ////反审核前控制=========================================        
                    //string sql1 = "exec h_p_Xs_ReceivableBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    //ds = oCN.RunProcReturn(sql1, "h_p_Xs_ReceivableBill_BeforeUnCheckCtrl");
@@ -576,7 +656,7 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                //oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -587,6 +667,7 @@
        }
        #endregion
        #region 应付单 关闭/反关闭
        /// <summary>
        /// </summary>