From 449c71df5b341ff2234bfe959dfbaff9fe0baa7d Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 11 十月 2022 18:53:05 +0800
Subject: [PATCH] 物料清单,新增、编辑、保存、获取版本号接口开发 自动排程接口开发

---
 VueWebApi/DLL/DAL/ProductModelDAL.cs |  305 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 299 insertions(+), 6 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductModelDAL.cs b/VueWebApi/DLL/DAL/ProductModelDAL.cs
index fe78a8d..2399541 100644
--- a/VueWebApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -726,7 +726,7 @@
         #endregion
 
         #region[瀛樿揣妗f鍏宠仈宸ヨ壓璺嚎鎻愪氦]
-        public static ToMessage SaveInventoryFile(string partcode,string defaultroute_code, string username, List<ObjectData> json)
+        public static ToMessage SaveInventoryFile(string partcode, string defaultroute_code, string username, List<ObjectData> json)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -765,7 +765,7 @@
                     }
                     //鏍囪鐗╂枡琛ㄥ叧鑱斿伐鑹鸿矾绾挎爣璇�
                     sql = @"update TMateriel_Info set proute_id='Y',default_route=@defaultroute_code where partcode=@partcode";
-                    list.Add(new { str = sql, parm = new { partcode = partcode, defaultroute_code= defaultroute_code } });
+                    list.Add(new { str = sql, parm = new { partcode = partcode, defaultroute_code = defaultroute_code } });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -794,6 +794,293 @@
         }
         #endregion
 
+
+
+        #region[鐗╂枡娓呭崟涓诲垪琛ㄦ煡璇
+        public static ToMessage BoIventorySelect(string parentpartcode, string parentpartname, string parentpartspec, string parttype, string status, string version, string createusername, string createopendate, string createclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (parentpartcode != "" && parentpartcode != null)
+                {
+                    search += "and M.partcode like '%'+@parentpartcode+'%' ";
+                    dynamicParams.Add("@parentpartcode", parentpartcode);
+                }
+                if (parentpartname != "" && parentpartname != null)
+                {
+                    search += "and M.partname like '%'+@parentpartname+'%' ";
+                    dynamicParams.Add("@parentpartname", parentpartname);
+                }
+                if (parentpartspec != "" && parentpartspec != null)
+                {
+                    search += "and M.partspec like '%'+@parentpartspec+'%' ";
+                    dynamicParams.Add("@parentpartspec", parentpartspec);
+                }
+                if (parttype != "" && parttype != null)
+                {
+                    search += "and M.stocktype_code=@parttype ";
+                    dynamicParams.Add("@parttype", parttype);
+                }
+                if (status != "" && status != null)
+                {
+                    search += "and A.status=@status ";
+                    dynamicParams.Add("@status", status);
+                }
+                if (version != "" && version != null)
+                {
+                    search += "and A.version like '%'+@version+'%' ";
+                    dynamicParams.Add("@version", version);
+                }
+                if (createusername != "" && createusername != null)
+                {
+                    search += "and U.username like '%'+@createusername+'%' ";
+                    dynamicParams.Add("@createusername", createusername);
+                }
+                if (createopendate != "" && createopendate != null)
+                {
+                    search += "and A.lm_date between @createopendate and @createclosedate ";
+                    dynamicParams.Add("@createopendate", createopendate + " 00:00:00");
+                    dynamicParams.Add("@createclosedate", createclosedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id, M.partcode,M.partname,M.partspec,M.stocktype_code,D.name as stocktype_name,M.uom_code,T.name as uom_name,
+                            A.quantity,A.status,A.startdate,A.version,U.username,A.lm_date  
+                            from TBom_Main A
+                            left join  TMateriel_Info M on A.materiel_code=M.partcode
+                            left join  TUom T on M.uom_code=T.code
+                            left join  TUser U on A.lm_user=U.usercode
+                            left join  T_Dict D on M.stocktype_code=D.code 
+                            where A.is_delete<>'1' " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐗╂枡娓呭崟鏂板鏃惰幏鍙栨渶澶х増鏈彿]
+        public static ToMessage MaterielDetailedVsion(string parentpartcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select substring(version,charindex('V',version)+1,len(version)-charindex('V',version))+1 as version     
+                        from TBom_Main where materiel_code=@parentpartcode";
+                dynamicParams.Add("@parentpartcode", parentpartcode);
+                var data = DapperHelper.selecttable(sql);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鑾峰彇鐗堟湰鍙锋垚鍔�!";
+                    mes.data = "V" + data.Rows[0]["version"].ToString();
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.Message = "鑾峰彇鐗堟湰鍙峰け璐�!";
+                    mes.data = null;
+                }
+               
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐗╂枡娓呭崟鏂板/缂栬緫鎻愪氦]
+        public static ToMessage AddUpdateBoIventory(string bomid, string parentpartcode, string parentpartname, string parentpartspec, string status, string uomcode, string quantity, string startdate, string version, string username, string opertype, List<BomSub> objs)
+        {
+            string sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (opertype == "Add")
+                {
+                    //鑾峰彇涓昏〃鏈�澶D
+                    string sql0 = @"select ISNULL(IDENT_CURRENT('TBom_Main')+1,1) as id";
+                    var dt = DapperHelper.selecttable(sql0);
+                    //鍐欏叆BOM涓昏〃
+                    sql = @"insert into TBom_Main(materiel_code,quantity,status,version,lm_user,lm_date) 
+                            values(@materiel_code,@quantity,@status,@version,@username,@CreateDate)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            materiel_code = parentpartcode,
+                            quantity = quantity,
+                            status = status,
+                            version = version,
+                            username = username,
+                            CreateDate = DateTime.Now.ToString()
+                        }
+                    });
+                    //鍐欏叆BOM瀛愯〃
+                    for (int i = 0; i < objs.Count; i++)
+                    {
+                        sql = @"insert into TBom_Deta(m_id,seq,smateriel_code,base_quantity,loss_quantity,total_quantity,pn_type) 
+                            values(@m_id,@seq,@smateriel_code,@base_quantity,@loss_quantity,@total_quantity,@pn_type)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                m_id = dt.Rows[0]["id"].ToString(),
+                                seq = objs[i].seq.ToString(),
+                                smateriel_code = objs[i].smaterirl_code.ToString(),
+                                base_quantity = objs[i].base_quantity.ToString(),
+                                loss_quantity = objs[i].loss_quantity.ToString(),
+                                total_quantity = objs[i].total_quantity.ToString(),
+                                pn_type = objs[i].pn_type.ToString()
+                            }
+                        });
+                    }
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+                if (opertype == "Update")
+                {
+                    //淇敼BOM涓昏〃鍩烘湰鐢ㄩ噺銆佸惎鐢ㄧ姸鎬�
+                    sql = @"update  TBom_Main set quantity=@quantity,status=@status,lm_user=@lm_user,lm_date=@lm_date where materiel_code=@materiel_code and id=@bomid";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            id = bomid,
+                            materiel_code = parentpartcode,
+                            quantity = quantity,
+                            status = status,
+                            username = username,
+                            CreateDate = DateTime.Now.ToString()
+                        }
+                    });
+                    //鍒犻櫎BOM瀛愯〃
+                    sql = @"delete  TBom_Deta  where m_id=@bomid";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            id = bomid
+                        }
+                    });
+                    //鍐欏叆BOM瀛愯〃
+                    for (int i = 0; i < objs.Count; i++)
+                    {
+                        sql = @"insert into TBom_Deta(m_id,seq,smateriel_code,base_quantity,loss_quantity,total_quantity,pn_type) 
+                            values(@m_id,@seq,@smateriel_code,@base_quantity,@loss_quantity,@total_quantity,@pn_type)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                m_id = bomid,
+                                seq = objs[i].seq.ToString(),
+                                smateriel_code = objs[i].smaterirl_code.ToString(),
+                                base_quantity = objs[i].base_quantity.ToString(),
+                                loss_quantity = objs[i].loss_quantity.ToString(),
+                                total_quantity = objs[i].total_quantity.ToString(),
+                                pn_type = objs[i].pn_type.ToString()
+                            }
+                        });
+                    }
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐗╂枡娓呭崟缂栬緫鏄剧ず鍙婇瑙圿
+        public static ToMessage BoIventorySelectView(string bomid)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇Bom瀛愯〃鏁版嵁
+                sql = @"select A.seq,B.partcode,B.partname,B.partspec,B.uom_code,T.name as uom_name,
+                         A.base_quantity,A.loss_quantity,A.total_quantity,A.pn_type   
+                         from TBom_Deta A
+                         left join TMateriel_Info B on A.smateriel_code=B.partcode
+                         left join  TUom T on  B.uom_code=T.code
+                         where A.m_id=@bomid";
+                dynamicParams.Add("@bomid", bomid);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
 
         #region[宸ヨ壓璺嚎鏌ヨ]
@@ -1195,7 +1482,7 @@
                     var data_10 = DapperHelper.selectdata(sql_10, dynamicParams);
                     if (data_10.Rows.Count > 0)
                     {
-                        if (data_10.Rows[0]["FLWTYPE"].ToString() != steptypecode) 
+                        if (data_10.Rows[0]["FLWTYPE"].ToString() != steptypecode)
                         {
                             //鍒犻櫎宸ュ簭鍏宠仈宸ヤ綔绔欒〃
                             sql_1 = @"delete TFlw_Rteqp  where step_code=@stepcode";
@@ -1209,7 +1496,7 @@
 
                     sql_1 = @"update TStep set stepname=@stepname,flwtype=@steptypecode,enable=@enable,descr=@description,
                                 lm_user=@username,lm_date=@CreateDate where id=@stepid";
-                    list.Add(new { str = sql_1, parm = new { stepid = stepid, stepname= stepname, steptypecode = steptypecode, enable= enable, description = description, username= username, CreateDate= DateTime.Now.ToString() } });
+                    list.Add(new { str = sql_1, parm = new { stepid = stepid, stepname = stepname, steptypecode = steptypecode, enable = enable, description = description, username = username, CreateDate = DateTime.Now.ToString() } });
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
                     {
@@ -1582,8 +1869,14 @@
             string sql = "";
             try
             {
-                //鑾峰彇璁惧绫诲瀷鏁版嵁
-                sql = @"select partcode,partname,partspec from TMateriel_Info where is_delete<>'1' ";
+                //鑾峰彇鐗╂枡鏁版嵁
+                sql = @"select M.partcode,M.partname,M.partspec,M.uom_code,T.name as uom_name,
+                        M.stocktype_code,D.name as stocktype_name,M.stck_code,S.name as stck_name
+                        from TMateriel_Info M
+                        left join  TUom T on M.uom_code=T.code
+                        left join  T_Dict D on M.stocktype_code=D.code
+                        left join  T_Sec_Stck S on M.stck_code=S.code
+                        where M.is_delete<>'1' ";
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";

--
Gitblit v1.9.3