wtt
2024-11-28 957b51cfdeb4374d817086a2ca761c75545e206d
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/Sc_WorkDemandPlanBillController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
@@ -26,6 +27,7 @@
        {
            try
            {
                List<object> A = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Sc_WorkDemandPlanBill_Query", 1, false, user))
                {
@@ -37,11 +39,18 @@
                }
                ds = oCN.RunProcReturn("select * from  h_v_JIT_Sc_WorkDemandPlanBillList where 1=1" + sWhere + "order by hmainid desc ", "h_v_JIT_Sc_WorkDemandPlanBillList");
                foreach (DataColumn col in ds.Tables[0].Columns)//遍历ds中第一个表(Tables[0])的所有列(Columns)每次循环中,col变量会持有当前列的引用
                {
                    Type dataType = col.DataType; //获取当前数据类型传入 è‡ªå®šä¹‰å˜é‡datadataType
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //字符串拼接         // å°†åˆ—名和数据类型信息拼接成一个JSON格式的字符串
                    A.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = A;
                return objJsonResult;
            }
            catch (Exception e)
@@ -87,13 +96,11 @@
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            int hentryid = int.Parse(sArray[2].ToString());//子表的顺序id
            int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改
            string user = sArray[4].ToString();
            int OperationType = int.Parse(sArray[2].ToString());//数据类型 1添加 3修改
            string user = sArray[3].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Cg_PODemandPlanBill_Edit", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Sc_WorkDemandPlanBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -104,7 +111,11 @@
                omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<Sc_WorkDemandPlanBillMain>(msg2);
                string BillType = "4609";
                ds = ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkDemandPlanBillList where hmainid={omdelMian.HInterID} and  å•据号='{omdelMian.HBillNo}'", "h_v_JIT_Sc_WorkDemandPlanBillList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    OperationType = 3;
                }
                if (OperationType == 1)//新增
                {
@@ -127,7 +138,7 @@
                                $" where HInterID={omdelMian.HInterID}");
                }
                //保存子表
                objJsonResult = AddBillSub(msg3, hentryid);
                objJsonResult = AddBillSub(msg3);
                if (objJsonResult.code == "0")
                {
                    objJsonResult.code = "0";
@@ -153,16 +164,10 @@
            }
        }
        public json AddBillSub(string msg3, int hentryid)
        public json AddBillSub(string msg3)
        {
            if (hentryid != -1)
            {
                //获取表格数据
                ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkDemandPlanBillList where å•据号='{omdelMian.HBillNo}'", "h_v_JIT_Sc_WorkDemandPlanBillList");
                //删除子表
                oCN.RunProc("delete from Sc_WorkDemandPlanBillSub where HInterID='" + omdelMian.HInterID.ToString() + "' and HEntryID='" + hentryid + "'");
            }
            //删除子表
            oCN.RunProc("delete from Sc_WorkDemandPlanBillSub where HInterID='" + omdelMian.HInterID.ToString() + "'");
            omodelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Sc_WorkDemandPlanBillSub>>(msg3);
            int i = 1;
@@ -177,7 +182,7 @@
                            ", HEntryCloseDate, HCloseTypeSub, HReciveQty, HCloseStatus, HRemoveQty" +
                            ", HSeOrderBillNo, HUnReciveQty, HICMOBillDate, HICMOBillDeliveryDate, HICMOBillRemark" +
                            ", HICMOBillNote,HICMOEmpID)" +
                            $"values({omdelMian.HInterID}, '{(hentryid == -1 ? i : omodelsub.Count == 1 ? hentryid : i == 1 ? hentryid : (i + ds.Tables[0].Rows.Count - 1))}', '{oSub.HLaterReason}', {(oSub.HMaterID==null?0: oSub.HMaterID)}, '{oSub.HMaterName}'" +
                            $"values({omdelMian.HInterID},'{i}','{oSub.HLaterReason}', {(oSub.HMaterID==null?0: oSub.HMaterID)}, '{oSub.HMaterName}'" +
                            $", '{oSub.HMaterModel}',{(oSub.HUnitID == null ? 0: oSub.HUnitID)}, '{oSub.HErpClsID}',{(oSub.HQty == null ? 0: oSub.HQty)}, '{oSub.HRemark}'" +
                            $",{(oSub.HProdORGID == null ? 0: oSub.HProdORGID)}, '{oSub.HStatus}',{(oSub.HFixleadTime == null ? 0: oSub.HFixleadTime)},{oSub.HSourceInterID}" +
                            $",{oSub.HSourceEntryID}, '{oSub.HSourceBillNo}', '{oSub.HSourceBillType}','{oSub.HDayPlanDate}'" +
@@ -262,7 +267,7 @@
        }
        #endregion
        #region ææ–™è®¡åˆ’单 å…³é—­
        #region è¦æ–™è®¡åˆ’单 å…³é—­
        [Route("Sc_WorkDemandPlanBill/CloseWorkDemandPlanBillList")]
        [HttpGet]
        public object CloseWorkDemandPlanBillList(string HInterID, string User)
@@ -283,11 +288,11 @@
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["单据状态"].ToString() == "2")
                    if (ds.Tables[0].Rows[0]["单据状态"].ToString() == "3")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据正在审核,不能关闭!";
                        objJsonResult.Message = "当前单据已关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -322,6 +327,114 @@
            }
        }
        #endregion
        #region è¦æ–™è®¡åˆ’单 åå…³é—­
        [Route("Sc_WorkDemandPlanBill/CancelCloseWorkDemandPlanBillList")]
        [HttpGet]
        public object CancelCloseWorkDemandPlanBillList(string HInterID, string User)
        {
            try
            {
                //关闭权限
                if (!DBUtility.ClsPub.Security_Log_second("Sc_WorkDemandPlanBill_Close", 1, false, User))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限关闭!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkDemandPlanBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Sc_WorkDemandPlanBillList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["单据状态"].ToString() != "3")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据没有处于关闭状态!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oCN.BeginTran();//开启事务
                    string HBillStatus = ds.Tables[0].Rows[0]["审核人"].ToString() == "" ? "1" : "2";
                    oCN.RunProc($"update Sc_WorkDemandPlanBillMain set HBillStatus='{HBillStatus}',HCloseMan='',HCloseDate=null   where HInterID={HInterID}");
                    oCN.Commit();//结束事务
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "关闭成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                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 è¦æ–™è®¡åˆ’单 è¦æ–™è®¡åˆ’报表
        public class ReportWorkDemandPlanBill
        {
            public int? HORGID;
            public DateTime HBEGINDATE;
            public DateTime HENDDATE;
            public int? HMATERIALID;
            public int? HDeptID;
        }
        [Route("Sc_WorkDemandPlanBill/ReportWorkDemandPlanBillList")]
        [HttpGet]
        public object ReportWorkDemandPlanBillList(string sWhere, string user)
        {
            try
            {
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Sc_WorkDemandPlanBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ReportWorkDemandPlanBill Report = JsonConvert.DeserializeObject<ReportWorkDemandPlanBill>(sWhere);
                ds = oCN.RunProcReturn($"exec h_p_JIT_Sc_WorkDemandPlanBill_ReportList {Report.HORGID},'{Report.HBEGINDATE}','{Report.HENDDATE}',{Report.HMATERIALID},{Report.HDeptID} ", "h_p_JIT_Sc_WorkDemandPlanBill_ReportList");
                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
    }
}