From fd263cc1a5c0623972cd124ac6f3fe0fc1277e53 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 21 九月 2023 18:44:58 +0800
Subject: [PATCH] 1.工序新增、修改、删除 2.订单同步接口、通用基础资料(仓库基本资料、工序基础资料、工单产品信息下拉查询) 3.ERP订单功能、MES工单查询、修改、删除、关闭接口
---
VueWebCoreApi/Controllers/BasicSettingController.cs | 68 +
VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs | 6
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs | 103 ++
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 1051 +++++++++++++++++++++++
VueWebCoreApi/Tools/ImportExcelData.cs | 167 ++
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs | 51 +
VueWebCoreApi/DLL/BLL/ProductModelBLL.cs | 9
VueWebCoreApi/wwwroot/Excel/设备清单.xls | 0
VueWebCoreApi/ApiGroup/OpenApiGroup.cs | 2
VueWebCoreApi/Controllers/ErpSyncMesController.cs | 16
VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs | 14
VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs | 7
VueWebCoreApi/DLL/DAL/ProductModelDAL.cs | 31
VueWebCoreApi/wwwroot/Excel/工序设置.xls | 0
VueWebCoreApi/Controllers/GeneralBasicDataController.cs | 30
VueWebCoreApi/Controllers/ProductModelController.cs | 24
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs | 22
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs | 37
VueWebCoreApi/DLL/BLL/ProductionManagementBLL.cs | 30
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs | 207 ++++
VueWebCoreApi/Controllers/WorkOrderController.cs | 321 +++++++
VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs | 403 --------
VueWebCoreApi/Models/WorkData/WorkList.cs | 79 +
23 files changed, 2,207 insertions(+), 471 deletions(-)
diff --git a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
index 23ceb9c..0645164 100644
--- a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
+++ b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -18,6 +18,8 @@
鐗╂枡绠$悊 = 4,
[Description("璁惧绠$悊")]
璁惧绠$悊 = 5,
+ [Description("宸ュ崟绠$悊")]
+ 宸ュ崟绠$悊 = 6,
[Description("璐ㄩ噺绠$悊")]
璐ㄩ噺绠$悊 = 8,
[Description("鍛ㄦ湡浠诲姟")]
diff --git a/VueWebCoreApi/Controllers/BasicSettingController.cs b/VueWebCoreApi/Controllers/BasicSettingController.cs
index b2b572c..ce1af13 100644
--- a/VueWebCoreApi/Controllers/BasicSettingController.cs
+++ b/VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -757,5 +757,73 @@
return Json(mes);
}
#endregion
+
+
+ #region[宸ュ簭鏌ヨ]
+ /// <summary>
+ /// 宸ュ簭鏌ヨ
+ /// </summary>
+ /// <param name="stepcode">宸ュ簭缂栫爜</param>
+ /// <param name="stepname">宸ュ簭鍚嶇О</param>
+ /// <param name="enable">鍚敤鐘舵��</param>
+ /// <param name="steptypecode">宸ュ簭绫诲瀷缂栫爜</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "StepSearch")]
+ [HttpGet]
+ public JsonResult StepSearch(string stepcode = null, string stepname = null, string enable = null, string steptypecode = null,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 = BasicSettingBLL.StepSearch(stepcode, stepname, enable, steptypecode, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[宸ュ簭鏂板缂栬緫]
+ /// <summary>
+ /// 宸ュ簭鏂板缂栬緫
+ /// </summary>
+ /// <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ /// <returns></returns>
+ [Route(template: "AddUpdateStep")]
+ [HttpPost]
+ public JsonResult AddUpdateStep([FromBody] JObject obj)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ string stepid = obj["id"].ToString(); //宸ュ簭id(涓婚敭)
+ string stepcode = obj["stepcode"].ToString(); //宸ュ簭缂栫爜
+ string stepname = obj["stepname"].ToString(); //宸ュ簭鍚嶇О
+ string steptypecode = obj["steptypecode"].ToString(); //宸ュ簭绫诲瀷缂栫爜
+ string enable = obj["enable"].ToString(); //鍚敤鐘舵��
+ string description = obj["description"].ToString(); //宸ュ簭鎻忚堪
+ string OperType = obj["OperType"].ToString(); //鎿嶄綔绫诲瀷
+ mes = BasicSettingBLL.AddUpdateStep(stepid, stepcode, stepname, steptypecode, enable, description, us, OperType);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[宸ュ簭鍒犻櫎]
+ /// <summary>
+ /// 宸ュ簭鍒犻櫎
+ /// </summary>
+ /// <param name="stepcode">宸ュ簭缂栫爜</param>
+ /// <returns></returns>
+ [Route(template: "DeleteStep")]
+ [HttpPost]
+ public JsonResult DeleteStep(string stepcode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = BasicSettingBLL.DeleteStep(stepcode,us);
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Controllers/ErpSyncMesController.cs b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
index 7279c78..a516e16 100644
--- a/VueWebCoreApi/Controllers/ErpSyncMesController.cs
+++ b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
@@ -82,5 +82,21 @@
return Json(mes);
}
#endregion
+
+ #region[鐢熶骇绠$悊锛欵RP鐢熶骇璁㈠崟鍚屾]
+ /// <summary>
+ /// 鐢熶骇绠$悊锛欵RP鐢熶骇璁㈠崟鍚屾
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "SeaveSearchErpOrder")]
+ [HttpPost]
+ public JsonResult SeaveSearchErpOrder()
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = ErpSyncMesBLL.SeaveSearchErpOrder(us);
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Controllers/GeneralBasicDataController.cs b/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
index 10157a1..2b2ba80 100644
--- a/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
+++ b/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
@@ -130,5 +130,35 @@
return Json(mes);
}
#endregion
+
+
+ #region[浠撳簱鍩虹璧勬枡]
+ /// <summary>
+ /// 浠撳簱鍩虹璧勬枡
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "WareHouse")]
+ [HttpGet]
+ public JsonResult WareHouse()
+ {
+ mes = GeneralBasicDataBLL.WareHouse();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[宸ュ簭鍩虹璧勬枡]
+ /// <summary>
+ /// 宸ュ簭鍩虹璧勬枡
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "StepData")]
+ [HttpGet]
+ public JsonResult StepData()
+ {
+ mes = GeneralBasicDataBLL.StepData();
+ return Json(mes);
+ }
+ #endregion
+
}
}
diff --git a/VueWebCoreApi/Controllers/ProductModelController.cs b/VueWebCoreApi/Controllers/ProductModelController.cs
index 4b55ee8..e3361ad 100644
--- a/VueWebCoreApi/Controllers/ProductModelController.cs
+++ b/VueWebCoreApi/Controllers/ProductModelController.cs
@@ -259,5 +259,29 @@
return Json(mes);
}
#endregion
+
+
+
+ #region[宸ュ崟浜у搧淇℃伅涓嬫媺妗嗘煡璇
+ /// <summary>
+ /// 宸ュ崟浜у搧淇℃伅涓嬫媺妗嗘煡璇�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "PartSelect")]
+ [HttpGet]
+ public JsonResult PartSelect()
+ {
+ try
+ {
+ mes = ProductModelBLL.PartSelect();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
new file mode 100644
index 0000000..8f45224
--- /dev/null
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -0,0 +1,321 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.BLL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.WorkData;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+ [ApiExplorerSettings(GroupName = "宸ュ崟绠$悊")]
+ [ApiController]
+ [Route("api/[controller]")]
+ [ChannelActionFilter]
+ public class WorkOrderController : Controller
+ {
+ //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+ ToMessage mes = new ToMessage();
+ RedisHelper redis = new RedisHelper();
+
+ #region[ERP璁㈠崟鏌ヨ]
+ /// <summary>
+ /// ERP璁㈠崟鏌ヨ
+ /// </summary>
+ /// <param name="erporderstus">璁㈠崟鐘舵�佺爜</param>
+ /// <param name="erpordercode">璁㈠崟缂栧彿</param>
+ /// <param name="saleordercode">閿�鍞崟鍙�</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">浜у搧瑙勬牸</param>
+ /// <param name="paystartdate">棰勮寮�宸ユ椂闂�</param>
+ /// <param name="payenddate">棰勮瀹屽伐鏃堕棿</param>
+ /// <param name="creatuser">鍒涘缓浜哄憳</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "ErpOrderSearch")]
+ [HttpGet]
+ public JsonResult ErpOrderSearch(string erporderstus = null, string erpordercode = null, string saleordercode = null, string partcode = null, string partname = null, string partspec = null, string paystartdate = null, string payenddate = null, string creatuser = null, 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());
+ string paydatestartdate = ""; //棰勮寮�宸ュ紑濮嬫椂闂�
+ string paydateenddate = ""; //棰勮寮�宸ョ粨鏉熸椂闂�
+ string paydatestartdate1 = ""; //棰勮瀹屽伐寮�濮嬫椂闂�
+ string paydateenddate2 = ""; //棰勮瀹屽伐缁撴潫鏃堕棿
+ if (paystartdate != "" && paystartdate != null)
+ {
+ paydatestartdate = paystartdate.Split('~')[0].ToString();
+ paydateenddate = paystartdate.Split('~')[1].ToString();
+ }
+ if (payenddate != "" && payenddate != null)
+ {
+ paydatestartdate1 = payenddate.Split('~')[0].ToString();
+ paydateenddate2 = payenddate.Split('~')[1].ToString();
+ }
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = WorkOrderBLL.ErpOrderSearch(erporderstus, erpordercode, saleordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟涓嬭揪]
+ /// <summary>
+ /// ERP璁㈠崟涓嬭揪
+ /// </summary>
+ /// <param name="obj">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "MarkSaveErpOrder")]
+ [HttpPost]
+ public JsonResult MarkSaveErpOrder([FromBody] JObject obj)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ string erporderid = obj["erporderid"].ToString(); //璁㈠崟id
+ string sbid = obj["sbid"].ToString(); //sbid(璁㈠崟鏄庣粏id)
+ string erpordercode = obj["erpordercode"].ToString(); //璁㈠崟缂栧彿
+ string saleordercode = obj["saleordercode"].ToString(); //閿�鍞鍗曞彿
+ string partcode = obj["partcode"].ToString(); //浜у搧缂栫爜
+ string wkshopcode = obj["wkshopcode"].ToString(); //杞﹂棿缂栫爜
+ string warehousecode = obj["warehousecode"].ToString(); //浠撳簱缂栫爜
+ string erpqty = obj["erpqty"].ToString(); //璁㈠崟鏁伴噺
+ string markqty = obj["markqty"].ToString(); //涓嬪崟鏁伴噺
+ string ordernum = obj["ordernum"].ToString(); //涓嬪崟鍗曟暟
+ string relse_qty = obj["relse_qty"].ToString(); //宸蹭笅鍗曟暟閲�
+ string saleOrderDeliveryDate = obj["saleOrderDeliveryDate"].ToString(); //浜や粯鏃堕棿
+ mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate,us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鍏抽棴]
+ /// <summary>
+ /// ERP璁㈠崟鍏抽棴
+ /// </summary>
+ /// <param name="erporderid">璁㈠崟id</param>
+ /// <param name="erpordercode">璁㈠崟鍙�</param>
+ /// <returns></returns>
+ [Route(template: "ClosedErpOrder")]
+ [HttpPost]
+ public JsonResult ClosedErpOrder(string erporderid, string erpordercode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.ClosedErpOrder(erporderid, erpordercode, us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鍒犻櫎]
+ /// <summary>
+ /// ERP璁㈠崟鍒犻櫎
+ /// </summary>
+ /// <param name="erporderid">璁㈠崟id</param>
+ /// <param name="erpordercode">璁㈠崟鍙�</param>
+ /// <returns></returns>
+ [Route(template: "DeleteErpOrder")]
+ [HttpPost]
+ public JsonResult DeleteErpOrder(string erporderid, string erpordercode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.DeleteErpOrder(erporderid, erpordercode, us);
+ return Json(mes);
+ }
+ #endregion
+
+
+ #region[MES宸ュ崟鏌ヨ]
+ /// <summary>
+ /// MES宸ュ崟鏌ヨ
+ /// </summary>
+ /// <param name="mesorderstus">宸ュ崟鐘舵�佺爜</param>
+ /// <param name="mesordercode">宸ュ崟缂栧彿</param>
+ /// <param name="sourceorder">婧愬崟鍗曞彿</param>
+ /// <param name="saleordercode">閿�鍞崟鍙�</param>
+ /// <param name="ordertype">鍗曟嵁绫诲瀷</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">浜у搧瑙勬牸</param>
+ /// <param name="creatuser">鍒涘缓浜哄憳</param>
+ /// <param name="createdate">鍒涘缓鏃堕棿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderSearch")]
+ [HttpGet]
+ public JsonResult MesOrderSearch(int page, int rows, string prop, string order, string mesorderstus = null, string mesordercode = null, string sourceorder = null, string saleordercode = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = 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 = WorkOrderBLL.MesOrderSearch(mesorderstus, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
+ /// <summary>
+ /// MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ
+ /// </summary>
+ /// <param name="mesordercode">宸ュ崟缂栧彿</param>
+ /// <param name="sourceorder">婧愬崟鍗曞彿</param>
+ /// <param name="saleordercode">閿�鍞崟鍙�</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">浜у搧瑙勬牸</param>
+ /// <param name="creatuser">鍒涘缓浜哄憳</param>
+ /// <param name="createdate">鍒涘缓鏃堕棿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "MesBadOrderSearch")]
+ [HttpGet]
+ public JsonResult MesBadOrderSearch(int page, int rows, string prop, string order, string mesordercode = null, string sourceorder = null, string saleordercode = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = null)
+ {
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = WorkOrderBLL.MesBadOrderSearch(mesordercode, sourceorder, saleordercode, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿]
+ /// <summary>
+ /// MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "AddMesOrderCodeSearch")]
+ [HttpPost]
+ public JsonResult AddMesOrderCodeSearch()
+ {
+ mes = WorkOrderBLL.AddMesOrderCodeSearch();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟缂栬緫鑾峰彇宸ュ簭鏁版嵁]
+ /// <summary>
+ /// MES宸ュ崟缂栬緫鑾峰彇宸ュ簭鏁版嵁
+ /// </summary>
+ /// <param name="sourceid">婧愬崟id</param>
+ /// <param name="sourcewo">婧愬崟鍗曞彿</param>
+ /// <param name="wocode">宸ュ崟鍙�</param>
+ /// <param name="data_sources">鏁版嵁鏉ユ簮锛欵RP/MES</param>
+ /// <returns></returns>
+ [Route(template: "UpdateMesOrderStepSearch")]
+ [HttpGet]
+ public JsonResult UpdateMesOrderStepSearch(string sourceid,string sourcewo,string wocode,string data_sources)
+ {
+ mes = WorkOrderBLL.UpdateMesOrderStepSearch(sourceid, sourcewo, wocode, data_sources);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
+ /// <summary>
+ /// MES宸ュ崟鏂板銆佺紪杈戞彁浜�
+ /// </summary>
+ /// <param name="OperType">鎿嶄綔绫诲瀷</param>
+ /// <param name="json">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "AddUpdateMesOrder")]
+ [HttpPost]
+ public JsonResult AddUpdateMesOrder(WorkList json,string OperType)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.AddUpdateMesOrder(OperType,json, us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鍒犻櫎]
+ /// <summary>
+ /// MES宸ュ崟鍒犻櫎
+ /// </summary>
+ /// <param name="souceid">婧愬崟id</param>
+ /// <param name="wocode">宸ュ崟缂栧彿</param>
+ /// <param name="m_po">璁㈠崟缂栧彿</param>
+ /// <param name="orderqty">宸ュ崟鏁伴噺</param>
+ /// <returns></returns>
+ [Route(template: "DeleteMesOrder")]
+ [HttpPost]
+ public JsonResult DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.DeleteMesOrder(souceid, wocode, m_po, orderqty,us);
+ return Json(mes);
+ }
+ #endregion
+
+
+ #region[MES宸ュ崟娲惧彂鎻愪氦]
+
+ #endregion
+
+
+ #region[MES宸ュ崟鍏抽棴鍒楄〃鏌ヨ]
+ /// <summary>
+ /// MES宸ュ崟鍏抽棴鍒楄〃鏌ヨ
+ /// </summary>
+ /// <param name="mesorderstus">宸ュ崟鐘舵��(宸插叧闂�/鏈叧闂�)</param>
+ /// <param name="mesordercode">宸ュ崟缂栧彿</param>
+ /// <param name="sourceorder">婧愬崟鍗曞彿</param>
+ /// <param name="saleordercode">閿�鍞崟鍙�</param>
+ /// <param name="ordertype">鍗曟嵁绫诲瀷</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">浜у搧瑙勬牸</param>
+ /// <param name="creatuser">鍒涘缓浜哄憳</param>
+ /// <param name="createdate">鍒涘缓鏃堕棿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderClosedSearch")]
+ [HttpGet]
+ public JsonResult MesOrderClosedSearch(int page, int rows, string prop, string order, string mesorderstus = null, string mesordercode = null, string sourceorder = null, string saleordercode = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = 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 = WorkOrderBLL.MesOrderClosedSearch(mesorderstus, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鍏抽棴鎻愪氦]
+ /// <summary>
+ /// MES宸ュ崟鍏抽棴鎻愪氦
+ /// </summary>
+ /// <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderBitchClosedSeave")]
+ [HttpPost]
+ public JsonResult MesOrderBitchClosedSeave(DataTable dt)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.MesOrderBitchClosedSeave(us, dt);
+ return Json(mes);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
index 6525c2a..93db190 100644
--- a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -371,5 +371,27 @@
return BasicSettingDAL.TSecLocaDelete(data_sources, locacode, us);
}
#endregion
+
+
+ #region[宸ュ簭鏌ヨ]
+ public static ToMessage StepSearch(string stepcode, string stepname, string enable, string steptypecode, int startNum, int endNum, string prop, string order)
+ {
+ return BasicSettingDAL.StepSearch(stepcode, stepname, enable, steptypecode, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[宸ュ簭鏂板缂栬緫]
+ public static ToMessage AddUpdateStep(string stepid, string stepcode, string stepname, string steptypecode, string enable, string description, User us, string operType)
+ {
+ return BasicSettingDAL.AddUpdateStep(stepid,stepcode, stepname, steptypecode, enable, description, us, operType);
+ }
+ #endregion
+
+ #region[宸ュ簭鍒犻櫎]
+ public static ToMessage DeleteStep(string stepcode, User us)
+ {
+ return BasicSettingDAL.DeleteStep(stepcode,us);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
index d8a9a90..e02f8f5 100644
--- a/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ErpSyncMesBLL.cs
@@ -37,5 +37,12 @@
return ErpSyncMesDAL.SeaveSearchPartner(us);
}
#endregion
+
+ #region[鐢熶骇绠$悊锛欵RP鐢熶骇璁㈠崟鍚屾]
+ public static ToMessage SeaveSearchErpOrder(User us)
+ {
+ return ErpSyncMesDAL.SeaveSearchErpOrder(us);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs b/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
index c89b75e..b1994bc 100644
--- a/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
@@ -66,5 +66,19 @@
return GeneralBasicDataDAL.DeviceTypeData();
}
#endregion
+
+ #region[浠撳簱鍩虹璧勬枡]
+ public static ToMessage WareHouse()
+ {
+ return GeneralBasicDataDAL.WareHouse();
+ }
+ #endregion
+
+ #region[宸ュ簭鍩虹璧勬枡]
+ public static ToMessage StepData()
+ {
+ return GeneralBasicDataDAL.StepData();
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
index 5ce9efe..cb2b20a 100644
--- a/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ProductModelBLL.cs
@@ -91,5 +91,14 @@
return ProductModelDAL.TMaterielDelete(data_sources, partcode,us);
}
#endregion
+
+
+
+ #region[宸ュ崟浜у搧淇℃伅涓嬫媺妗嗘煡璇
+ public static ToMessage PartSelect()
+ {
+ return ProductModelDAL.PartSelect();
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ProductionManagementBLL.cs b/VueWebCoreApi/DLL/BLL/ProductionManagementBLL.cs
index acd3ba0..473d774 100644
--- a/VueWebCoreApi/DLL/BLL/ProductionManagementBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ProductionManagementBLL.cs
@@ -20,35 +20,7 @@
#endregion
- #region[ERP璁㈠崟鏌ヨ]
- public static ToMessage ErpOrderSearch(string stu_torgcode, string stu_torgtypecode, string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
- {
- return ProductionManagementDAL.ErpOrderSearch(stu_torgcode, stu_torgtypecode, erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
- }
- #endregion
-
- #region[ERP璁㈠崟涓嬭揪]
- public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
- {
- return ProductionManagementDAL.MarkSaveErpOrder(erporderid, erpordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, username);
- }
- #endregion
-
- #region[ERP璁㈠崟鍏抽棴]
- public static ToMessage ClosedErpOrder(string erporderid, string erpordercode, string username)
- {
- return ProductionManagementDAL.ClosedErpOrder(erporderid, erpordercode, username);
- }
- #endregion
-
-
-
- #region[MES宸ュ崟鏌ヨ]
- public static ToMessage MesOrderSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
- {
- return ProductionManagementDAL.MesOrderSearch(stu_torgcode, stu_torgtypecode, mesorderstus, mesordercode, sourceorder, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
- }
- #endregion
+
#region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
new file mode 100644
index 0000000..d495e36
--- /dev/null
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -0,0 +1,103 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.DAL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.WorkData;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.BLL
+{
+ public class WorkOrderBLL
+ {
+
+ #region[ERP璁㈠崟鏌ヨ]
+ public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.ErpOrderSearch(erporderstus, erpordercode, saleordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟涓嬭揪]
+ public static ToMessage MarkSaveErpOrder(string erporderid,string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, User us)
+ {
+ return WorkOrderDAL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, us);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鍏抽棴]
+ public static ToMessage ClosedErpOrder(string erporderid, string erpordercode, User us)
+ {
+ return WorkOrderDAL.ClosedErpOrder(erporderid, erpordercode, us);
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鍒犻櫎]
+ public static ToMessage DeleteErpOrder(string erporderid, string erpordercode, User us)
+ {
+ return WorkOrderDAL.DeleteErpOrder(erporderid, erpordercode, us);
+ }
+ #endregion
+
+
+
+ #region[MES宸ュ崟鏌ヨ]
+ public static ToMessage MesOrderSearch(string mesorderstus, string mesordercode, string saleordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderSearch(mesorderstus, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ }
+ #endregion
+
+ #region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
+ public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesBadOrderSearch(mesordercode, sourceorder, saleordercode, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿]
+ public static ToMessage AddMesOrderCodeSearch()
+ {
+ return WorkOrderDAL.AddMesOrderCodeSearch();
+ }
+ #endregion
+
+ #region[MES宸ュ崟缂栬緫鑾峰彇宸ュ簭鏁版嵁]
+ public static ToMessage UpdateMesOrderStepSearch(string sourceid, string sourcewo, string wocode, string data_sources)
+ {
+ return WorkOrderDAL.UpdateMesOrderStepSearch(sourceid,sourcewo,wocode,data_sources);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
+ public static ToMessage AddUpdateMesOrder(string OperType, WorkList json, User us)
+ {
+ return WorkOrderDAL.AddUpdateMesOrder(OperType,json,us);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鍒犻櫎]
+ public static ToMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty, User us)
+ {
+ return WorkOrderDAL.DeleteMesOrder(souceid, wocode, m_po, orderqty,us);
+ }
+ #endregion
+
+
+ #region[宸ュ崟鍏抽棴鍒楄〃鏌ヨ]
+ public static ToMessage MesOrderClosedSearch(string mesorderstus, string mesordercode, string sourceorder, string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderClosedSearch(mesorderstus, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鎵归噺鍏抽棴鎻愪氦]
+ public static ToMessage MesOrderBitchClosedSeave(User us, DataTable dt)
+ {
+ return WorkOrderDAL.MesOrderBitchClosedSeave(us, dt);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
index 32b019b..e054667 100644
--- a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -3292,5 +3292,212 @@
return mes;
}
#endregion
+
+
+ #region[宸ュ簭鏌ヨ]
+ public static ToMessage StepSearch(string stepcode, string stepname, string enable, string steptypecode,int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (stepcode != "" && stepcode != null)
+ {
+ search += "and A.stepcode like '%'+@stepcode+'%' ";
+ dynamicParams.Add("@stepcode", stepcode);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and A.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (enable != "" && enable != null)
+ {
+ search += "and A.enable=@enable ";
+ dynamicParams.Add("@enable", enable);
+ }
+ if (steptypecode != "" && steptypecode != null)
+ {
+ search += "and A.flwtype=@steptypecode ";
+ dynamicParams.Add("@steptypecode", steptypecode);
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.id,A.stepcode,A.stepname,A.flwtype,A.enable,A.descr,U.username as lm_user,A.lm_date
+ from TStep A
+ left join TUser U on A.lm_user=U.usercode
+ 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 AddUpdateStep(string stepid, string stepcode, string stepname, string steptypecode, string enable, string description, User us, string operType)
+ {
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ var sql = "";
+ try
+ {
+ if (operType == "Add")
+ {
+ sql = @"select * from TStep where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", stepcode);
+ 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 TStep(stepcode,stepname,flwtype,enable,descr,lm_user,lm_date)
+ values(@stepcode,@stepname,@steptypecode,@enable,@description,@username,@CreateDate)";
+ dynamicParams.Add("@stepcode", stepcode);
+ dynamicParams.Add("@stepname", stepname);
+ dynamicParams.Add("@steptypecode", steptypecode);
+ dynamicParams.Add("@enable", enable);
+ dynamicParams.Add("@description", description);
+ dynamicParams.Add("@username", us.usercode);
+ dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
+ int cont = DapperHelper.SQL(sql, dynamicParams);
+ if (cont > 0)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗伐搴�:" + stepcode, 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")
+ {
+ list.Clear();
+ //濡傛灉褰撳墠宸ュ簭浣跨敤鐘舵�佷綅N(鏈惎鐢�),闇�鍒ゆ柇褰撳墠宸ュ簭鏄惁琚伐鍗曞紩鐢�
+ if (enable == "N")
+ {
+ var sql0 = @"select * from TK_Wrk_Step A where A.step_code=@stepcode";
+ dynamicParams.Add("@stepcode", stepcode);
+ var data = DapperHelper.selectdata(sql0, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "宸ュ簭鏈夊叧鑱斿伐鍗�,涓嶅厑璁镐慨鏀�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ sql = @"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, parm = new {stepid = stepid, stepname = stepname, steptypecode = steptypecode, enable = enable, description = description, username = us.usercode, CreateDate = DateTime.Now.ToString() } });
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗伐搴�:" + stepcode, 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 DeleteStep(string stepcode, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ list.Clear();
+ //褰撳墠宸ュ簭鏄惁鍏宠仈宸ュ崟
+ sql = @"select * from TK_Wrk_Step A where A.step_code=@stepcode";
+ dynamicParams.Add("@stepcode", stepcode);
+ 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 TStep where stepcode=@stepcode";
+ list.Add(new { str = sql, parm = new { stepcode = stepcode } });
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗伐搴�:" + stepcode, 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/DLL/DAL/ErpSyncMesDAL.cs b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
index b6b4f78..8e60c8e 100644
--- a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -166,5 +166,42 @@
return mes;
}
#endregion
+
+ #region[鐢熶骇绠$悊锛欵RP鐢熶骇璁㈠崟鍚屾]
+ public static ToMessage SeaveSearchErpOrder(User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_ERPMO";
+ 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/ExcelCheckDAL.cs b/VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs
index 030839b..454b8e1 100644
--- a/VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs
@@ -72,7 +72,7 @@
Message = ImportExcelData.Fourteen(savePath, out StuCode);
break;
case "15"://宸ュ簭瀹氫箟
- Message = ImportExcelData.Fifteen(savePath, out StuCode);
+ Message = ImportExcelData.Fifteen(dataTable, out StuCode);
break;
case "16"://宸ヨ壓璺嚎
Message = ImportExcelData.Sixteen(savePath, out StuCode);
@@ -170,7 +170,7 @@
list = ImportExcelData.FourteenData(savePath, out stuCode, out message, out count);
break;
case "15"://宸ュ簭瀹氫箟
- list = ImportExcelData.FifteenData(savePath, out stuCode, out message, out count);
+ list = ImportExcelData.FifteenData(dataTable, out stuCode, out message, out count);
break;
case "16"://宸ヨ壓璺嚎
list = ImportExcelData.SixteenData(savePath, out stuCode, out message, out count);
@@ -260,7 +260,7 @@
Message = ImportExcelData.FourteenSubmit(savePath, User, out StuCode);
break;
case "15"://宸ュ簭瀹氫箟
- Message = ImportExcelData.FifteenSubmit(savePath, User, out StuCode);
+ Message = ImportExcelData.FifteenSubmit(dataTable, us, out StuCode);
break;
case "16"://宸ヨ壓璺嚎
Message = ImportExcelData.SixteenSubmit(savePath, User, out StuCode);
diff --git a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
index bfaa72d..b09d488 100644
--- a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -259,5 +259,56 @@
return mes;
}
#endregion
+
+ #region[浠撳簱鍩虹璧勬枡]
+ public static ToMessage WareHouse()
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇浠撳簱鏁版嵁
+ sql = @"select code,name from TSecStck";
+ 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 StepData()
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇浠撳簱鏁版嵁
+ sql = @"select stepcode,stepname from TStep";
+ 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
+
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
index dc618e5..b739f20 100644
--- a/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
@@ -1053,5 +1053,36 @@
return mes;
}
#endregion
+
+
+ #region[宸ュ崟浜у搧淇℃伅涓嬫媺妗嗘煡璇
+ public static ToMessage PartSelect()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇鐗╂枡鏁版嵁
+ sql = @"select M.partcode,M.partname,M.partspec,M.idunit as uom_code,T.name as uom_name,
+ M.idunitgroup as stocktype_code,D.name as stocktype_name,
+ M.idwarehouse as stck_code,S.name as stck_name
+ from TMateriel_Info M
+ left join TUnit T on M.idunit=T.code
+ left join TUnitGroup D on M.idunitgroup=D.code
+ left join TSecStck S on M.idwarehouse=S.code ";
+ 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
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
index 0fcd0c3..6647b92 100644
--- a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
@@ -42,408 +42,7 @@
#endregion
- #region[ERP璁㈠崟鏌ヨ]
- public static ToMessage ErpOrderSearch(string stu_torgcode, string stu_torgtypecode, string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
- {
- var dynamicParams = new DynamicParameters();
- string search = "";
- try
- {
- switch (stu_torgtypecode)
- {
- case "":
- break;
- case "D":
- search += "and L.org_code=@stu_torgcode ";
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- break;
- case "W":
- search += "and C.org_code=@stu_torgcode ";
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- break;
- default:
- break;
- }
- if (erporderstus != "" && erporderstus != null)
- {
- search += "and A.status=@erporderstus ";
- dynamicParams.Add("@erporderstus", erporderstus);
- }
- if (erpordercode != "" && erpordercode != null)
- {
- search += "and A.wo like '%'+@erpordercode+'%' ";
- dynamicParams.Add("@erpordercode", erpordercode);
- }
- if (partcode != "" && partcode != null)
- {
- search += "and A.materiel_code like '%'+@partcode+'%' ";
- dynamicParams.Add("@partcode", partcode);
- }
- if (partname != "" && partname != null)
- {
- search += "and B.partname like '%'+@partname+'%' ";
- dynamicParams.Add("@partname", partname);
- }
- if (partspec != "" && partspec != null)
- {
- search += "and B.partspec like '%'+@partspec+'%' ";
- dynamicParams.Add("@partspec", partspec);
- }
- if (paydatestartdate != "" && paydatestartdate != null)
- {
- search += "and A.planstartdate between @paydatestartdate and @paydateenddate ";
- dynamicParams.Add("@paydatestartdate", paydatestartdate + " 00:00:00");
- dynamicParams.Add("@paydateenddate", paydateenddate + " 23:59:59");
- }
- if (paydatestartdate1 != "" && paydatestartdate1 != null)
- {
- search += "and A.planenddate between @paydatestartdate1 and @paydateenddate2 ";
- dynamicParams.Add("@paydatestartdate1", paydatestartdate1);
- dynamicParams.Add("@paydateenddate2", paydateenddate2 + " 23:59:59");
- }
- if (creatuser != "" && creatuser != null)
- {
- search += "and U.username like '%'+@creatuser+'%' ";
- dynamicParams.Add("@creatuser", creatuser);
- }
-
- if (search == "")
- {
- search = "and 1=1 ";
- }
- // --------------鏌ヨ鎸囧畾鏁版嵁--------------
- var total = 0; //鎬绘潯鏁�
- var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.org_name as wkshp_name,
- A.stck_code,D.name as stck_name,saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate
- from TKimp_Ewo A
- left join TMateriel_Info B on A.materiel_code=B.partcode
- left join TOrganization C on A.wkshp_code=C.org_code
- left join T_Sec_Stck D on A.stck_code=D.code
- left join TUser U on A.createuser=U.usercode
- left join TOrganization L on C.parent_id=L.id
- 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[ERP璁㈠崟涓嬭揪]
- public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
- {
- var sql = "";
- List<object> list = new List<object>();
- var dynamicParams = new DynamicParameters();
-
- try
- {
- list.Clear();
- //鑾峰彇鎷嗗崟鏁伴噺:鍚戜笅鍙栨暣
- decimal cdqty = Math.Floor(decimal.Parse(markqty) / decimal.Parse(ordernum));
- //瀹氫箟绱涓嬪崟鏁伴噺
- decimal sumqty = 0;
- //瀹氫箟鏈�鏂扮敓鎴愮殑宸ュ崟鍙�
- string wo = "";
- //瀹氫箟宸ュ崟娴佹按鍙�
- int num = 0;
- //寰幆涓嬪崟鍗曟暟(鐢熸垚瀵瑰簲鍑犲紶MES宸ュ崟)
- for (int i = 1; i <= Convert.ToInt32(ordernum); i++)
- {
- sumqty += cdqty;
- //鑾峰彇鏈�澶у崟鎹彿
- if (i == 1) //棣栧崟鑾峰彇宸ュ崟鍙�
- {
- sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0)+1 as worknumb
- from TK_Wrk_Man where m_po=@erpordercode";
- dynamicParams.Add("@erpordercode", erpordercode);
- var data = DapperHelper.selectdata(sql, dynamicParams);
- num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
- wo = erpordercode + "_" + num;
- }
- else
- {
- num = num + 1;
- wo = erpordercode + "_" + num;
- }
- if (i == Convert.ToInt32(ordernum)) //鏈�鍚庝竴鍗曟椂
- {
- sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderDeliveryDate)";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo_code = wo,
- wotype = "PO",
- status = "NEW",
- wkshp_code = wkshopcode,
- plan_qty = cdqty + (decimal.Parse(markqty) - sumqty), //鏈崟涓嬪崟鏁伴噺=鍒囧垎鏁伴噺+(涓嬪崟鏁伴噺-绱鍒囧垎涓嬪崟鏁伴噺)
- stck_code = warehousecode,
- materiel_code = partcode,
- sourceid = erporderid,
- m_po = erpordercode,
- username = username,
- CreateDate = DateTime.Now.ToString(),
- saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
- }
- });
- sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
- }
- else
- {
-
- sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderDeliveryDate)";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo_code = wo,
- wotype = "PO",
- status = "NEW",
- wkshp_code = wkshopcode,
- plan_qty = cdqty,
- stck_code = warehousecode,
- materiel_code = partcode,
- sourceid = erporderid,
- m_po = erpordercode,
- username = username,
- CreateDate = DateTime.Now.ToString(),
- saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
- }
- });
- }
- }
- if (decimal.Parse(erpqty) == decimal.Parse(markqty) + decimal.Parse(relse_qty)) //濡傛灉ERP璁㈠崟=涓嬪崟鏁伴噺+宸蹭笅鍗曟暟閲�,鍒欐洿鏂癊RP璁㈠崟琛ㄧ姸鎬佷负CREATED:宸插垱寤�
- {
- sql = @"update TKimp_Ewo set status='CREATED',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo = erpordercode,
- erporderid = erporderid,
- sumqty = sumqty,
- saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
- }
- });
- }
- else //鏇存柊ERP璁㈠崟琛ㄧ姸鎬佷负CREATING:鍒涘缓涓�
- {
- sql = @"update TKimp_Ewo set status='CREATING',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo = erpordercode,
- erporderid = erporderid,
- sumqty = sumqty,
- saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
- }
- });
- }
- bool aa = DapperHelper.DoTransaction(list);
- if (aa)
- {
- mes.code = "200";
- mes.count = 0;
- mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛!";
- mes.data = null;
- }
- else
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
- mes.data = null;
- }
- }
- catch (Exception e)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = e.Message;
- mes.data = null;
- }
- return mes;
- }
- #endregion
-
- #region[ERP璁㈠崟鍏抽棴]
- public static ToMessage ClosedErpOrder(string erporderid, string erpordercode, string username)
- {
- var sql = "";
- List<object> list = new List<object>();
- var dynamicParams = new DynamicParameters();
- try
- {
- sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and status<> 'CLOSED'";
- dynamicParams.Add("@erpordercode", erpordercode);
- var data = DapperHelper.selectdata(sql, dynamicParams);
- if (data.Rows.Count > 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠璁㈠崟鏈変笅杈炬湭鍏抽棴鐨凪ES宸ュ崟,璁㈠崟涓嶅厑璁稿叧闂�,璇峰厛鍒犻櫎鎴栧叧闂浉鍏冲伐鍗�!";
- mes.data = null;
- }
- else
- {
- //鍏抽棴璁㈠崟
- sql = @"update TKimp_Ewo set status='CLOSED' where wo=@wo and id=@erporderid";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo = erpordercode,
- erporderid = erporderid
- }
- });
- }
- 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[MES宸ュ崟鏌ヨ]
- public static ToMessage MesOrderSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
- {
- var dynamicParams = new DynamicParameters();
- string search = "";
- try
- {
- switch (stu_torgtypecode)
- {
- case "":
- break;
- case "D":
- search += "and L.org_code=@stu_torgcode ";
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- break;
- case "W":
- search += "and C.org_code=@stu_torgcode ";
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- break;
- default:
- break;
- }
- if (mesorderstus != "" && mesorderstus != null)
- {
- search += "and A.status=@mesorderstus ";
- dynamicParams.Add("@mesorderstus", mesorderstus);
- }
- if (mesordercode != "" && mesordercode != null)
- {
- search += "and A.wo_code like '%'+@mesordercode+'%' ";
- dynamicParams.Add("@mesordercode", mesordercode);
- }
- if (sourceorder != "" && sourceorder != null)
- {
- search += "and A.m_po like '%'+@sourceorder+'%' ";
- dynamicParams.Add("@sourceorder", sourceorder);
- }
- if (ordertype != "" && ordertype != null)
- {
- search += "and A.wotype like '%'+@ordertype+'%' ";
- dynamicParams.Add("@ordertype", ordertype);
- }
- if (partcode != "" && partcode != null)
- {
- search += "and A.materiel_code like '%'+@partcode+'%' ";
- dynamicParams.Add("@partcode", partcode);
- }
- if (partname != "" && partname != null)
- {
- search += "and B.partname like '%'+@partname+'%' ";
- dynamicParams.Add("@partname", partname);
- }
- if (partspec != "" && partspec != null)
- {
- search += "and B.partspec like '%'+@partspec+'%' ";
- dynamicParams.Add("@partspec", partspec);
- }
- if (createdate != "" && createdate != null)
- {
- search += "and CONVERT(varchar(100),A.lm_date,23)=@createdate ";
- dynamicParams.Add("@createdate", createdate);
- }
- if (creatuser != "" && creatuser != null)
- {
- search += "and U.username like '%'+@creatuser+'%' ";
- dynamicParams.Add("@creatuser", creatuser);
- }
-
- if (search == "")
- {
- search = "and 1=1 ";
- }
- // --------------鏌ヨ鎸囧畾鏁版嵁--------------
- var total = 0; //鎬绘潯鏁�
- var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.org_name as wkshp_name,
- A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,U.username as lm_user,A.lm_date
- from TK_Wrk_Man A
- left join TMateriel_Info B on A.materiel_code=B.partcode
- left join TOrganization C on A.wkshp_code=C.org_code
- left join T_Sec_Stck D on A.stck_code=D.code
- left join TFlw_Rout E on A.route_code=E.code
- left join T_Sec_Stck F on A.stck_code=F.code
- left join TUser U on A.lm_user=U.usercode
- left join TOrganization L on C.parent_id=L.id
- 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[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
new file mode 100644
index 0000000..92d34aa
--- /dev/null
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -0,0 +1,1051 @@
+锘縰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.WorkData;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.DAL
+{
+ public class WorkOrderDAL
+ {
+ 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[ERP璁㈠崟鏌ヨ]
+ public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (erporderstus != "" && erporderstus != null)
+ {
+ search += "and A.status=@erporderstus ";
+ dynamicParams.Add("@erporderstus", erporderstus);
+ }
+ if (erpordercode != "" && erpordercode != null)
+ {
+ search += "and A.wo like '%'+@erpordercode+'%' ";
+ dynamicParams.Add("@erpordercode", erpordercode);
+ }
+ if (saleordercode != "" && saleordercode != null)
+ {
+ search += "and A.saleOrderCode like '%'+@saleordercode+'%' ";
+ dynamicParams.Add("@saleordercode", saleordercode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.materiel_code like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (paydatestartdate != "" && paydatestartdate != null)
+ {
+ search += "and A.planstartdate between @paydatestartdate and @paydateenddate ";
+ dynamicParams.Add("@paydatestartdate", paydatestartdate + " 00:00:00");
+ dynamicParams.Add("@paydateenddate", paydateenddate + " 23:59:59");
+ }
+ if (paydatestartdate1 != "" && paydatestartdate1 != null)
+ {
+ search += "and A.planenddate between @paydatestartdate1 and @paydateenddate2 ";
+ dynamicParams.Add("@paydatestartdate1", paydatestartdate1);
+ dynamicParams.Add("@paydateenddate2", paydateenddate2 + " 23:59:59");
+ }
+ if (creatuser != "" && creatuser != null)
+ {
+ search += "and U.username like '%'+@creatuser+'%' ";
+ dynamicParams.Add("@creatuser", creatuser);
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.torg_name as wkshp_name,
+ A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid
+ from TKimp_Ewo A
+ left join TMateriel_Info B on A.materiel_code=B.partcode
+ left join TOrganization C on A.wkshp_code=C.torg_code
+ left join TSecStck D on A.stck_code=D.code
+ left join TUser U on A.createuser=U.usercode
+ 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[ERP璁㈠崟涓嬭揪]
+ public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+
+ try
+ {
+ list.Clear();
+ //鑾峰彇鎷嗗崟鏁伴噺:鍚戜笅鍙栨暣
+ decimal cdqty = Math.Floor(decimal.Parse(markqty) / decimal.Parse(ordernum));
+ //瀹氫箟绱涓嬪崟鏁伴噺
+ decimal sumqty = 0;
+ //瀹氫箟鏈�鏂扮敓鎴愮殑宸ュ崟鍙�
+ string wo = "";
+ //瀹氫箟宸ュ崟娴佹按鍙�
+ int num = 0;
+ //寰幆涓嬪崟鍗曟暟(鐢熸垚瀵瑰簲鍑犲紶MES宸ュ崟)
+ for (int i = 1; i <= Convert.ToInt32(ordernum); i++)
+ {
+ sumqty += cdqty;
+ //鑾峰彇鏈�澶у崟鎹彿
+ if (i == 1) //棣栧崟鑾峰彇宸ュ崟鍙�
+ {
+ sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0)+1 as worknumb
+ from TK_Wrk_Man where m_po=@erpordercode";
+ dynamicParams.Add("@erpordercode", erpordercode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
+ wo = erpordercode + "_" + num;
+ }
+ else
+ {
+ num = num + 1;
+ wo = erpordercode + "_" + num;
+ }
+ if (i == Convert.ToInt32(ordernum)) //鏈�鍚庝竴鍗曟椂
+ {
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = wo,
+ wotype = "PO",
+ status = "NEW",
+ wkshp_code = wkshopcode,
+ plan_qty = cdqty + (decimal.Parse(markqty) - sumqty), //鏈崟涓嬪崟鏁伴噺=鍒囧垎鏁伴噺+(涓嬪崟鏁伴噺-绱鍒囧垎涓嬪崟鏁伴噺)
+ stck_code = warehousecode,
+ sbid = sbid,
+ materiel_code = partcode,
+ sourceid = erporderid,
+ m_po = erpordercode,
+ username = us.usercode,
+ CreateDate = DateTime.Now.ToString(),
+ saleOrderCode = saleordercode,
+ saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
+ data_sources = "ERP",
+ isstep="N" //鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
+ }
+ else
+ {
+
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = wo,
+ wotype = "PO",
+ status = "NEW",
+ wkshp_code = wkshopcode,
+ plan_qty = cdqty,
+ stck_code = warehousecode,
+ sbid = sbid,
+ materiel_code = partcode,
+ sourceid = erporderid,
+ m_po = erpordercode,
+ username = us.usercode,
+ CreateDate = DateTime.Now.ToString(),
+ saleOrderCode = saleordercode,
+ saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
+ data_sources = "ERP",
+ isstep= "N"//鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ }
+ }
+ if (decimal.Parse(erpqty) == decimal.Parse(markqty) + decimal.Parse(relse_qty)) //濡傛灉ERP璁㈠崟=涓嬪崟鏁伴噺+宸蹭笅鍗曟暟閲�,鍒欐洿鏂癊RP璁㈠崟琛ㄧ姸鎬佷负CREATED:宸插垱寤�
+ {
+ sql = @"update TKimp_Ewo set status='CREATED',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid,
+ sumqty = sumqty,
+ saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
+ }
+ });
+ }
+ else //鏇存柊ERP璁㈠崟琛ㄧ姸鎬佷负CREATING:鍒涘缓涓�
+ {
+ sql = @"update TKimp_Ewo set status='CREATING',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid,
+ sumqty = sumqty,
+ saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "涓嬭揪", "涓嬭揪浜嗗伐鍗�:" + wo, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鍏抽棴]
+ public static ToMessage ClosedErpOrder(string erporderid, string erpordercode, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and status<> 'CLOSED'";
+ dynamicParams.Add("@erpordercode", erpordercode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠璁㈠崟鏈変笅杈炬湭鍏抽棴鐨凪ES宸ュ崟,璁㈠崟涓嶅厑璁稿叧闂�,璇峰厛鍒犻櫎鎴栧叧闂浉鍏冲伐鍗�!";
+ mes.data = null;
+ }
+ else
+ {
+ //鍏抽棴璁㈠崟
+ sql = @"update TKimp_Ewo set status='CLOSED' where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍏抽棴", "鍏抽棴浜嗚鍗�:" + erpordercode, 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[ERP璁㈠崟鍒犻櫎]
+ public static ToMessage DeleteErpOrder(string erporderid, string erpordercode, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and sourceid=@erporderid and status<>'NEW'";
+ dynamicParams.Add("@erpordercode", erpordercode);
+ dynamicParams.Add("@erporderid", erporderid);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠璁㈠崟涓嬫湁宸ュ崟宸叉淳鍙戞垨宸插紑宸ユ垨宸插畬宸�(鍏抽棴),涓嶅厑璁稿垹闄�!";
+ mes.data = null;
+ return mes;
+ }
+ else
+ {
+ //鍒犻櫎宸ュ崟
+ sql = @"delete TK_Wrk_Man where m_po=@wo and sourceid=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid
+ }
+ });
+ //鍒犻櫎璁㈠崟
+ sql = @"delete TKimp_Ewo where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ LogHelper.WriteLogData(aa.ToString());
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚鍗�:" + erpordercode, 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[MES宸ュ崟鏌ヨ]
+ public static ToMessage MesOrderSearch(string mesorderstus, string mesordercode, string sourceorder, string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (mesorderstus != "" && mesorderstus != null)
+ {
+ search += "and A.status=@mesorderstus ";
+ dynamicParams.Add("@mesorderstus", mesorderstus);
+ }
+ if (mesordercode != "" && mesordercode != null)
+ {
+ search += "and A.wo_code like '%'+@mesordercode+'%' ";
+ dynamicParams.Add("@mesordercode", mesordercode);
+ }
+ if (sourceorder != "" && sourceorder != null)
+ {
+ search += "and A.m_po like '%'+@sourceorder+'%' ";
+ dynamicParams.Add("@sourceorder", sourceorder);
+ }
+ if (saleordercode != "" && saleordercode != null)
+ {
+ search += "and W.saleOrderCode like '%'+@saleordercode+'%' ";
+ dynamicParams.Add("@saleordercode", saleordercode);
+ }
+ if (ordertype != "" && ordertype != null)
+ {
+ search += "and A.wotype like '%'+@ordertype+'%' ";
+ dynamicParams.Add("@ordertype", ordertype);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.materiel_code like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (createdate != "" && createdate != null)
+ {
+ search += "and CONVERT(varchar(100),A.lm_date,23)=@createdate ";
+ dynamicParams.Add("@createdate", createdate);
+ }
+ if (creatuser != "" && creatuser != null)
+ {
+ search += "and U.username like '%'+@creatuser+'%' ";
+ dynamicParams.Add("@creatuser", creatuser);
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date
+ from TK_Wrk_Man A
+ left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
+ left join TMateriel_Info B on A.materiel_code=B.partcode
+ left join TOrganization C on A.wkshp_code=C.torg_code
+ left join TSecStck D on A.stck_code=D.code
+ left join TUser U on A.lm_user=U.usercode
+ left join TOrganization L on C.parent_id=L.id
+ 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[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
+ public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (mesordercode != "" && mesordercode != null)
+ {
+ search += "and A.wo_code like '%'+@mesordercode+'%' ";
+ dynamicParams.Add("@mesordercode", mesordercode);
+ }
+ if (sourceorder != "" && sourceorder != null)
+ {
+ search += "and A.m_po like '%'+@sourceorder+'%' ";
+ dynamicParams.Add("@sourceorder", sourceorder);
+ }
+ if (saleordercode != "" && saleordercode != null)
+ {
+ search += "and W.saleOrderCode like '%'+@saleordercode+'%' ";
+ dynamicParams.Add("@saleordercode", saleordercode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.materiel_code like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (createdate != "" && createdate != null)
+ {
+ search += "and CONVERT(varchar(100),A.lm_date,23)=@createdate ";
+ dynamicParams.Add("@createdate", createdate);
+ }
+ if (creatuser != "" && creatuser != null)
+ {
+ search += "and U.username like '%'+@creatuser+'%' ";
+ dynamicParams.Add("@creatuser", creatuser);
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_Man A
+ left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
+ left join (select wo_code,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty from TK_Wrk_Step where (laborbad_qty+materielbad_qty)>0 group by wo_code) S on A.wo_code=S.wo_code
+ left join TMateriel_Info B on A.materiel_code=B.partcode
+ left join TOrganization C on A.wkshp_code=C.torg_code
+ left join TSecStck D on A.stck_code=D.code
+ left join TUser U on A.lm_user=U.usercode
+ where A.is_delete<>'1' and (S.laborbad_qty+S.materielbad_qty)>0 " + 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[MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿]
+ public static ToMessage AddMesOrderCodeSearch()
+ {
+ string sql = "";
+ string wo_code = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇鍗曟嵁鍙�
+ sql = @"SELECT 'SGPO'+CONVERT(varchar(12) , getdate(), 112 )+'_'+cast(isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0)+1 as varchar) as numct
+ FROM TK_Wrk_Man where wo_code like '%SGPO%'";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.Rows[0]["numct"].ToString();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟缂栬緫鑾峰彇宸ュ簭鏁版嵁]
+ public static ToMessage UpdateMesOrderStepSearch(string sourceid, string sourcewo, string wocode, string data_sources)
+ {
+ string sql = "";decimal canupdate_qty = 0;
+ var dynamicParams = new DynamicParameters();
+ Dictionary<object, object> dir = new Dictionary<object, object>();
+ try
+ {
+ if (data_sources == "ERP") //鏁版嵁鏉ユ簮ERP
+ {
+ //鏌ヨ褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鎬绘暟-宸蹭笅杈惧伐鍗曟�绘暟
+ sql = @"select max(qty) as qty,isnull(sum(M.plan_qty),0) as plan_qty from TKimp_Ewo E
+ inner join TK_Wrk_Man M on E.wo=M.m_po and E.id=M.sourceid
+ where E.wo=@sourcewo and E.id=@sourceid and M.wo_code<>@wocode";
+ dynamicParams.Add("@sourceid", sourceid);
+ dynamicParams.Add("@sourcewo", sourcewo);
+ dynamicParams.Add("@wocode", wocode);
+ var data = DapperHelper.selectdata(sql,dynamicParams);
+ //褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鏁伴噺-闈炲綋鍓嶅伐鍗曟�讳笅杈惧伐鍗曟暟閲�
+ canupdate_qty = decimal.Parse(data.Rows[0]["qty"].ToString()) - decimal.Parse(data.Rows[0]["plan_qty"].ToString());
+ }
+ if (data_sources == "MES") //鏁版嵁鏉ユ簮MES
+ {
+ if (sourceid == "" || sourceid == null) //鏃犳簮鍗�
+ {
+ //鏌ヨ褰撳墠宸ュ崟鍙慨鏀规暟閲�=宸ュ崟鎬绘暟
+ sql = @"select plan_qty from TK_Wrk_Man where wo_code=@wo_code";
+ dynamicParams.Add("@wo_code", wocode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ //褰撳墠宸ュ崟鍙慨鏀规暟閲�=宸ュ崟鏁伴噺
+ canupdate_qty = decimal.Parse(data.Rows[0]["plan_qty"].ToString());
+ }
+ else //鏈夋簮鍗�(鎶ュ簾琛ュ崟)
+ {
+ //涓嶆帶鍒� 鏍囪瘑涓�-1
+ canupdate_qty = -1;
+ }
+ }
+ //鑾峰彇宸ュ簭淇℃伅
+ sql = @"select S.wo_code,S.seq,S.step_code,T.stepname,S.stepprice,(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty,(isnull(S.plan_qty,0)-(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0))) as delive_qty,S.isbott,S.isend
+ from TK_Wrk_Step S
+ left join TStep T on S.step_code=T.stepcode
+ where S.wo_code=@wocode order by S.seq ";
+ dynamicParams.Add("@wocode", wocode);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ dir.Add("canupdate_qty", canupdate_qty);
+ dir.Add("stepdata", data1);
+ mes.code = "200";
+ mes.count = data1.Rows.Count;
+ mes.Message = "鏌ヨ鎴愬姛";
+ mes.data = dir;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
+ public static ToMessage AddUpdateMesOrder(string operType, WorkList json, User us)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ try
+ {
+ if (operType == "Add")
+ {
+ //鍐欏叆宸ュ崟琛�
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,sourceid,m_po,saleOrderDeliveryDate,piroque,isaps,data_sources,isstep)
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@m_po,@saleOrderDeliveryDate,@orderlev,@isaps,@data_sources,@isstep)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json.wocode,
+ wotype = json.wotype,
+ status = json.wostatus,
+ wkshp_code = json.wkshopcode,
+ plan_qty = json.woqty,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ materiel_code = json.partcode,
+ sourceid = json.sourceid==""?"NULL": json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ m_po = json.sourcewo,
+ saleOrderDeliveryDate = json.deliverydate,
+ orderlev = "3",//浼樺厛绾э細鐗圭骇锛�1锛� 绱ф�ワ紙2锛� 姝e父锛�3锛�
+ isaps = "N", //鏄惁鎺掍骇,榛樿N Y=鏄� N=鍚�
+ data_sources = json.data_sources,
+ isstep= json.isstep //鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ //鍐欏叆宸ュ簭浠诲姟琛�
+ for (int i = 0; i < json.WorkListSub.Count; i++)
+ {
+ sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json.wocode,
+ seq = json.WorkListSub[i].stepseq,
+ step_code = json.WorkListSub[i].stepcode,
+ stepprice = json.WorkListSub[i].stepprice,
+ plan_qty = json.woqty,
+ status = json.wostatus,
+ isbott = json.WorkListSub[i].isbott,
+ isend = json.WorkListSub[i].isend,
+ username = us.usercode,
+ CreateDate = DateTime.Now.ToString()
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗伐鍗�:" + json.wocode, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "MES宸ュ崟鏂板缓鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "MES宸ュ崟鏂板缓澶辫触!";
+ mes.data = null;
+ }
+ }
+ if (operType == "Update")
+ {
+ //淇敼宸ュ崟琛�
+ sql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
+ materiel_code=@materiel_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,isstep=@isstep
+ where wo_code=@wo_code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json.wocode,
+ wotype = json.wotype,
+ plan_qty = json.woqty,
+ materiel_code = json.partcode,
+ sourceid = json.sourceid == "" ? "NULL" : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ m_po = json.sourcewo,
+ saleOrderDeliveryDate = json.deliverydate,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ isstep=json.isstep //鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ //鍒犻櫎宸ュ崟宸ュ簭琛�
+ sql = @"delete TK_Wrk_Step where wo_code=@wo_code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json.wocode
+ }
+ });
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ for (int i = 0; i < json.WorkListSub.Count; i++)
+ {
+ sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json.wocode,
+ seq = json.WorkListSub[i].stepseq,
+ step_code = json.WorkListSub[i].stepcode,
+ stepprice = json.WorkListSub[i].stepprice,
+ plan_qty = json.woqty,
+ status = json.wostatus,
+ isbott = json.WorkListSub[i].isbott,
+ isend = json.WorkListSub[i].isend,
+ username = us.usercode,
+ CreateDate = DateTime.Now.ToString()
+ }
+ });
+ }
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗伐鍗�:" + json.wocode, 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[MES宸ュ崟鍒犻櫎]
+ public static ToMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鎴栧緟鎺掔▼鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
+ sql = @"select * from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO','NOSCHED')";
+ dynamicParams.Add("@wocode", wocode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ if (m_po != "" && m_po != null)
+ {
+ //鏌ヨ鐢熶骇璁㈠崟琛ㄦ暟鎹�
+ sql = @"select * from TKimp_Ewo where wo=@m_po and id=@souceid";
+ dynamicParams.Add("@m_po", m_po);
+ dynamicParams.Add("@souceid", souceid);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ decimal relse_qty = decimal.Parse(data0.Rows[0]["RELSE_QTY"].ToString());//浠ヤ笅鍗曟暟閲�
+ if ((relse_qty - decimal.Parse(orderqty)) == 0) //鍏ㄩ儴鎾ら攢 璁㈠崟鐘舵�佸洖鍐欐湭寮�濮�,宸蹭笅鍗曟暟閲忎负0
+ {
+ //鍥炲啓璁㈠崟琛ㄧ姸鎬佸強宸蹭笅鍗曟暟閲�
+ sql = @"update TKimp_Ewo set status='NEW',relse_qty=0 where wo=@m_po and id=@souceid";
+ list.Add(new { str = sql, parm = new { m_po = m_po, souceid = souceid } });
+ }
+ else
+ {
+ //鍥炲啓璁㈠崟琛ㄧ姸鎬佸強宸蹭笅鍗曟暟閲�
+ sql = @"update TKimp_Ewo set status='CREATING',relse_qty=relse_qty-@orderqty where wo=@m_po and id=@souceid";
+ list.Add(new { str = sql, parm = new { m_po = m_po, souceid = souceid, orderqty = decimal.Parse(orderqty) } });
+ }
+ }
+ //鍒犻櫎宸ュ崟宸ュ簭琛�
+ sql = @"delete TK_Wrk_Step where wo_code=@wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocode } });
+
+ //鍒犻櫎鍔犲伐鍗曠敤鏂欒〃(瀛愪欢)
+ //sql = @"delete TK_Wrk_Allo where wo_code=@wocode";
+ //list.Add(new { str = sql, parm = new { wocode = wocode } });
+
+ //鍒犻櫎宸ュ崟琛�
+ sql = @"update TK_Wrk_Man set is_delete='1' where wo_code=@wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocode } });
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "宸ュ崟鎵ц涓垨宸插叧闂紝涓嶅厑璁稿垹闄�!";
+ mes.data = null;
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗伐鍗�:" +wocode, 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 MesOrderClosedSearch(string mesorderstus, string mesordercode, string sourceorder, string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (mesorderstus == "宸插叧闂�")
+ {
+ search += "and A.status=@mesorderstus ";
+ dynamicParams.Add("@mesorderstus","CLOSED");
+ }
+ if (mesorderstus == "鏈叧闂�")
+ {
+ search += "and A.status<>@mesorderstus ";
+ dynamicParams.Add("@mesorderstus", "CLOSED");
+ }
+ if (mesordercode != "" && mesordercode != null)
+ {
+ search += "and A.wo_code like '%'+@mesordercode+'%' ";
+ dynamicParams.Add("@mesordercode", mesordercode);
+ }
+ if (sourceorder != "" && sourceorder != null)
+ {
+ search += "and A.m_po like '%'+@sourceorder+'%' ";
+ dynamicParams.Add("@sourceorder", sourceorder);
+ }
+ if (saleordercode != "" && saleordercode != null)
+ {
+ search += "and W.saleOrderCode like '%'+@saleordercode+'%' ";
+ dynamicParams.Add("@saleordercode", saleordercode);
+ }
+ if (ordertype != "" && ordertype != null)
+ {
+ search += "and A.wotype like '%'+@ordertype+'%' ";
+ dynamicParams.Add("@ordertype", ordertype);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.materiel_code like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (createdate != "" && createdate != null)
+ {
+ search += "and CONVERT(varchar(100),A.lm_date,23)=@createdate ";
+ dynamicParams.Add("@createdate", createdate);
+ }
+ if (creatuser != "" && creatuser != null)
+ {
+ search += "and U.username like '%'+@creatuser+'%' ";
+ dynamicParams.Add("@creatuser", creatuser);
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date
+ from TK_Wrk_Man A
+ left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
+ left join TMateriel_Info B on A.materiel_code=B.partcode
+ left join TOrganization C on A.wkshp_code=C.torg_code
+ left join TSecStck D on A.stck_code=D.code
+ left join TUser U on A.lm_user=U.usercode
+ left join TOrganization L on C.parent_id=L.id
+ 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[MES宸ュ崟鎵归噺鍏抽棴鎻愪氦]
+ public static ToMessage MesOrderBitchClosedSeave(User us, DataTable dt)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ for (int i = 0; i < dt.Rows.Count; i++)
+ {
+ //鍏抽棴宸ュ崟瀵瑰簲宸ュ簭浠诲姟
+ sql = @"update TK_Wrk_Step set status='CLOSED' where wo_code=@wocode";
+ list.Add(new { str = sql, parm = new { wocode = dt.Rows[i]["WO_CODE"].ToString() } });
+ //鍥炲啓宸ュ崟琛ㄧ姸鎬佷负(鍏抽棴)
+ sql = @"update TK_Wrk_Man set status='CLOSED',closeuser=@username,closedate=@closedate where wo_code=@wocode";
+ list.Add(new { str = sql, parm = new { wocode = dt.Rows[i]["WO_CODE"].ToString(), username = us.usercode, closedate = DateTime.Now.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
+ }
+}
diff --git a/VueWebCoreApi/Models/WorkData/WorkList.cs b/VueWebCoreApi/Models/WorkData/WorkList.cs
new file mode 100644
index 0000000..a63a0e6
--- /dev/null
+++ b/VueWebCoreApi/Models/WorkData/WorkList.cs
@@ -0,0 +1,79 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.WorkData
+{
+ public class WorkList
+ {
+ /// <summary>
+ /// 鍗曟嵁鐘舵��
+ /// </summary>
+ public string wostatus { get; set; }
+ /// <summary>
+ /// 宸ュ崟缂栧彿
+ /// </summary>
+ public string wocode { get; set; }
+ /// <summary>
+ /// 宸ュ崟绫诲瀷
+ /// </summary>
+ public string wotype { get; set; }
+ /// <summary>
+ /// 婧愬崟id
+ /// </summary>
+ public string sourceid { get; set; }
+ /// <summary>
+ /// 婧愬崟鍗曞彿
+ /// </summary>
+ public string sourcewo { get; set; }
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string partcode { get; set; }
+ /// <summary>
+ /// 宸ュ崟鏁伴噺
+ /// </summary>
+ public string woqty { get; set; }
+ /// <summary>
+ /// 杞﹂棿缂栫爜
+ /// </summary>
+ public string wkshopcode { get; set; }
+ /// <summary>
+ /// 浜や粯鏃ユ湡
+ /// </summary>
+ public string deliverydate { get; set; }
+ /// <summary>
+ /// 鏁版嵁鏉ユ簮
+ /// </summary>
+ public string data_sources { get; set; }
+ /// <summary>
+ /// 鏄惁鍏宠仈宸ュ簭
+ /// </summary>
+ public string isstep { get; set; }
+ public List<WorkListSub> WorkListSub { get; set; }
+ }
+ public class WorkListSub
+ {
+ /// <summary>
+ /// 宸ュ簭搴忓彿
+ /// </summary>
+ public string stepseq { get; set; }
+ /// <summary>
+ /// 宸ュ簭缂栫爜
+ /// </summary>
+ public string stepcode { get; set; }
+ /// <summary>
+ /// 鐢熶骇鍗曚环
+ /// </summary>
+ public string stepprice { get; set; }
+ /// <summary>
+ /// 鏄惁棣栭亾宸ュ簭
+ /// </summary>
+ public string isbott { get; set; }
+ /// <summary>
+ /// 鏄惁鏈亾宸ュ簭
+ /// </summary>
+ public string isend { get; set; }
+ }
+}
diff --git a/VueWebCoreApi/Tools/ImportExcelData.cs b/VueWebCoreApi/Tools/ImportExcelData.cs
index 8642f8b..e838b33 100644
--- a/VueWebCoreApi/Tools/ImportExcelData.cs
+++ b/VueWebCoreApi/Tools/ImportExcelData.cs
@@ -626,7 +626,7 @@
Message = "璁惧绫诲瀷妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
return Message;
}
- else if (excelTable[1].Columns.Count != 6)
+ else if (excelTable[1].Columns.Count != 5)
{
code = "301";
Message = "璁惧娓呭崟妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -662,7 +662,7 @@
Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*璁惧鍚嶇О}";
return Message;
}
- else if (excelTable[1].Columns[2].ColumnName != "鎵�灞炵粍缁囩紪鐮�")
+ else if (excelTable[1].Columns[2].ColumnName != "*鎵�灞炵粍缁囩紪鐮�")
{
code = "301";
Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕*鎵�灞炵粍缁囩紪鐮亇";
@@ -674,16 +674,10 @@
Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕*璁惧绫诲瀷缂栫爜}";
return Message;
}
- else if (excelTable[1].Columns[4].ColumnName != "*鍚敤鏃ユ湡")
+ else if (excelTable[1].Columns[4].ColumnName != "*鐘舵��")
{
code = "301";
- Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕*鍚敤鏃ユ湡}";
- return Message;
- }
- else if (excelTable[1].Columns[5].ColumnName != "*鐘舵��")
- {
- code = "301";
- Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�6鍒楀簲涓簕*鐘舵�亇";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕*鐘舵�亇";
return Message;
}
else
@@ -1268,36 +1262,52 @@
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,宸ュ簭瀹氫箟妯℃澘銆�
- public static string Fifteen(string FileCode, out string code)
+ public static string Fifteen(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- if (excelTable.Columns.Count != 4)
+ if (excelTable.Count != 1)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
}
- else if (excelTable.Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns.Count != 5)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable.Columns[1].ColumnName != "宸ュ簭缂栫爜(鍞竴)")
+ else if (excelTable[0].Columns[0].ColumnName != "*宸ュ簭缂栧彿(鍞竴)")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*宸ュ簭缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable.Columns[2].ColumnName != "宸ュ簭鍚嶇О锛堝敮涓�锛�")
+ else if (excelTable[0].Columns[1].ColumnName != "*宸ュ簭鍚嶇О")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*宸ュ簭鍚嶇О}";
+ return Message;
}
- else if (excelTable.Columns[3].ColumnName != "鍚敤鐘舵��")
+ else if (excelTable[0].Columns[2].ColumnName != "*宸ュ簭绫诲瀷")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕*宸ュ簭绫诲瀷}";
+ return Message;
+ }
+ else if (excelTable[0].Columns[3].ColumnName != "*鐘舵��")
+ {
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*鐘舵�亇";
+ return Message;
+ }
+ else if (excelTable[0].Columns[4].ColumnName != "鎻忚堪")
+ {
+ code = "301";
+ Message = "宸ュ簭璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕鎻忚堪}";
+ return Message;
}
else
{
@@ -3332,15 +3342,65 @@
#endregion
#region銆怑xcel涓婁紶鏁版嵁楠岃瘉,宸ュ簭瀹氫箟銆�
- public static List<ExcelErro> FifteenData(string FileCode, out string StuCode, out string message, out int count)
+ public static List<ExcelErro> FifteenData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
{
message = "";
StuCode = "";
count = 0;
string sql = "";
+ var dynamicParams = new DynamicParameters();
DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
-
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //宸ュ簭琛�
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "")
+ {
+ sql = @"select * from TStep where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[k][0].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*宸ュ簭缂栧彿(鍞竴)}";
+ erro.ErrorCont = "宸ュ簭琛�:{*宸ュ簭缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[k][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TStep where stepname=@stepname";
+ dynamicParams.Add("@stepname", excelTable[0].Rows[k][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*宸ュ簭鍚嶇О}";
+ erro.ErrorCont = "宸ュ簭琛�:{*宸ュ簭鍚嶇О}瀛楁" + excelTable[0].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ if (list.Count > 0)
+ {
+ int index = 0;
+ foreach (ExcelErro item in list)
+ {
+ index++;
+ item.Seq = index.ToString();
+ }
+ StuCode = "301";
+ message = "鏁版嵁楠岃瘉澶辫触";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "鏁版嵁楠岃瘉鎴愬姛";
+ count = excelTable[0].Rows.Count;
+ }
return list;
}
#endregion
@@ -4408,15 +4468,15 @@
name = excelTable[0].Rows[k][1].ToString().Trim(),
lm_user = us.usercode,
lm_date = DateTime.Now.ToString(),
- idparent = excelTable[0].Rows[k][2].ToString().Trim()
+ remark = excelTable[0].Rows[k][2].ToString().Trim()
}
});
}
//瀵煎叆璁惧
for (int i = 0; i < excelTable[1].Rows.Count; i++)
{
- sql = @"insert into TEqpInfo(code,name,torg_code,eqptype_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
- values(@code,@name,@torg_code,@eqptype_code,@input_date,@operation_ration,@enable,@opc_uom,@lm_user,@lm_date)";
+ sql = @"insert into TEqpInfo(code,name,torg_code,eqptype_code,operation_ration,enable,opc_uom,lm_user,lm_date)
+ values(@code,@name,@torg_code,@eqptype_code,@operation_ration,@enable,@opc_uom,@lm_user,@lm_date)";
list.Add(new
{
str = sql,
@@ -4426,9 +4486,8 @@
name = excelTable[1].Rows[i][1].ToString().Trim(),
torg_code = excelTable[1].Rows[i][2].ToString().Trim(),
eqptype_code = excelTable[1].Rows[i][3].ToString().Trim(),
- input_date = excelTable[1].Rows[i][4].ToString().Trim(),
operation_ration = "100",
- enable = excelTable[1].Rows[i][5].ToString().Trim(),
+ enable = excelTable[1].Rows[i][4].ToString().Trim(),
opc_uom = "鍙�",
lm_user = us.usercode,
lm_date = DateTime.Now.ToString()
@@ -4859,13 +4918,47 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,宸ュ簭瀹氫箟銆�
- public static string FifteenSubmit(string FileCode, string User, out string StuCode)
+ public static string FifteenSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
try
{
-
+ list.Clear();
+ //瀵煎叆宸ュ簭
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ sql = @"insert into TStep(stepcode,stepname,enable,descr,flwtype,lm_user,lm_date)
+ values(@stepcode,@stepname,@enable,@descr,@flwtype,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ stepcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ stepname = excelTable[0].Rows[i][1].ToString().Trim(),
+ enable = excelTable[0].Rows[i][3].ToString().Trim(),
+ descr = excelTable[0].Rows[i][4].ToString().Trim(),
+ flwtype = excelTable[0].Rows[i][2].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
}
catch (Exception e)
{
diff --git "a/VueWebCoreApi/wwwroot/Excel/\345\267\245\345\272\217\350\256\276\347\275\256.xls" "b/VueWebCoreApi/wwwroot/Excel/\345\267\245\345\272\217\350\256\276\347\275\256.xls"
new file mode 100644
index 0000000..4d42674
--- /dev/null
+++ "b/VueWebCoreApi/wwwroot/Excel/\345\267\245\345\272\217\350\256\276\347\275\256.xls"
Binary files differ
diff --git "a/VueWebCoreApi/wwwroot/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls" "b/VueWebCoreApi/wwwroot/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
index 56e1c36..e1d0f91 100644
--- "a/VueWebCoreApi/wwwroot/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
+++ "b/VueWebCoreApi/wwwroot/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
Binary files differ
--
Gitblit v1.9.3