From be2a307d9cfaacdbeb169a3ad61637e23a96bebe Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 31 八月 2023 17:32:46 +0800
Subject: [PATCH] 1.同步ERP存货档案、仓库信息 2.存货分类(查询、新增、修改、删除) 3.存货档案(查询、新增、修改)
---
VueWebCoreApi/Controllers/ErpSyncMesController.cs | 32 ++
VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs | 14 +
VueWebCoreApi/Models/UnitMaterial/Unit.cs | 1
VueWebCoreApi/DLL/DAL/ProductModelDAL.cs | 505 +++++++++++++++++++++++++++++++++++
VueWebCoreApi/Tools/DapperHelper.cs | 2
VueWebCoreApi/Controllers/ProductModelController.cs | 122 ++++++++
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs | 76 +++++
VueWebCoreApi/DLL/BLL/ProductModelBLL.cs | 40 ++
VueWebCoreApi/Tools/LogHelper.cs | 16 +
9 files changed, 797 insertions(+), 11 deletions(-)
diff --git a/VueWebCoreApi/Controllers/ErpSyncMesController.cs b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
index c08fa71..ac0fcec 100644
--- a/VueWebCoreApi/Controllers/ErpSyncMesController.cs
+++ b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
@@ -34,5 +34,37 @@
return Json(mes);
}
#endregion
+
+ #region[鐗╂枡绠$悊锛氬瓨璐ф。妗堝悓姝
+ /// <summary>
+ /// 鐗╂枡绠$悊锛氬瓨璐ф。妗堝悓姝�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "SaveSearchMateriel_Info")]
+ [HttpPost]
+ public JsonResult SaveSearchMateriel_Info()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ErpSyncMesBLL.SaveSearchMateriel_Info(us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐗╂枡绠$悊锛氫粨搴撳悓姝
+ /// <summary>
+ /// 鐗╂枡绠$悊锛氫粨搴撳悓姝�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "SaveSearchWareHouse")]
+ [HttpPost]
+ public JsonResult SaveSearchWareHouse()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ErpSyncMesBLL.SaveSearchWareHouse(us);
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Controllers/ProductModelController.cs b/VueWebCoreApi/Controllers/ProductModelController.cs
index eb24bba..037488e 100644
--- a/VueWebCoreApi/Controllers/ProductModelController.cs
+++ b/VueWebCoreApi/Controllers/ProductModelController.cs
@@ -1,4 +1,5 @@
锘縰sing Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -119,5 +120,126 @@
return Json(mes);
}
#endregion
+
+
+
+ #region[瀛樿揣鍒嗙被淇℃伅]
+ /// <summary>
+ /// 瀛樿揣鍒嗙被淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "TMaterielClassTree")]
+ [HttpGet]
+ public JsonResult TMaterielClassTree()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.TMaterielClassTree();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[瀛樿揣鍒嗙被鏂板/缂栬緫鎻愪氦]
+ /// <summary>
+ /// 瀛樿揣鍒嗙被鏂板/缂栬緫鎻愪氦
+ /// </summary>
+ /// <param name="data_sources">鏁版嵁鏉ユ簮:ERP/MES</param>
+ /// <param name="inventoryclasscode">瀛樿揣鍒嗙被缂栫爜</param>
+ /// <param name="inventoryclassname">瀛樿揣鍒嗙被鍚嶇О</param>
+ /// <param name="parentcode">涓婄骇鍒嗙被缂栫爜</param>
+ /// <param name="OperType">鎿嶄綔绫诲瀷:Add/Update</param>
+ /// <returns></returns>
+ [Route(template: "TMaterielClassTreeAddUpdate")]
+ [HttpPost]
+ public JsonResult TMaterielClassTreeAddUpdate(string data_sources, string inventoryclasscode, string inventoryclassname,string parentcode,string OperType)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.TMaterielClassTreeAddUpdate(data_sources,inventoryclasscode, inventoryclassname, parentcode, OperType, us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[瀛樿揣鍒嗙被鍒犻櫎]
+ /// <summary>
+ /// 瀛樿揣鍒嗙被鍒犻櫎
+ /// </summary>
+ /// <param name="inventoryclasscode">瀛樿揣鍒嗙被缂栫爜瀛椾覆闆�</param>
+ /// <returns></returns>
+ [Route(template: "TMaterielClassTreeDelete")]
+ [HttpPost]
+ public JsonResult TMaterielClassTreeDelete(string inventoryclasscode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ProductModelBLL.TMaterielClassTreeDelete(inventoryclasscode,us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[瀛樿揣淇℃伅鍒楄〃]
+ /// <summary>
+ /// 瀛樿揣淇℃伅鍒楄〃
+ /// </summary>
+ /// <param name="inventoryclasscode">瀛樿揣鍒嗙被缂栫爜瀛楃涓查泦</param>
+ /// <param name="partcode">瀛樿揣缂栫爜</param>
+ /// <param name="partname">瀛樿揣鍚嶇О</param>
+ /// <param name="partspec">瀛樿揣瑙勬牸</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "TMaterielData")]
+ [HttpGet]
+ public JsonResult TMaterielData(string inventoryclasscode,string partcode,string partname,string partspec, 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.TMaterielData(inventoryclasscode, partcode,partname,partspec, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[瀛樿揣淇℃伅鏂板/缂栬緫淇濆瓨]
+ /// <summary>
+ /// 瀛樿揣淇℃伅鏂板/缂栬緫淇濆瓨
+ /// </summary>
+ /// <param name="obj">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "TMaterielData")]
+ [HttpPost]
+ public JsonResult TMaterielAddUpdate([FromBody] JObject obj)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ string data_sources = obj["data_sources"].ToString(); //鏁版嵁鏉ユ簮:ERP/MES
+ string partcode = obj["partcode"].ToString(); //瀛樿揣缂栫爜
+ string partname = obj["partname"].ToString(); //瀛樿揣鍚嶇О
+ string partspec = obj["partspec"].ToString(); //瑙勬牸鍨嬪彿
+ string inventoryclasscode = obj["inventoryclasscode"].ToString(); //瀛樿揣绫诲瀷缂栫爜
+ string unittypcode = obj["unittypcode"].ToString(); //璁¢噺鏂瑰紡(0:澶氳閲�1:鍗曡閲�)
+ string unitcode = obj["unitcode"].ToString(); //璁¢噺鍗曚綅缂栫爜/璁¢噺鍗曚綅缁勭紪鐮�
+ string unitsubcode = obj["unitsubcode"].ToString(); //璁¢噺鍗曚綅缁勫瓙椤圭紪鐮�
+ string idSubUnitByReport= obj["idSubUnitByReport"].ToString(); //鎶ヨ〃杈呭崟浣嶇紪鐮�
+ string idUnitByStock = obj["idUnitByStock"].ToString(); //搴撳瓨甯哥敤鍗曚綅缂栫爜
+ string idUnitByPurchase = obj["idUnitByPurchase"].ToString(); //閲囪喘甯哥敤鍗曚綅缂栫爜
+ string idUnitBySale = obj["idSubUnitByReport"].ToString(); //閿�鍞父鐢ㄥ崟浣嶇紪鐮�
+ string idunitbymanufacture= obj["idunitbymanufacture"].ToString(); //鐢熶骇甯哥敤鍗曚綅
+ string isPurchase= obj["isPurchase"].ToString(); //鏄惁澶栬喘锛�0(鍚�)1(鏄�)
+ string isSale = obj["isSale"].ToString(); //鏄惁閿�鍞細0(鍚�)1(鏄�)
+ string isMadeSelf = obj["isMadeSelf"].ToString(); //鏄惁鑷埗锛�0(鍚�)1(鏄�)
+ string isMaterial = obj["isMaterial"].ToString(); //鏄惁鐢熶骇鑰楃敤锛�0(鍚�)1(鏄�)
+ string isMadeRequest = obj["isMadeRequest"].ToString(); //鏄惁濮斿锛�0(鍚�)1(鏄�)
+ string idwarehouse= obj["idwarehouse"].ToString(); //浠撳簱缂栫爜
+ string status=obj["status"].ToString(); //浣跨敤鐘舵�侊細姝e父(0)鍋滅敤(1)
+ string OperType = obj["OperType"].ToString(); //鎿嶄綔绫诲瀷
+ mes = ProductModelBLL.TMaterielAddUpdate(data_sources,partcode,partname,partspec, inventoryclasscode, unittypcode, unitcode, unitsubcode, idSubUnitByReport,
+ idUnitByStock, idUnitByPurchase,idUnitBySale, idunitbymanufacture, isPurchase, isSale, isMadeSelf, isMaterial, isMadeRequest, idwarehouse, status, OperType,us);
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
index c130cf7..32d0c23 100644
--- a/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
@@ -16,5 +16,19 @@
return ErpSyncMesDAL.SaveSearchUnit(us);
}
#endregion
+
+ #region[鐗╂枡绠$悊锛氬瓨璐ф。妗堝悓姝
+ public static ToMessage SaveSearchMateriel_Info(User us)
+ {
+ return ErpSyncMesDAL.SaveSearchMateriel_Info(us);
+ }
+ #endregion
+
+ #region[鐗╂枡绠$悊锛氫粨搴撳悓姝
+ public static ToMessage SaveSearchWareHouse(User us)
+ {
+ return ErpSyncMesDAL.SaveSearchWareHouse(us);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
index 03cbf61..bc48825 100644
--- a/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
@@ -45,5 +45,45 @@
return ProductModelDAL.DeleteTUnit(data_sources, tunittype, tunitgroupcode, tunitcode, us);
}
#endregion
+
+
+
+ #region[瀛樿揣鍒嗙被淇℃伅]
+ public static ToMessage TMaterielClassTree()
+ {
+ return ProductModelDAL.TMaterielClassTree();
+ }
+ #endregion
+
+ #region[瀛樿揣鍒嗙被鏂板/缂栬緫鎻愪氦]
+ public static ToMessage TMaterielClassTreeAddUpdate(string data_sources, string inventoryclasscode, string inventoryclassname, string parentcode, string OperType, User us)
+ {
+ return ProductModelDAL.TMaterielClassTreeAddUpdate(data_sources,inventoryclasscode, inventoryclassname, parentcode, OperType,us);
+ }
+ #endregion
+
+ #region[瀛樿揣鍒嗙被鍒犻櫎]
+ public static ToMessage TMaterielClassTreeDelete(string inventoryclasscode, User us)
+ {
+ return ProductModelDAL.TMaterielClassTreeDelete(inventoryclasscode, us);
+ }
+ #endregion
+
+
+ #region[瀛樿揣淇℃伅鍒楄〃]
+ public static ToMessage TMaterielData(string inventoryclasscode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ return ProductModelDAL.TMaterielData(inventoryclasscode, partcode, partname, partspec, startNum, endNum, prop, order);
+ }
+ #endregion
+
+
+ #region[瀛樿揣淇℃伅鏂板/缂栬緫淇濆瓨]
+ public static ToMessage TMaterielAddUpdate(string data_sources, string partcode, string partname, string partspec, string inventoryclasscode, string unittypcode, string unitcode, string unitsubcode, string idSubUnitByReport, string idUnitByStock, string idUnitByPurchase, string idUnitBySale, string idunitbymanufacture, string isPurchase, string isSale, string isMadeSelf, string isMaterial, string isMadeRequest, string idwarehouse, string status, string OperType, User us)
+ {
+ return ProductModelDAL.TMaterielAddUpdate(data_sources, partcode, partname, partspec, inventoryclasscode, unittypcode, unitcode, unitsubcode, idSubUnitByReport,
+ idUnitByStock, idUnitByPurchase, idUnitBySale, idunitbymanufacture, isPurchase, isSale, isMadeSelf, isMaterial, isMadeRequest, idwarehouse, status, OperType, us);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
index df8a8ea..43e51a9 100644
--- a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -41,7 +41,81 @@
{
mes.code = "300";
mes.count = 0;
- mes.Message = "鍚屾璁¢噺鍗曚綅鎴愬姛!";
+ 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 SaveSearchMateriel_Info(User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_ERPInventory";
+ dynamicParams.Add("@username", us.usercode);
+ bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+ if (a)
+ {
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鍚屾瀛樿揣妗f鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鍚屾瀛樿揣妗f澶辫触!";
+ 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 SaveSearchWareHouse(User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_ERPWhareHouses";
+ 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;
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
index f7c504d..4a4bdf2 100644
--- a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
@@ -1,4 +1,5 @@
锘縰sing Dapper;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
@@ -33,6 +34,7 @@
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.data = data;
+ LogHelper.OperateLog("999", "鏌ヨ", "璁¢噺鍗曚綅缁勬煡璇㈡暟鎹负锛�" + JsonConvert.SerializeObject(data), "PC");
}
catch (Exception e)
{
@@ -82,6 +84,7 @@
mes.Message = "鏌ヨ鎴愬姛!";
mes.count = total;
mes.data = data.ToList();
+ LogHelper.OperateLog("999", "鏌ヨ", "鏌ヨ浜嗚閲忓崟浣�", "PC");
}
catch (Exception e)
{
@@ -230,7 +233,8 @@
{
if (tunittype == "S") //鍗曡閲�
{
- sql = @"select * from TUnit where isGroup='0' and name=@name";
+ sql = @"select * from TUnit where isGroup='0' and code<>@code and name=@name";
+ dynamicParams.Add("@code", listjson[0].unitcode);
dynamicParams.Add("@name", listjson[0].unitname);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
@@ -262,7 +266,8 @@
}
if (tunittype == "M")//澶氳閲�
{
- sql = @"select * from TUnitGroup where name=@name";
+ sql = @"select * from TUnitGroup where code<>@code and name=@name";
+ dynamicParams.Add("@code", listjson[0].unitcode);
dynamicParams.Add("@name", listjson[0].unitname);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
@@ -315,7 +320,7 @@
disabled = listjson[0].children[i].disabled,
idunitgroup = listjson[0].children[i].idunitgroup,
isGroup = listjson[0].children[i].isGroup,
- data_sources = data_sources,
+ data_sources = listjson[0].children[i].data_sources,
lm_user = us.usercode,
lm_date = DateTime.Now.ToString()
}
@@ -364,7 +369,7 @@
if (tunittype == "S") //鍗曡閲�
{
sql = @"select * from TMateriel_Info where isSingleUnit='1' and idunit=@idunit";
- dynamicParams.Add("@idunit", tunitgroupcode);
+ dynamicParams.Add("@idunit", tunitcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
@@ -386,7 +391,7 @@
}
});
}
- if (tunittype == "M" && (tunitgroupcode == "" || tunitgroupcode == null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷负绌�
+ if (tunittype == "M" && (tunitgroupcode != "" || tunitgroupcode != null) && (tunitcode == "" || tunitcode == null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷笉涓虹┖,鏄庣粏缂栫爜涓虹┖
{
sql = @"select * from TUnit T
inner join TMateriel_Info M on T.idunitgroup=M.idunitgroup and T.code=M.idunit
@@ -413,18 +418,18 @@
}
});
//鍒犻櫎澶氳閲忓崟浣嶇粍涓嬫墍鏈夎閲忓崟浣�
- sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' where idunitgroup=@idunitgroup and data_sources=@data_sources";
+ sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' and idunitgroup=@idunitgroup and data_sources=@data_sources";
list.Add(new
{
str = sql,
parm = new
{
- idunitgroup= tunitgroupcode,
+ idunitgroup = tunitgroupcode,
data_sources = data_sources
}
});
}
- if (tunittype == "M" && (tunitgroupcode != "" && tunitgroupcode != null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷笉涓虹┖
+ if (tunittype == "M" && (tunitgroupcode != "" && tunitgroupcode != null) && (tunitcode != "" || tunitcode != null)) //澶氳閲�,涓斿璁¢噺缁勭紪鐮佷笉涓虹┖,鏄庣粏缂栫爜涓嶄负绌�
{
sql = @"select * from TUnit T
inner join TMateriel_Info M on T.idunitgroup=M.idunitgroup and T.code=M.idunit
@@ -441,7 +446,7 @@
return mes;
}
//鍒犻櫎澶氳閲忓崟浣嶇粍涓嬫寚瀹氳閲忓崟浣�
- sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' where idunitgroup=@idunitgroup and code=@code and data_sources=@data_sources";
+ sql = @"delete TUnit where isSingleUnit='0' and isGroup='1' and idunitgroup=@idunitgroup and code=@code and data_sources=@data_sources";
list.Add(new
{
str = sql,
@@ -481,5 +486,487 @@
return mes;
}
#endregion
+
+
+ #region[瀛樿揣鍒嗙被淇℃伅]
+ public static ToMessage TMaterielClassTree()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇瀛樿揣鍒嗙被淇℃伅
+ sql = @"select code,name,idparent,data_sources from TMateriel_Class ";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ LogHelper.OperateLog("999", "鏌ヨ", "瀛樿揣鍒嗙被鏌ヨ鏁版嵁涓猴細" + JsonConvert.SerializeObject(data), "PC");
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀛樿揣鍒嗙被鏂板/缂栬緫鎻愪氦]
+ public static ToMessage TMaterielClassTreeAddUpdate(string data_sources, string inventoryclasscode, string inventoryclassname, string parentcode, string OperType, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (parentcode != "" || parentcode != null) //瀛樿揣鍒嗙被涓婄骇缂栫爜涓虹┖
+ {
+ sql = @"select * from TMateriel_Info where idinventoryclass=@parentcode";
+ dynamicParams.Add("@parentcode", parentcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣鍒嗙被涓婄骇涓嶈兘鏄凡鏈夊瓨璐х殑鍒嗙被锛岃閲嶆柊杈撳叆锛�";
+ mes.data = null;
+ return mes;
+ }
+ }
+ if (OperType == "Add")
+ {
+ //鍒ゆ柇瀛樿揣鍒嗙被缂栫爜鏄惁閲嶅
+ sql = @"select * from TMateriel_Class where code=@inventoryclasscode";
+ dynamicParams.Add("@inventoryclasscode", inventoryclasscode);
+ 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 = @"select * from TMateriel_Class where name=@inventoryclassname";
+ dynamicParams.Add("@inventoryclassname", inventoryclassname);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣鍒嗙被鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍐欏叆瀛樿揣鍒嗙被
+ sql = @"insert into TMateriel_Class(code,name,idparent,lm_user,lm_date,data_sources)
+ values(@code,@name,@idparent,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = inventoryclasscode,
+ name = inventoryclassname,
+ idparent = parentcode,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ 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;
+ }
+ }
+ if (OperType == "Update")
+ {
+ //鍒ゆ柇瀛樿揣鍒嗙被鍚嶇О鏄惁閲嶅
+ sql = @"select * from TMateriel_Class where code<>@inventoryclasscode and name=@inventoryclassname";
+ dynamicParams.Add("@inventoryclasscode", inventoryclasscode);
+ dynamicParams.Add("@inventoryclassname", inventoryclassname);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣鍒嗙被鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鏇存柊瀛樿揣鍒嗙被
+ sql = @"update TMateriel_Class set name=@name,idparent=@idparent,lm_user=@lm_user,lm_date=@lm_date where code=@code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = inventoryclasscode,
+ name = inventoryclassname,
+ idparent = parentcode,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ 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
+
+ #region[瀛樿揣鍒嗙被鍒犻櫎]
+ public static ToMessage TMaterielClassTreeDelete(string inventoryclasscode, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ string[] classcode = Array.ConvertAll<string, string>(inventoryclasscode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ //鍒ゆ柇瀛樿揣鍒嗙被鏄惁琚瓨璐т俊鎭紩鐢�
+ sql = @"select * from TMateriel_Info where idinventoryclass in @inventoryclasscode";
+ dynamicParams.Add("@inventoryclasscode", classcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠瀛樿揣鍒嗙被鎴栦笅绾ц寮曠敤涓嶅厑璁稿垹闄わ紒";
+ mes.data = null;
+ return mes;
+ }
+ //鏇存柊瀛樿揣鍒嗙被
+ sql = @"delete TMateriel_Class where code in @code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = classcode
+ }
+ });
+ 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 TMaterielData(string inventoryclasscode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "", sql = "";
+ IEnumerable<object> data;
+ try
+ {
+ if (inventoryclasscode != "" && inventoryclasscode != null)
+ {
+ string[] classcode = Array.ConvertAll<string, string>(inventoryclasscode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ search += "and M.idinventoryclass in @classcode";
+ dynamicParams.Add("@classcode", classcode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ sql = @"select M.partcode,M.partname,M.partspec,M.idunit as idunitcode,T.name as idunitname,M.idunitgroup as idunitgroupcode,G.name as idunitgroupname,
+ M.isSingleUnit,M.idSubUnitByReport as idSubUnitByReportcode,R.name as idSubUnitByReportname,M.idUnitByStock as idUnitByStockcode,K.name as idUnitByStockname,
+ M.idUnitByPurchase as idUnitByPurchasecode,P.name as idUnitByPurchasename,M.idUnitBySale as idUnitBySalecode,S.name as idUnitBySalename,
+ M.idunitbymanufacture as idunitbymanufacturecode,F.name as idunitbymanufacturename,M.idinventoryclass as idinventoryclasscode,C.name as idinventoryclassname,
+ M.isPurchase,M.isSale,M.isMadeSelf,M.isMaterial,M.isMadeRequest,M.idwarehouse as idwarehousecode,H.name as idwarehousename,M.lowQuantity,M.topQuantity,M.safeQuantity,
+ M.status,M.lm_user,M.lm_date,M.data_sources
+ from TMateriel_Info M
+ left join TUnit T on M.idunit=T.code
+ left join TUnit R on M.idSubUnitByReport=R.code
+ left join TUnit K on M.idUnitByStock=K.code
+ left join TUnit P on M.idUnitByPurchase=P.code
+ left join TUnit S on M.idUnitBySale=S.code
+ left join TUnit F on M.idunitbymanufacture=F.code
+ left join TMateriel_Class C on M.idinventoryclass=C.code
+ left join TUnitGroup G on M.idunitgroup=G.code
+ left join TWareHouse H on M.idwarehouse=H.code
+ where 1=1 " + search;
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ 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 TMaterielAddUpdate(string data_sources, string partcode, string partname, string partspec, string inventoryclasscode, string unittypcode, string unitcode, string unitsubcode, string idSubUnitByReport, string idUnitByStock, string idUnitByPurchase, string idUnitBySale, string idunitbymanufacture, string isPurchase, string isSale, string isMadeSelf, string isMaterial, string isMadeRequest, string idwarehouse, string status, string OperType, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (OperType == "Add")
+ {
+ //鍒ゆ柇瀛樿揣妗f缂栫爜鏄惁閲嶅
+ sql = @"select * from TMateriel_Info where partcode=@partcode";
+ dynamicParams.Add("@partcode", partcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣妗f缂栫爜宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒ゆ柇瀛樿揣妗f鍚嶇О鏄惁閲嶅
+ sql = @"select * from TMateriel_Info where partname=@partname";
+ dynamicParams.Add("@partname", partname);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣妗f鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒ゆ柇瀛樿揣妗f瑙勬牸鏄惁閲嶅
+ sql = @"select * from TMateriel_Info where partspec=@partspec";
+ dynamicParams.Add("@partspec", partspec);
+ var data2 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data2.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣妗f瑙勬牸宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍐欏叆瀛樿揣鍒嗙被
+ sql = @"insert into TMateriel_Info(partcode,partname,partspec,idunit,idunitgroup,isSingleUnit,idSubUnitByReport,idUnitByStock,idUnitByPurchase,idUnitBySale,idunitbymanufacture,
+ idinventoryclass,isPurchase,isSale,isMadeSelf,isMaterial,isMadeRequest,idwarehouse,status,lm_user,lm_date,data_sources)
+ values(@partcode,@partname,@partspec,@idunit,@idunitgroup,@isSingleUnit,@idSubUnitByReport,@idUnitByStock,@idUnitByPurchase,@idUnitBySale,@idunitbymanufacture,
+ @idinventoryclass,@isPurchase,@isSale,@isMadeSelf,@isMaterial,@isMadeRequest,@idwarehouse,@status,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ partcode=partcode,
+ partname=partname,
+ partspec=partspec,
+ idunit=unittypcode=="1"?unitcode:unitsubcode,
+ idunitgroup = unittypcode == "0"?"1":"0",
+ isSingleUnit= unittypcode,
+ idSubUnitByReport=idSubUnitByReport,
+ idUnitByStock= idUnitByStock,
+ idUnitByPurchase= idUnitByPurchase,
+ idUnitBySale= idUnitBySale,
+ idunitbymanufacture= idunitbymanufacture,
+ idinventoryclass= inventoryclasscode,
+ isPurchase= isPurchase,
+ isSale= isSale,
+ isMadeSelf= isMadeSelf,
+ isMaterial= isMaterial,
+ isMadeRequest= isMadeRequest,
+ idwarehouse= idwarehouse,
+ status= status,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ 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;
+ }
+ }
+ if (OperType == "Update")
+ {
+ //鍒ゆ柇瀛樿揣妗f鍚嶇О鏄惁閲嶅
+ sql = @"select * from TMateriel_Info where partcode<>@partcode and partname=@partname";
+ dynamicParams.Add("@partcode", partcode);
+ dynamicParams.Add("@partname", partname);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣妗f鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鍒ゆ柇瀛樿揣妗f鍚嶇О鏄惁閲嶅
+ sql = @"select * from TMateriel_Info where partcode<>@partcode and partspec=@partspec";
+ dynamicParams.Add("@partcode", partcode);
+ dynamicParams.Add("@partspec", partspec);
+ var data2 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data2.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀛樿揣妗f瑙勬牸鍨嬪彿宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+ mes.data = null;
+ return mes;
+ }
+ //鏇存柊瀛樿揣鍒嗙被
+ sql = @"update TMateriel_Class set partname=@partname,partspec=@partspec,idunit=@idunit,idunitgroup=@idunitgroup,isSingleUnit=@isSingleUnit,idSubUnitByReport=@idSubUnitByReport,idUnitByStock=@idUnitByStock,
+ idUnitByPurchase=@idUnitByPurchase,idUnitBySale=@idUnitBySale,idunitbymanufacture=@idunitbymanufacture,idinventoryclass=@idinventoryclass,isPurchase=@isPurchase,isSale=@isSale,isMadeSelf=@isMadeSelf,
+ isMaterial=@isMaterial,isMadeRequest=@isMadeRequest,idwarehouse=@idwarehouse,status=@status,lm_user=@lm_user,lm_date=@lm_date where partcode=@partcode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ partcode = partcode,
+ partname = partname,
+ partspec = partspec,
+ idunit = unittypcode == "1" ? unitcode : unitsubcode,
+ idunitgroup = unittypcode == "0" ? "1" : "0",
+ isSingleUnit = unittypcode,
+ idSubUnitByReport = idSubUnitByReport,
+ idUnitByStock = idUnitByStock,
+ idUnitByPurchase = idUnitByPurchase,
+ idUnitBySale = idUnitBySale,
+ idunitbymanufacture = idunitbymanufacture,
+ idinventoryclass = inventoryclasscode,
+ isPurchase = isPurchase,
+ isSale = isSale,
+ isMadeSelf = isMadeSelf,
+ isMaterial = isMaterial,
+ isMadeRequest = isMadeRequest,
+ idwarehouse = idwarehouse,
+ status = status,
+ 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
}
}
diff --git a/VueWebCoreApi/Models/UnitMaterial/Unit.cs b/VueWebCoreApi/Models/UnitMaterial/Unit.cs
index 4114f0a..2ef935c 100644
--- a/VueWebCoreApi/Models/UnitMaterial/Unit.cs
+++ b/VueWebCoreApi/Models/UnitMaterial/Unit.cs
@@ -22,5 +22,6 @@
public string isGroup { get; set; }
public string rateDescription { get; set; }
public string idunitgroup { get; set; }
+ public string data_sources { get; set; }
}
}
diff --git a/VueWebCoreApi/Tools/DapperHelper.cs b/VueWebCoreApi/Tools/DapperHelper.cs
index b4f6247..8f63f53 100644
--- a/VueWebCoreApi/Tools/DapperHelper.cs
+++ b/VueWebCoreApi/Tools/DapperHelper.cs
@@ -392,7 +392,7 @@
catch (Exception ex)
{
//鍒涘缓鏃ュ織璁板綍缁勪欢瀹炰緥
- //LogHelper.WriteLog(ex);
+ LogHelper.WriteLog(ex);
throw ex;
}
finally
diff --git a/VueWebCoreApi/Tools/LogHelper.cs b/VueWebCoreApi/Tools/LogHelper.cs
index 16fffbe..9b5bb98 100644
--- a/VueWebCoreApi/Tools/LogHelper.cs
+++ b/VueWebCoreApi/Tools/LogHelper.cs
@@ -82,5 +82,21 @@
}
#endregion
+
+ #region[灏嗘搷浣滄棩蹇梋
+ public static void OperateLog(string usercode, string oper_type, string description, string type)
+ {
+ var dynamicParams = new DynamicParameters();
+ string message = string.Format("\r\n鐢ㄦ埛璐﹀彿锛歿0}\r\n鎿嶄綔鏃堕棿锛歿1}\r\n鎿嶄綔绫诲瀷锛歿2}\r\n鎿嶄綔鎻忚堪锛歿3}\r\n鎿嶄綔绔細{4}"
+ , usercode
+ , DateTime.Now.ToString()
+ , oper_type
+ , description
+ , type
+ );
+ log4net.ILog log = log4net.LogManager.GetLogger("鏃ュ織璁板綍");
+ log.Error(message);
+ }
+ #endregion
}
}
--
Gitblit v1.9.3