1
yusijie
2024-03-07 7ac9fbc33ef8454f4472c79bc37c183642fb7048
WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -698,6 +698,86 @@
        }
        #region 器具档案列表 树状图 设备分类查询
        public class TreeModel
        {
            public string id { get; set; }
            public string title { get; set; }
            public List<TreeModel> children = new List<TreeModel>();
        }
        [Route("Gy_Mould/TreeList")]
        [HttpGet]
        public object TreeList(string sWhere, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_MouldType", "Gy_MouldType");
                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["hitemid"].ToString().Split('.');
                    if (strLen.Length == 1)
                    {
                        TreeModel tree = new TreeModel();
                        tree.id = row["HItemID"].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]["HItemID"].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
@@ -1009,7 +1089,8 @@
                int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID;
                int HNowSupID = mainList[0].HNowSupID;
                int HNowSupTypeID = mainList[0].HNowSupTypeID;
                int HMadeSupID = mainList[0].HMadeSupID;
                string HMouldClass = mainList[0].HMouldClass;
                //主表
@@ -1022,8 +1103,8 @@
                ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" +
                ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" +
                ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" +
                ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode" +
                ") " +
                ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" +
                ",HMouldClass) " +
                " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" +
@@ -1032,8 +1113,8 @@
                ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HSupID + ",'" + HSupNumber + "'" +
                "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty +
                "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" +
                ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'" +
                ") ");
                ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID +
                ",'"+ HMouldClass + "') ");
                //子表
@@ -1150,6 +1231,8 @@
                int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID;
                int HNowSupID = mainList[0].HNowSupID;
                int HNowSupTypeID = mainList[0].HNowSupTypeID;
                int HMadeSupID = mainList[0].HMadeSupID;
                string HMouldClass = mainList[0].HMouldClass;
                //若MAINDI重复则重新获取
                oCN.BeginTran();
@@ -1174,6 +1257,7 @@
                ",HWorkMaterModel='" + HWorkMaterModel + "'" +
                ",HMaterID=" + HMaterID.ToString() +
                ",HMaterNumber='" + HMaterNumber + "'" +
                ",HMouldClass='" + HMouldClass + "'" +
                ",HMouldType=" + HMouleTypeID.ToString() +
                ",HUnitID=" + HUnitID.ToString() +
                ",HOutComDate='" + HOutComDate + "'" +
@@ -1202,6 +1286,7 @@
                ",HNowSupTypeID=" + HNowSupTypeID.ToString() +
                ",HProdWeight=" + HProdWeight.ToString() +
                ",HBarCode='" + HBarCode.ToString() + "'" +
                ",HMadeSupID=" + HMadeSupID +
                " where HInterID=" + HInterID.ToString());
                //修改子项目代码
@@ -1228,6 +1313,40 @@
        }
        /// <summary>
        /// 磨具档案修改按钮方法-计算下次保养/校正日期-获取档案最近一次的保养记录
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Mould_Edit/calculateHNextMainDate")]
        [HttpGet]
        public object calculateHNextMainDate(long HInterID)
        {
            try
            {
                string sql = @"select top(1) a.HInterID, b.HEndDate 保养记录结束日期
                            from Gy_MouldFileMain AS a LEFT OUTER JOIN
                            Sc_MouldMaintainBillMain AS b on a.HInterID = b.HMouldID
                            where a.HInterID = " + HInterID +
                            " order by b.HEndDate desc";
                ds = oCN.RunProcReturn(sql, "Sc_MouldMaintainBillMain");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                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;
            }
        }
        /// <summary>
        /// 磨具档案修改按钮方法