From 8747c355e51d09473efd30107e18303bb092a1ad Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 16 八月 2024 14:31:48 +0800
Subject: [PATCH] 1.新增工单新增、编辑时通过产品找物料清单接口 2、修改工单新增、编辑接口(通过bom计算工单用料清单)

---
 VueWebCoreApi/DLL/DAL/ProductModelDAL.cs |   96 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 insertions(+), 1 deletions(-)

diff --git a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
index aff4bdf..933919f 100644
--- a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
@@ -1352,6 +1352,7 @@
                     parents[i].children = children.ToList();
                 }
                 mes.code = "200";
+                mes.count = total;
                 mes.message = "鏌ヨ鎴愬姛!";
                 mes.data = parents;
             }
@@ -1847,7 +1848,100 @@
         #region[鐗╂枡娓呭崟鍒犻櫎鎻愪氦-T+鐣呮嵎閫氭ā寮廬
         public static ToMessage TBomDelete(BomDate bom, User us)
         {
-            throw new NotImplementedException();
+            string sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鏌ヨ褰撳墠鍒犻櫎鐗╂枡娓呭崟鐖朵欢缂栫爜闈炴湰娆℃槸鍚﹀瓨鍦ㄥ涓増鏈�,瀛樺湪澶氫釜鐗堟湰鏃�,濡傛灉褰撳墠鏄粯璁OM鍒欎笉鍏佽鍒犻櫎
+                sql = @"select *   from TBom_Main S where  S.materiel_code=@materiel_code and version<>@version";
+                dynamicParams.Add("@materiel_code", bom.materiel_code);
+                dynamicParams.Add("@version", bom.version);
+                var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data1.Rows.Count > 0) 
+                {
+                    if (bom.isdefaultbom == "1") 
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.message = "[" + bom.materiel_name + "-" + bom.version + "]榛樿BOM涓嶅厑璁稿垹闄�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                }
+
+                //鏌ヨ褰撳墠鍒犻櫎鐗╂枡娓呭崟鐖朵欢缂栫爜(ID)鍦ㄧ墿鏂欐竻鍗曞瓙琛ㄤ腑鏄惁瀛樺湪
+                sql = @"select *   from TBom_Deta S
+                        left join TMateriel_Info M on S.materiel_code=M.partcode
+                        where  S.materiel_code=@materiel_code";
+                dynamicParams.Add("@materiel_code", bom.materiel_code);
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "[" + data0.Rows[0]["partname"].ToString() + "-"+bom.version+ "]宸蹭娇鐢ㄧ殑璁板綍涓嶅厑璁稿垹闄わ紒[鐗╂枡娓呭崟瀛愪欢]";
+                    mes.data = null;
+                    return mes;
+                }
+                //鏌ヨ褰撳墠鍒犻櫎鐨勭墿鏂欐竻鍗曠埗浠剁紪鐮�(ID)鏄惁琚伐鍗曞紩鐢�
+                sql = @"select *  from TK_Wrk_Man where  bom_id=@bom_id";
+                dynamicParams.Add("@bom_id", bom.id);
+                var data_1 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data_1.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "褰撳墠鍓岯OM宸茬粡琚伐鍗曞紩鐢�,涓嶅彲鍒犻櫎!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒犻櫎鐗╂枡娓呭崟瀛愯〃
+                sql = @"delete TBom_Deta  where m_id=@m_id";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        m_id = bom.id
+                    }
+                });
+                //鍒犻櫎鐗╂枡娓呭崟涓昏〃
+                sql = @"delete TBom_Main  where id=@id";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        id = bom.id
+                    }
+                });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    //鍐欏叆鎿嶄綔璁板綍琛�
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗙墿鏂欐竻鍗曪細" + bom.materiel_code + "锛岀増鏈彿涓�:" + bom.version, us.usertype);
+                    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
 

--
Gitblit v1.9.3