From 6e1231595e0e72b0fa421711d34bc77d3b406a4b Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 21 四月 2023 10:14:37 +0800
Subject: [PATCH] 高级排程过工单信息测试接口(实现不了) 采购到货单接口开发

---
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs |  250 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 249 insertions(+), 1 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index f2336c9..1c339a1 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -629,7 +629,7 @@
                     dynamicParams.Add("@step_code", dtck1.Rows[i]["step_code"].ToString());
                     var dtck2 = DapperHelper.selectdata(sql, dynamicParams);
                     int query = dtck2.AsEnumerable().Where<DataRow>(a => a["enable"].ToString() =="N").Count();
-                    if (dtck1.Rows.Count == query) 
+                    if (dtck2.Rows.Count == query) 
                     {
                         mes.code = "300";
                         mes.count = 0;
@@ -4010,6 +4010,254 @@
         }
         #endregion
 
+        #region[NEW鎺掍骇璁惧淇℃伅]
+        public static List<AdvancedSchedulingDevice> NewOnclickAdvancedSchedulingDevice(List<ApsOrderSerch> json, ref ToMessage mes)
+        {
+            string sql = "", sql0 = "";
+            var dynamicParams = new DynamicParameters();
+            List<AdvancedSchedulingDevice> list = new List<AdvancedSchedulingDevice>();
+            DataTable dt, dt1;
+            //List<ApsOrderSerch> json = new List<ApsOrderSerch>();
+            try
+            {
+                for (int w = 0; w < json.Count; w++)
+                {
+
+
+                    DateTime beginDate = Convert.ToDateTime(json[w].startdate);
+                    DateTime endDate = DateTime.Parse(json[w].enddate);
+                    if (beginDate > endDate)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "瑕佹眰浜や粯鏃堕棿涓嶈兘灏忎簬褰撳墠绯荤粺鏃堕棿锛�";
+                        mes.data = null;
+                        return list;
+                    }
+                    bool IsCap = false;    //鏄惁璁剧疆浜ц兘
+                                           //閫氳繃宸ュ崟鏌ユ壘瀵瑰簲杞﹂棿宸ヨ壓璺嚎涓嬪叧閿伐搴忔墍鍏宠仈鐨勮澶囨槸鍚﹀彲鐢�
+                    sql = @"select distinct C.eqp_code ,D.Enable  from TK_Wrk_Man A
+                       left join TFlw_Rout K on A.route_code=K.code
+                       left join TFlw_Rtdt B on K.code=B.rout_code and B.first_choke='Y'
+                       left join TFlw_Rteqp C on B.step_code= C.step_code
+                       left join TEqpInfo D on C.eqp_code=D.code
+                       where A.wo_code=@wocode and A.materiel_code=@partcode and D.wksp_code=@wkshpcode";
+                    dynamicParams.Add("@wocode", json[w].wocode);
+                    dynamicParams.Add("@partcode", json[w].partcode);
+                    dynamicParams.Add("@wkshpcode", json[w].wkshpcode);
+                    var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt_0.Rows.Count > 0)
+                    {
+                        int cout = dt_0.Rows.Count;
+                        int num = 0;
+                        for (int m = 0; m < dt_0.Rows.Count; m++)
+                        {
+                            if (dt_0.Rows[m]["Enable"].ToString() == "N")
+                            {
+                                num = num + 1;
+                            }
+                        }
+                        if (num == cout)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "璁惧涓嶅彲鐢紒";
+                            mes.data = null;
+                            return list;
+                        }
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "宸ヨ壓璺嚎鏈叧鑱旇澶囷紒";
+                        mes.data = null;
+                        return list;
+                    }
+
+                    //閫氳繃宸ュ崟鏌ユ壘宸ヨ壓璺嚎瀵瑰簲鍏抽敭宸ュ簭鎵�鍏宠仈鐨勮澶囨墍灞炶溅闂�
+                    sql0 = @"select distinct D.wksp_code  from TK_Wrk_Man A
+                         left join TFlw_Rout K on A.route_code=K.code
+                         left join TFlw_Rtdt B on K.code=B.rout_code and B.first_choke='Y'
+                         left join TFlw_Rteqp C on B.step_code= C.step_code
+                         left join TEqpInfo D on C.eqp_code=D.code
+                         where A.wo_code=@wocode and A.materiel_code=@partcode ";
+                    dynamicParams.Add("@wocode", json[w].wocode);
+                    dynamicParams.Add("@partcode", json[w].partcode);
+                    var dt0 = DapperHelper.selectdata(sql0, dynamicParams);
+                    if (dt0.Rows.Count > 0)
+                    {
+                        string sy = "0";
+                        for (int i = 0; i < dt0.Rows.Count; i++)
+                        {
+                            if (dt0.Rows[i]["WKSP_CODE"].ToString() == json[w].wkshpcode)  //宸ュ崟鍒涘缓杞﹂棿鏄惁绛変簬鎺掍骇璁惧 杞﹂棿
+                            {
+                                sy = "1";
+                                break;
+                            }
+                            else
+                            {
+                                sy = "0";
+                            }
+                        }
+                        if (sy == "0")
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "鎺掍骇璁惧杞﹂棿涓庡伐鍗曞垱寤虹殑杞﹂棿涓嶅悓锛�";
+                            mes.data = null;
+                            return list;
+                        }
+                        else
+                        {
+                            List<APSList> listData = SchedulingMethod.SchedulingMethodTF(json[w].wocode, json[w].wkshpcode, json[w].partcode);
+                            for (DateTime date = beginDate; date <= endDate; date = date.AddDays(1))
+                            {
+                                AdvancedSchedulingDevice tbj = new AdvancedSchedulingDevice();
+                                tbj.wo_code = json[w].wocode;
+                                tbj.YearDate = date.ToString("yyyy-MM-dd");
+                                tbj.children = new List<AdvancedSchedulingDeviceCont>();
+                                for (int j = 0; j < listData.Count; j++)
+                                {
+                                    if (listData[j].AdvaDevicCropMob.ToString() == "0" || listData[j].AdvaDevicRhythm.ToString() == "")
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "鎺掔▼璁惧" + listData[j].eqp_id.ToString() + "绋煎姩鐜囦笉鑳戒负0鎴栦负绌猴紒";
+                                        mes.data = null;
+                                        return list;
+                                    }
+                                    if (listData[j].AdvaDevicRhythm.ToString() == "0" || listData[j].AdvaDevicRhythm.ToString() == "")
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "鎺掔▼璁惧" + listData[j].eqp_id.ToString() + "鏈缃妭鎷嶏紒";
+                                        mes.data = null;
+                                        return list;
+                                    }
+                                    string sql1 = @"select wktme1_start,wktme2_start,wktme3_start,wktme4_start,wktme5_start,G.name  
+		                                        from  TWkm_capac_plan  E 
+                                                left join TWkm_capac_plan_sub F on E.id=F.m_id
+                                                left join TBas_wkshift_info G on F.wkshift_code=G.code
+                                                where E.wkshop=@wkshop and E.eqp_typecode=@eqp_typecode  and E.ClassType=@classtype
+		                                        and CONVERT(varchar(100), F.wkdate, 23)=@wkdate and E.enable='Y'";
+                                    dynamicParams.Add("@wkshop", json[w].wkshpcode);
+                                    dynamicParams.Add("@eqp_typecode", listData[j].Style.ToString());
+                                    dynamicParams.Add("@classtype", listData[j].ClassType.ToString());
+                                    dynamicParams.Add("@wkdate", date.ToString("yyyy-MM-dd"));
+                                    dt1 = DapperHelper.selectdata(sql1, dynamicParams);
+
+                                    AdvancedSchedulingDeviceCont tbjson = new AdvancedSchedulingDeviceCont();
+                                    tbjson.AdvaDevicNumber = listData[j].eqp_id.ToString();
+                                    tbjson.AdvaDevicName = listData[j].name.ToString();
+                                    tbjson.AdvaDevicCropMob = listData[j].AdvaDevicCropMob.ToString();  //绋煎姩鐜�
+                                    tbjson.AdvaDevicRhythm = listData[j].AdvaDevicRhythm.ToString();    //鐢熶骇鑺傛媿
+                                    if (dt1.Rows.Count > 0)
+                                    {
+                                        tbjson.OneStartDate = dt1.Rows[0]["wktme1_start"].ToString();
+                                        tbjson.TwoStartDate = dt1.Rows[0]["wktme2_start"].ToString();
+                                        tbjson.ThreeStartDate = dt1.Rows[0]["wktme3_start"].ToString();
+                                        tbjson.FourStartDate = dt1.Rows[0]["wktme4_start"].ToString();
+                                        tbjson.FiveStartDate = dt1.Rows[0]["wktme5_start"].ToString();
+                                        tbj.children.Add(tbjson);
+                                        IsCap = true;
+                                    }
+                                    else
+                                    {
+
+                                        tbjson.OneStartDate = "";
+                                        tbjson.TwoStartDate = "";
+                                        tbjson.ThreeStartDate = "";
+                                        tbjson.FourStartDate = "";
+                                        tbjson.FiveStartDate = "";
+                                        tbj.children.Add(tbjson);
+                                    }
+                                }
+
+                                list.Add(tbj);
+                            }
+                            if (list.Select(p => p.children).ToList().Count > 0)
+                            {
+                                int one = list.Where(t => t.children.Select(s => s.OneStartDate).Any(x => x != "")).ToList().Count;
+                                int two = list.Where(t => t.children.Select(s => s.TwoStartDate).Any(x => x != "")).ToList().Count;
+                                int three = list.Where(t => t.children.Select(s => s.ThreeStartDate).Any(x => x != "")).ToList().Count;
+                                int four = list.Where(t => t.children.Select(s => s.FourStartDate).Any(x => x != "")).ToList().Count;
+                                int five = list.Where(t => t.children.Select(s => s.FiveStartDate).Any(x => x != "")).ToList().Count;
+                                if (one <= 0 && two <= 0 && three <= 0 && four <= 0 && five <= 0)
+                                {
+                                    mes.code = "300";
+                                    mes.count = 0;
+                                    mes.Message = "褰撳墠宸ュ崟鍔犲伐浜у搧瀵瑰簲宸ヨ壓璺嚎璁惧鏈缃骇鑳芥垨鏈缃敓浜ц妭鎷嶏紒";
+                                    mes.data = null;
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁惧娌℃湁鍏宠仈杞﹂棿锛�";
+                        mes.data = null;
+                    }
+                }
+                return list;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return list;
+        }
+        #endregion
+
+        #region[New璁惧宸叉帓绋嬩俊鎭痌
+        public static List<DataTable> NewAlreadyScheduling(List<ApsOrderSerch> json)
+        {
+            var dynamicParams = new DynamicParameters();
+            DataTable dt;
+            List<DataTable> list = new List<DataTable>();
+            try
+            {
+                for (int i = 0; i < json.Count; i++)
+                {
+                    List<APSList> listData = SchedulingMethod.SchedulingMethodTF(json[i].wocode, json[i].wkshpcode, json[i].partcode);
+                    string[] empIds = listData.Select(a => a.eqp_id).ToArray();
+                    string str = string.Join(",", empIds);
+                    string[] s1 = Array.ConvertAll<string, string>(str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                                                                                                                                                             //string s1 = string.Format("'{0}'", str.Replace(",", "','"));
+
+                    string sql = @"select B.wo_code,  B.eqp_code,B.time_start,B.time_end, 'S' status , B.alloc_qty,D.partcode as part_code,D.partname as part_name,T.name as uom_name
+	                           from TK_Wrk_EqpAps B 
+                               left join TK_Wrk_Man C on B.wo_code=C.wo_code
+                               left join  TMateriel_Info D on C.materiel_code=D.partcode
+                               left join TUom T on D.uom_code=T.code
+                               where  B.eqp_code in @eqpcode
+	                           and convert(varchar(100),B.Time_Start,21)>=@startdate and convert(varchar(100),B.Time_End,21)<=@enddate order by time_end";
+                    dt = DapperHelper.selectlist(sql, new { eqpcode = s1.ToArray(), startdate = json[i].startdate + " 00:00:00", enddate = json[i].enddate + " 23:59:59" });
+                    //dynamicParams.Add("@s1", new { shopcode = s1.ToArray() });
+                    //dynamicParams.Add("@startdate", startdate + " 00:00:00");
+                    //dynamicParams.Add("@enddate", enddate + " 23:59:59");
+                    //var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt == null || dt.Rows.Count == 0)
+                    {
+                        return null;
+                    }
+                    list.Add(dt);
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(ex.Message);
+            }
+
+            return list;
+        }
+        #endregion
+
         #region[鎺掔▼鏁版嵁鎻愪氦]
         public static ToMessage SubmitAlreadyScheduling(string username, string wocode, string botprocecode, List<AlreadyScheduling> objs)
         {

--
Gitblit v1.9.3