From dfeb2f6efe1aafe644d69d0f9c6fce701b624221 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 29 八月 2023 17:50:36 +0800
Subject: [PATCH] 同步erp计量单位信息 编写计量单位查询、新增、修改、删除接口
---
VueWebCoreApi/ApiGroup/OpenApiGroup.cs | 8
VueWebCoreApi/Controllers/ErpSyncMesController.cs | 38 ++
VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs | 20 +
VueWebCoreApi/Tools/SeachEncodeJob.cs | 2
VueWebCoreApi/Models/UnitMaterial/Unit.cs | 26 +
VueWebCoreApi/DLL/DAL/ProductModelDAL.cs | 485 ++++++++++++++++++++++++++++++++++
VueWebCoreApi/Controllers/ProductModelController.cs | 123 ++++++++
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs | 59 ++++
VueWebCoreApi/DLL/BLL/ProductModelBLL.cs | 49 +++
9 files changed, 807 insertions(+), 3 deletions(-)
diff --git a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
index 411f24d..6b53905 100644
--- a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
+++ b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -11,13 +11,17 @@
[Description("鐧诲綍淇℃伅")]
鐧诲綍淇℃伅 = 1,
[Description("鍩虹璁剧疆")]
- 鍩虹璁剧疆 = 4,
+ 鍩虹璁剧疆 = 2,
+ [Description("鐗╂枡绠$悊")]
+ 鐗╂枡绠$悊 = 3,
[Description("鍛ㄦ湡浠诲姟")]
鍛ㄦ湡浠诲姟 = 9,
[Description("绯荤粺璁剧疆")]
绯荤粺璁剧疆 = 10,
[Description("閫氱敤鍩虹璧勬枡")]
- 閫氱敤鍩虹璧勬枡 = 11
+ 閫氱敤鍩虹璧勬枡 = 11,
+ [Description("鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾")]
+ 鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾 = 12
}
diff --git a/VueWebCoreApi/Controllers/ErpSyncMesController.cs b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
new file mode 100644
index 0000000..c08fa71
--- /dev/null
+++ b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
@@ -0,0 +1,38 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.BLL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+ [ApiExplorerSettings(GroupName = "鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾")]
+ [ApiController]
+ [Route("api/[controller]")]
+ [ChannelActionFilter]
+ public class ErpSyncMesController : Controller
+ {
+ //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+ ToMessage mes = new ToMessage();
+ RedisHelper redis = new RedisHelper();
+
+ #region[鐗╂枡绠$悊锛氳閲忓崟浣嶅悓姝
+ /// <summary>
+ /// 鐗╂枡绠$悊锛氳閲忓崟浣嶅悓姝�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "SaveSearchUnit")]
+ [HttpPost]
+ public JsonResult SaveSearchUnit()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ErpSyncMesBLL.SaveSearchUnit(us);
+ return Json(mes);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/Controllers/ProductModelController.cs b/VueWebCoreApi/Controllers/ProductModelController.cs
new file mode 100644
index 0000000..eb24bba
--- /dev/null
+++ b/VueWebCoreApi/Controllers/ProductModelController.cs
@@ -0,0 +1,123 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.BLL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.UnitMaterial;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+ [ApiExplorerSettings(GroupName = "鐗╂枡绠$悊")]
+ [ApiController]
+ [Route("api/[controller]")]
+ [ChannelActionFilter]
+ public class ProductModelController : Controller
+ {
+ //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+ ToMessage mes = new ToMessage();
+ RedisHelper redis = new RedisHelper();
+
+ #region[璁¢噺鍗曚綅缁勪俊鎭痌
+ /// <summary>
+ /// 璁¢噺鍗曚綅缁勪俊鎭�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "TUnitGroup")]
+ [HttpGet]
+ public JsonResult TUnitGroup()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.TUnitGroup();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅淇℃伅鍒楄〃]
+ /// <summary>
+ /// 璁¢噺鍗曚綅淇℃伅鍒楄〃
+ /// </summary>
+ /// <param name="tunittype">鍗曡閲�(S) 澶氳閲�(M)</param>
+ /// <param name="tunitgroupcode">璁¢噺鍗曚綅缁勭紪鐮�</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "TUnitData")]
+ [HttpGet]
+ public JsonResult TUnitData(string tunittype,string tunitgroupcode, int page = 0, int rows = 0, string prop = null, string order = null)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = ProductModelBLL.TUnitData(tunittype,tunitgroupcode, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅缂栬緫鑾峰彇缁勬槑缁哴
+ /// <summary>
+ /// 璁¢噺鍗曚綅缂栬緫鑾峰彇缁勬槑缁�
+ /// </summary>
+ /// <param name="unitcode">璁¢噺鍗曚綅缂栫爜</param>
+ /// <param name="isgroup">鏄惁璁¢噺缁�:0(鍚�)1(鏄�)</param>
+ /// <returns></returns>
+ [Route(template: "TUnitGroupProject")]
+ [HttpGet]
+ public JsonResult TUnitGroupProject(string unitcode,string isgroup)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.TUnitGroupProject(unitcode,isgroup,us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅鏂板銆佺紪杈戜繚瀛榏
+ /// <summary>
+ /// 璁¢噺鍗曚綅鏂板銆佺紪杈戜繚瀛�
+ /// </summary>
+ /// <param name="data_sources">鏁版嵁鏉ユ簮:ERP/MES</param>
+ /// <param name="tunittype">鍗曡閲�(S) 澶氳閲�(M)</param>
+ /// <param name="tunitgroupcode">璁¢噺鍗曚綅缁勭紪鐮�</param>
+ /// <param name="OperType">鎿嶄綔绫诲瀷:Add/Update</param>
+ /// <param name="listjson">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "AddUpdateTUnit")]
+ [HttpPost]
+ public JsonResult AddUpdateTUnit(string data_sources, string tunittype,string tunitgroupcode,string OperType, List<Unit> listjson)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ var menucode = HttpContext.Request.Headers["Menucode"].ToString(); //鑿滃崟缂栫爜
+ mes = ProductModelBLL.AddUpdateTUnit(menucode, data_sources,tunittype, tunitgroupcode, OperType, listjson, us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅鍒犻櫎]
+ /// <summary>
+ /// 璁¢噺鍗曚綅鍒犻櫎
+ /// </summary>
+ /// <param name="data_sources">鏁版嵁鏉ユ簮:ERP/MES</param>
+ /// <param name="tunittype">鍗曡閲�(S) 澶氳閲�(M)</param>
+ /// <param name="tunitgroupcode">璁¢噺鍗曚綅缁勭紪鐮�</param>
+ /// <param name="tunitcode">璁¢噺鍗曚綅缂栫爜</param>
+ /// <returns></returns>
+ [Route(template: "DeleteTUnit")]
+ [HttpPost]
+ public JsonResult DeleteTUnit(string data_sources, string tunittype, string tunitgroupcode, string tunitcode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.DeleteTUnit(data_sources, tunittype, tunitgroupcode, tunitcode, us);
+ return Json(mes);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
new file mode 100644
index 0000000..c130cf7
--- /dev/null
+++ b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.DAL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.BLL
+{
+ public class ErpSyncMesBLL
+ {
+ #region[鐗╂枡绠$悊锛氳閲忓崟浣嶅悓姝
+ public static ToMessage SaveSearchUnit(User us)
+ {
+ return ErpSyncMesDAL.SaveSearchUnit(us);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
new file mode 100644
index 0000000..03cbf61
--- /dev/null
+++ b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
@@ -0,0 +1,49 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.DAL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.UnitMaterial;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.BLL
+{
+ public class ProductModelBLL
+ {
+ #region[璁¢噺鍗曚綅缁勪俊鎭痌
+ public static ToMessage TUnitGroup()
+ {
+ return ProductModelDAL.TUnitGroup();
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅淇℃伅鍒楄〃]
+ public static ToMessage TUnitData(string tunittype, string tunitgroupcode, int startNum, int endNum, string prop, string order)
+ {
+ return ProductModelDAL.TUnitData(tunittype, tunitgroupcode, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅缂栬緫鑾峰彇缁勬槑缁哴
+ public static ToMessage TUnitGroupProject(string unitcode, string isgroup, User us)
+ {
+ return ProductModelDAL.TUnitGroupProject(unitcode,isgroup,us);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅鏂板銆佺紪杈戜繚瀛榏
+ public static ToMessage AddUpdateTUnit(string menucode,string data_sources, string tunittype, string tunitgroupcode, string OperType, List<Unit> listjson, User us)
+ {
+ return ProductModelDAL.AddUpdateTUnit(menucode, data_sources,tunittype, tunitgroupcode, OperType, listjson, us);
+ }
+ #endregion
+
+ #region[璁¢噺鍗曚綅鍒犻櫎]
+ public static ToMessage DeleteTUnit(string data_sources, string tunittype, string tunitgroupcode, string tunitcode, User us)
+ {
+ return ProductModelDAL.DeleteTUnit(data_sources, tunittype, tunitgroupcode, tunitcode, us);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
new file mode 100644
index 0000000..df8a8ea
--- /dev/null
+++ b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -0,0 +1,59 @@
+锘縰sing Dapper;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.DAL
+{
+ public class ErpSyncMesDAL
+ {
+ public static DataTable dt; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static bool res; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
+ public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
+ public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
+ public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+
+ #region[鐗╂枡绠$悊锛氳閲忓崟浣嶅悓姝
+ public static ToMessage SaveSearchUnit(User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_ERPUnit";
+ dynamicParams.Add("@username", us.usercode);
+ bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+ if (a)
+ {
+ 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
+ }
+}
diff --git a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
new file mode 100644
index 0000000..f7c504d
--- /dev/null
+++ b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
@@ -0,0 +1,485 @@
+锘縰sing Dapper;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.UnitMaterial;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.DAL
+{
+ public class ProductModelDAL
+ {
+ public static DataTable dt; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static bool res; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
+ public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
+ public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
+ public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+
+
+ #region[璁¢噺鍗曚綅缁勪俊鎭痌
+ public static ToMessage TUnitGroup()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇璁¢噺鍗曚綅缁勪俊鎭�
+ sql = @"select code,name,'1' as isGroup,data_sources from TUnitGroup ";
+ var data = DapperHelper.selecttable(sql);
+ 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[璁¢噺鍗曚綅淇℃伅鍒楄〃]
+ public static ToMessage TUnitData(string tunittype, string tunitgroupcode, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string sql = "";
+ IEnumerable<object> data;
+ try
+ {
+ if (tunittype == "" || tunittype == null)
+ {
+ sql = @"select code,name,lm_user,lm_date,isGroup,idunitgroup,data_sources
+ from TUnit T where T.isGroup='0'
+ union all
+ select code,name,lm_user,lm_date,'1' as isGroup,code as idunitgroup,data_sources
+ from TUnitGroup ";
+ }
+ if (tunittype == "S") //鍗曡閲�
+ {
+ sql = @"select code,name,lm_user,lm_date,isGroup,idunitgroup,data_sources from TUnit where isSingleUnit='1' and isGroup='0'";
+ }
+ if (tunittype == "M" && (tunitgroupcode == "" || tunitgroupcode == null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷负绌�
+ {
+ sql = @"select code,name,lm_user,lm_date,'1' as isGroup,code as idunitgroup,data_sources from TUnitGroup";
+ }
+ if (tunittype == "M" && (tunitgroupcode != "" && tunitgroupcode != null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷笉涓虹┖
+ {
+ sql = @"select code,name,isMainUnit,changeRate,rateDescription,lm_user,lm_date,isGroup,idunitgroup,data_sources
+ from TUnit where isSingleUnit='0' and isGroup='1' and idunitgroup=@tunitgroupcode";
+ dynamicParams.Add("@tunitgroupcode", tunitgroupcode);
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ 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 TUnitGroupProject(string unitcode, string isgroup, User us)
+ {
+ var dynamicParams = new DynamicParameters();
+ string sql = "";
+ try
+ {
+ //鑾峰彇璁¢噺鍗曚綅缁勫搴旂殑璁¢噺鍗曚綅淇℃伅
+ sql = @"select code,name,isMainUnit,changeRate,rateDescription,lm_user,lm_date,data_sources
+ from TUnit where isSingleUnit='0' and isGroup=@isgroup and idunitgroup=@tunitgroupcode ";
+ dynamicParams.Add("@isGroup", isgroup);
+ dynamicParams.Add("@tunitgroupcode", unitcode);
+ 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[璁¢噺鍗曚綅鏂板銆佺紪杈戜繚瀛榏
+ public static ToMessage AddUpdateTUnit(string menucode, string data_sources, string tunittype, string tunitgroupcode, string OperType, List<Unit> listjson, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (OperType == "Add")
+ {
+ //鑾峰彇璁¢噺鍗曚綅缂栫爜
+ mes = SeachEncodeJob.EncodingSeach(menucode);
+ if (mes.code == "300")
+ {
+ return mes;
+ }
+ if (tunittype == "S") //鍗曡閲�
+ {
+ sql = @"select * from TUnit where isGroup='0' and name=@name";
+ dynamicParams.Add("@name", listjson[0].unitname);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "璁¢噺鍗曚綅鐨勫悕绉颁笉鑳介噸澶�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ if (tunittype == "M")//澶氳閲�
+ {
+ sql = @"select * from TUnitGroup where name=@name";
+ dynamicParams.Add("@name", listjson[0].unitname);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "璁¢噺鍗曚綅缁勭殑鍚嶇О涓嶈兘閲嶅,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍐欏叆璁¢噺鍗曚綅缁�
+ sql = @"insert into TUnitGroup(code,name,lm_user,lm_date,data_sources)
+ values(@code,@name,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = ((List<string>)mes.data)[0].ToString(),
+ name = listjson[0].unitname,
+ data_sources = data_sources,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ for (int i = 0; i < listjson[0].children.Count; i++)
+ {
+ //鍐欏叆璁¢噺鍗曚綅
+ sql = @"insert into TUnit(code,name,isMainUnit,changeRate,rateDescription,isSingleUnit,disabled,idunitgroup,isGroup,data_sources,lm_user,lm_date)
+ values(@code,@name,@isMainUnit,@changeRate,@rateDescription,@isSingleUnit,@disabled,@idunitgroup,@isGroup,@data_sources,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = tunittype == "S" ? ((List<string>)mes.data)[0].ToString() : listjson[0].children[i].unitcode,
+ name = listjson[0].children[i].unitname,
+ isMainUnit = listjson[0].children[i].isMainUnit,
+ changeRate = listjson[0].children[i].changeRate,
+ rateDescription = listjson[0].children[i].rateDescription,
+ isSingleUnit = listjson[0].children[i].isSingleUnit,
+ disabled = listjson[0].children[i].disabled,
+ idunitgroup = ((List<string>)mes.data)[0].ToString(),
+ isGroup = listjson[0].children[i].isGroup,
+ data_sources = data_sources,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ //鍥炲啓缂栫爜瑙勫垯琛�
+ list.AddRange(SeachEncodeJob.StrEncodingUpdate(menucode, ((List<string>)mes.data)[1].ToString()));
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗚閲忓崟浣�", 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;
+ }
+ }
+ if (OperType == "Update")
+ {
+ if (tunittype == "S") //鍗曡閲�
+ {
+ sql = @"select * from TUnit where isGroup='0' and name=@name";
+ dynamicParams.Add("@name", listjson[0].unitname);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "璁¢噺鍗曚綅鐨勫悕绉颁笉鑳介噸澶�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+
+ //鏇存柊璁¢噺鍗曚綅(鍗曡閲�)
+ sql = @"update TUnit set name=@name,lm_user=@lm_user,lm_date=@lm_date
+ where code=@code and isSingleUnit=@isSingleUnit and isGroup=@isGroup";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = listjson[0].children[0].unitcode,
+ name = listjson[0].children[0].unitname,
+ isSingleUnit = listjson[0].children[0].isSingleUnit,
+ isGroup = listjson[0].children[0].isGroup,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+
+ }
+ if (tunittype == "M")//澶氳閲�
+ {
+ sql = @"select * from TUnitGroup where name=@name";
+ dynamicParams.Add("@name", listjson[0].unitname);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "璁¢噺鍗曚綅缁勭殑鍚嶇О涓嶈兘閲嶅,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //淇敼璁¢噺鍗曚綅缁�
+ sql = @"update TUnitGroup set name=@name,lm_user=@lm_user,lm_date=@lm_date where code=@code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = listjson[0].unitcode,
+ name = listjson[0].unitname,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ //鍒犻櫎璁¢噺鍗曚綅缁勬槑缁�(浠庤閲忓崟浣嶈〃鍒犻櫎)
+ sql = @"delete TUnit where idunitgroup=@idunitgroup";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ idunitgroup = tunitgroupcode
+ }
+ });
+ for (int i = 0; i < listjson[0].children.Count; i++)
+ {
+ //鍐欏叆璁¢噺鍗曚綅
+ sql = @"insert into TUnit(code,name,isMainUnit,changeRate,rateDescription,isSingleUnit,disabled,idunitgroup,isGroup,data_sources,lm_user,lm_date)
+ values(@code,@name,@isMainUnit,@changeRate,@rateDescription,@isSingleUnit,@disabled,@idunitgroup,@isGroup,@data_sources,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = listjson[0].children[i].unitcode,
+ name = listjson[0].children[i].unitname,
+ isMainUnit = listjson[0].children[i].isMainUnit,
+ changeRate = listjson[0].children[i].changeRate,
+ rateDescription = listjson[0].children[i].rateDescription,
+ isSingleUnit = listjson[0].children[i].isSingleUnit,
+ disabled = listjson[0].children[i].disabled,
+ idunitgroup = listjson[0].children[i].idunitgroup,
+ isGroup = listjson[0].children[i].isGroup,
+ data_sources = data_sources,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ }
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗚閲忓崟浣�", 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
+
+ #region[璁¢噺鍗曚綅鍒犻櫎]
+ public static ToMessage DeleteTUnit(string data_sources, string tunittype, string tunitgroupcode, string tunitcode, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (tunittype == "S") //鍗曡閲�
+ {
+ sql = @"select * from TMateriel_Info where isSingleUnit='1' and idunit=@idunit";
+ dynamicParams.Add("@idunit", tunitgroupcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鍗曡閲忓崟浣嶅凡琚娇鐢�,涓嶅厑璁稿垹闄�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒犻櫎璁¢噺鍗曚綅
+ sql = @"delete TUnit where isSingleUnit='1' and isGroup='0' and code=@code and data_sources=@data_sources";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = tunitcode,
+ data_sources = data_sources
+ }
+ });
+ }
+ if (tunittype == "M" && (tunitgroupcode == "" || tunitgroupcode == null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷负绌�
+ {
+ sql = @"select * from TUnit T
+ inner join TMateriel_Info M on T.idunitgroup=M.idunitgroup and T.code=M.idunit
+ where T.isSingleUnit='0' and T.idunitgroup=@idunitgroup";
+ dynamicParams.Add("@idunitgroup", tunitgroupcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "澶氳閲忓崟浣嶇粍涓湁璁¢噺鍗曚綅琚娇鐢�,涓嶅厑璁稿垹闄�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒犻櫎澶氳閲忓崟浣嶇粍
+ sql = @"delete TUnitGroup where code=@code and data_sources=@data_sources";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = tunitgroupcode,
+ data_sources = data_sources
+ }
+ });
+ //鍒犻櫎澶氳閲忓崟浣嶇粍涓嬫墍鏈夎閲忓崟浣�
+ sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' where idunitgroup=@idunitgroup and data_sources=@data_sources";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ idunitgroup= tunitgroupcode,
+ data_sources = data_sources
+ }
+ });
+ }
+ if (tunittype == "M" && (tunitgroupcode != "" && tunitgroupcode != null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷笉涓虹┖
+ {
+ sql = @"select * from TUnit T
+ inner join TMateriel_Info M on T.idunitgroup=M.idunitgroup and T.code=M.idunit
+ where T.isSingleUnit='0' and M.isSingleUnit='0' and T.idunitgroup=@idunitgroup and T.code=@idunit";
+ dynamicParams.Add("@idunitgroup", tunitgroupcode);
+ dynamicParams.Add("@idunit", tunitcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "澶氳閲忓崟浣嶅凡琚娇鐢�,涓嶅厑璁稿垹闄�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒犻櫎澶氳閲忓崟浣嶇粍涓嬫寚瀹氳閲忓崟浣�
+ sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' where idunitgroup=@idunitgroup and code=@code and data_sources=@data_sources";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ idunitgroup = tunitgroupcode,
+ code = tunitcode,
+ data_sources = data_sources
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚閲忓崟浣�", 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
+ }
+}
diff --git a/VueWebCoreApi/Models/UnitMaterial/Unit.cs b/VueWebCoreApi/Models/UnitMaterial/Unit.cs
new file mode 100644
index 0000000..4114f0a
--- /dev/null
+++ b/VueWebCoreApi/Models/UnitMaterial/Unit.cs
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.UnitMaterial
+{
+ public class Unit
+ {
+ public string unitcode { get; set; }
+ public string unitname { get; set; }
+ public List<unitporject> children { get; set; }
+ }
+ public class unitporject
+ {
+ public string unitcode { get; set; }
+ public string unitname { get; set; }
+ public string isMainUnit { get; set; }
+ public decimal changeRate { get; set; }
+ public string isSingleUnit { get; set; }
+ public string disabled { get; set; }
+ public string isGroup { get; set; }
+ public string rateDescription { get; set; }
+ public string idunitgroup { get; set; }
+ }
+}
diff --git a/VueWebCoreApi/Tools/SeachEncodeJob.cs b/VueWebCoreApi/Tools/SeachEncodeJob.cs
index 392c2b7..7c645e8 100644
--- a/VueWebCoreApi/Tools/SeachEncodeJob.cs
+++ b/VueWebCoreApi/Tools/SeachEncodeJob.cs
@@ -257,7 +257,7 @@
List<object> list = new List<object>();
list.Clear();
string sql = @"update TCodeRules set value=@cunm2,incbit=@incbit where menucode=@rightcode";
- list.Add(new { str = sql, parm = new { rightcode = rightcode, cunm2 = Convert.ToInt32(incbit), incbit = incbit.Length } });
+ list.Add(new { str = sql, parm = new { rightcode = rightcode, cunm2 = incbit, incbit = incbit.Length } });
return list;
}
#endregion
--
Gitblit v1.9.3