1
yusijie
2024-08-01 1bf3dc43e38f780864b7030f2a8aca8bf01abc05
WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs
@@ -94,10 +94,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 = "";
@@ -105,7 +106,7 @@
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Xs_ReceivableBill_Edit", 1, false, msg4))
                if (!DBUtility.ClsPub.Security_Log_second("Xs_ReceivableBill_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -207,6 +208,39 @@
                }
                //子表Entry
                //按 },{来拆分数组 //去掉【和】
                msg4 = msg4.Substring(1, msg4.Length - 2);
                msg4 = msg4.Replace("\\", "");
                msg4 = msg4.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsXs_ReceivableBillSub> ls2 = new List<Model.ClsXs_ReceivableBillSub>();
                ls2 = oListModels.getObjectByJson_Xs_ReceivableBillSub(msg4);
                int j = 0;
                foreach (Model.ClsXs_ReceivableBillSub 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;
@@ -259,6 +293,7 @@
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillList_EditInit where hmainid=" + HInterID, "h_v_Xs_ReceivableBillList_EditInit");
                objJsonResult.data = ds.Tables[0];
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -269,10 +304,15 @@
                }
                else
                {
                    ds = oCN.RunProcReturn(@"select a.*,mater.HNumber AS 物料代码, mater.HName AS 物料名称, mater.HModel AS 规格型号, mater.HUnitID, unit.HName AS 计量单位 from Xs_ReceivableBillSub_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, "Xs_ReceivableBillSub_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;
                }
            }
@@ -357,33 +397,38 @@
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                ////==================================================================================
                ////==================================================================================
                //进行 会计期间 结账 的判断和控制
                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();
                //ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillList_Query where hmainid=" + HInterID, "h_v_Xs_ReceivableBillList_Query");
                //foreach (DataRow row in ds.Tables[0].Rows)
                //{
                //    // 获取当前行的 HSourceBillType 值
                //    string hSourceBillType = row["HSourceBillType"].ToString();
                ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillList_Query where hmainid=" + HInterID, "h_v_Xs_ReceivableBillList_Query");
                string hSourceBillType = ds.Tables[0].Rows[0]["HSourceBillType"].ToString();
                if (hSourceBillType == "1401")
                {
                    //应收单 删除回填 销售订单 关联数量
                    oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToPOStockIn_Del " + HInterID);
                }
                else if (hSourceBillType == "1205")
                {
                    //应收单 删除回填 销售出库单 关联数量
                    oCN.RunProc("exec h_p_Xs_UpDateRelation_ICStockoPOStockIn_Del    " + HInterID);
                }
                //    if (hSourceBillType == "1401")
                //    {
                //        //应收单 删除回填 销售订单 关联数量
                //        oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToPOStockIn_Del " + HInterID);
                //    }
                //    else if (hSourceBillType == "1205")
                //    {
                //        //应收单 删除回填 销售出库单 关联数量
                //        oCN.RunProc("exec h_p_Xs_UpDateRelation_ICStockoPOStockIn_Del    " + HInterID);
                //    }
                //}
                oCN.RunProc("delete from Xs_ReceivableBillMain where HInterID = " + HInterID);
                oCN.RunProc("delete from Xs_ReceivableBillSub where HInterID= " + HInterID);
                oCN.RunProc("delete from Xs_ReceivableBillSub_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");
@@ -523,6 +568,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();
                    //记录返回信息
@@ -599,6 +655,17 @@
                    //}
                    ////===========================================================          
                    //进行 会计期间 结账 的判断和控制
                    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;
                    }
                    //反审核提交AbandonCheck
                    //if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_ReceivableBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    if (oBill.AbandonCheck(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)