From 770c681572301c938d7b9adcc60d9aad9d1dd604 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 19 九月 2023 17:37:03 +0800
Subject: [PATCH] 1.新增基本资料功能接口(erp车间/部门、erp仓库、erp用户信息) 2.报工接口添加字段入库条码 3.增加末道工序报工后提交入库接口(对接erp) 4.增加生成系统条码接口(自定义)
---
VueWebApi/Controllers/ProductionManagementController.cs | 324 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 321 insertions(+), 3 deletions(-)
diff --git a/VueWebApi/Controllers/ProductionManagementController.cs b/VueWebApi/Controllers/ProductionManagementController.cs
index 2ad28a2..09fb41f 100644
--- a/VueWebApi/Controllers/ProductionManagementController.cs
+++ b/VueWebApi/Controllers/ProductionManagementController.cs
@@ -8,6 +8,7 @@
using System.Net.Http;
using System.Web;
using System.Web.Http;
+using System.Web.Script.Serialization;
using VueWebApi.DLL.BLL;
using VueWebApi.Models;
using VueWebApi.Tools;
@@ -16,7 +17,7 @@
{
[RoutePrefix(prefix: "api/ProductionManagement")]
[ControllerGroup("鐢熶骇绠$悊", "鍦ㄧ嚎鎺ュ彛")]
- //[ChannelActionFilter]
+ [ChannelActionFilter]
public class ProductionManagementController : ApiController
{
//瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
@@ -183,6 +184,20 @@
public HttpResponseMessage SelectRouteStep(string routecode)
{
mes = ProductionManagementBLL.SelectRouteStep(routecode);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿]
+ /// <summary>
+ /// MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "AddMesOrderCodeSearch")]
+ [HttpPost]
+ public HttpResponseMessage AddMesOrderCodeSearch()
+ {
+ mes = ProductionManagementBLL.AddMesOrderCodeSearch();
return TJson.toJson(mes);
}
#endregion
@@ -489,6 +504,7 @@
string stepseq = obj["stepseq"].ToString(); //宸ュ簭搴忓彿
string stepcode = obj["stepcode"].ToString(); //宸ュ簭缂栫爜
string eqpcode = obj["eqpcode"].ToString(); //璁惧缂栫爜
+ string inbarcode = obj["inbarcode"].ToString(); //鍏ュ簱鏉$爜
string usergroupcode = obj["usergroupcode"].ToString(); //鐝粍缂栫爜
string reportuser = obj["reportuser"].ToString(); //鎶ュ伐浜哄憳
string taskqty = obj["taskqty"].ToString(); //浠诲姟鏁伴噺
@@ -498,7 +514,7 @@
string badcode = obj["badcode"].ToString(); //涓嶈壇鍘熷洜缂栫爜
string remarks = obj["remarks"].ToString(); //澶囨敞
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
- mes = ProductionManagementBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, eqpcode, usergroupcode, reportuser, taskqty, startqty, reportqty, ngqty, badcode, remarks, username);
+ mes = ProductionManagementBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, eqpcode, inbarcode, usergroupcode, reportuser, taskqty, startqty, reportqty, ngqty, badcode, remarks, username);
return TJson.toJson(mes);
}
#endregion
@@ -541,6 +557,7 @@
string partcode = obj["partcode"].ToString(); //浜у搧缂栫爜
string stepseq = obj["stepseq"].ToString(); //宸ュ簭搴忓彿
string stepcode = obj["stepcode"].ToString(); //宸ュ簭缂栫爜
+ string inbarcode = obj["inbarcode"].ToString(); //鍏ュ簱鏉$爜
string wxcode = obj["wxcode"].ToString(); //澶栧崗渚涘簲鍟嗙紪鐮�
string inuser = obj["inuser"].ToString(); //鏀舵枡浜哄憳
string taskqty = obj["taskqty"].ToString(); //浠诲姟鏁伴噺
@@ -549,7 +566,7 @@
string badcode = obj["badcode"].ToString(); //涓嶈壇鍘熷洜缂栫爜
string remarks = obj["remarks"].ToString(); //澶囨敞
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
- mes = ProductionManagementBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inuser, taskqty, sqty, ngqty, badcode, remarks, username);
+ mes = ProductionManagementBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inbarcode, inuser, taskqty, sqty, ngqty, badcode, remarks, username);
return TJson.toJson(mes);
}
#endregion
@@ -672,6 +689,11 @@
#endregion
#region[MES宸ュ崟鎵归噺鍏抽棴鎻愪氦]
+ /// <summary>
+ /// MES宸ュ崟鎵归噺鍏抽棴鎻愪氦
+ /// </summary>
+ /// <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ /// <returns></returns>
[Route(template: "MesOrderBitchClosedSeave")]
[HttpPost]
public HttpResponseMessage MesOrderBitchClosedSeave(DataTable dt)
@@ -683,5 +705,301 @@
}
#endregion
+ #region[MES宸ュ崟鎵归噺鍙嶅叧闂璢
+ /// <summary>
+ /// MES宸ュ崟鎵归噺鍙嶅叧闂�
+ /// </summary>
+ /// <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderBitchAntiClosedSeave")]
+ [HttpPost]
+ public HttpResponseMessage MesOrderBitchAntiClosedSeave(DataTable dt)
+ {
+
+ var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+ mes = ProductionManagementBLL.MesOrderBitchAntiClosedSeave(username, dt);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+
+ #region[浜ц兘瑙勫垝鏌ヨ]
+ /// <summary>
+ /// 浜ц兘瑙勫垝鏌ヨ
+ /// </summary>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">椤垫暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <param name="workshop">杞﹂棿缂栫爜</param>
+ /// <param name="devicetype">鐢熶骇鍗曞厓</param>
+ /// <param name="stustype">鏈夋晥鐘舵��</param>
+ /// <returns></returns>
+ [Route(template: "CapacityPlanningSearch")]
+ [HttpGet]
+ public HttpResponseMessage CapacityPlanningSearch(int page, int rows, string prop, string order,string workshop = null, string devicetype = null, string stustype = null)
+ {
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = ProductionManagementBLL.CapacityPlanningSearch(workshop, devicetype, stustype, startNum, endNum, prop, order);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[浜ц兘瑙勫垝榛樿鏂规淇濆瓨鎻愪氦]
+ /// <summary>
+ /// 浜ц兘瑙勫垝榛樿鏂规淇濆瓨鎻愪氦
+ /// </summary>
+ /// <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ /// <param name="capunitcode">鐢熶骇鍗曞厓缂栫爜</param>
+ /// <param name="capsetupcode">榛樿鏂规缂栫爜</param>
+ /// <param name="captplantype">璧勬簮绫诲瀷</param>
+ /// <returns></returns>
+ [Route(template: "CapacityPlanSubmit")]
+ [HttpPost]
+ public HttpResponseMessage CapacityPlanSubmit(string wkshopcode, string capunitcode,string captplanid=null,string capsetupcode=null,string captplantype=null)
+ {
+ string type = ""; //鎻愪氦绫诲瀷
+ if (captplanid == "" || captplanid == null)
+ {
+ type = "Add";
+ }
+ else
+ {
+ type = "Update";
+ }
+ var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+ mes = ProductionManagementBLL.CapacityPlanSubmit(type,captplanid,wkshopcode,capunitcode,capsetupcode, captplantype,username);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[浜ц兘瑙勫垝鐐瑰嚮鏃ュ巻缁勪欢鏌ユ壘宸插叧鑱旂殑鏃ユ湡鏂规]
+ /// <summary>
+ /// 浜ц兘瑙勫垝鐐瑰嚮鏃ュ巻缁勪欢鏌ユ壘宸插叧鑱旂殑鏃ユ湡鏂规
+ /// </summary>
+ /// <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ /// <returns></returns>
+ [Route(template: "CapacityPlanningCalendar")]
+ [HttpGet]
+ public HttpResponseMessage CapacityPlanningCalendar(string captplanid)
+ {
+ mes = ProductionManagementBLL.CapacityPlanningCalendar(captplanid);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[浜ц兘瑙勫垝鏃ュ巻鍙屽嚮鏃跺甫鍑哄搴旂殑鏂规]
+ /// <summary>
+ /// 浜ц兘瑙勫垝鏃ュ巻鍙屽嚮鏃跺甫鍑哄搴旂殑鏂规
+ /// </summary>
+ /// <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ /// <param name="datetime">鍙屽嚮閫変腑鐨勬棩鏈�</param>
+ /// <returns></returns>
+ [Route(template: "CapacityPlanningOnclickSelect")]
+ [HttpGet]
+ public HttpResponseMessage CapacityPlanningOnclickSelect(string captplanid,string datetime)
+ {
+ mes = ProductionManagementBLL.CapacityPlanningOnclickSelect(captplanid, datetime);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[浜ц兘瑙勫垝宸ヤ綔鏃ュ巻閫夋嫨鎻愪氦]
+ /// <summary>
+ /// 浜ц兘瑙勫垝宸ヤ綔鏃ュ巻閫夋嫨鎻愪氦
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "CapacityPlanningGivePlanSubmit")]
+ [HttpPost]
+ public HttpResponseMessage CapacityPlanningGivePlanSubmit()
+ {
+ string wkshopcode = HttpContext.Current.Request["wkshopcode"].ToString();//杞﹂棿缂栫爜
+ string capunitcode = HttpContext.Current.Request["capunitcode"].ToString();//鐢熶骇鍗曞厓缂栫爜
+ string captplanid = HttpContext.Current.Request["captplanid"].ToString(); //浜ц兘瑙勫垝(鐢熶骇璧勬簮)鍒楄〃id
+ string capsetupcode = HttpContext.Current.Request["capsetupcode"].ToString(); //榛樿鏂规缂栫爜
+ string captplantype = HttpContext.Current.Request["captplantype"].ToString(); //璧勬簮绫诲瀷
+ string worklist = HttpContext.Current.Request["worklist"].ToString(); //宸ヤ綔鏃ュ巻鏁版嵁闆�
+ JavaScriptSerializer Serializer = new JavaScriptSerializer();
+ List<CapaPlan> objs = Serializer.Deserialize<List<CapaPlan>>(worklist);
+ string type = ""; //鎻愪氦绫诲瀷
+ if (captplanid == "" || captplanid == null)
+ {
+ type = "Add";
+ }
+ else
+ {
+ type = "Update";
+ }
+ var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+ mes = ProductionManagementBLL.CapacityPlanningGivePlanSubmit(captplanid, wkshopcode, capunitcode, capsetupcode, captplantype, objs,type, username);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+
+ #region[鑷姩鎺掔▼宸ュ崟鏌ヨ]
+ /// <summary>
+ /// 鑷姩鎺掔▼宸ュ崟鏌ヨ
+ /// </summary>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <param name="workshop">杞﹂棿缂栫爜</param>
+ /// <param name="wocode">鐢熶骇宸ュ崟鍙�</param>
+ /// <param name="partcode">鐗╂枡缂栫爜</param>
+ /// <param name="partname">鐗╂枡鍚嶇О</param>
+ /// <returns></returns>
+ [Route(template: "AdvancedSchedulingSearch")]
+ [HttpGet]
+ public HttpResponseMessage AdvancedSchedulingSearch(int page, int rows, string prop, string order, string workshop = null, string wocode = null, string partcode = null,string partname=null)
+ {
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = ProductionManagementBLL.AdvancedSchedulingSearch(workshop, wocode, partcode, partname, startNum, endNum, prop, order);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[楂樼骇鎺掔▼鐐瑰嚮宸ュ崟浠诲姟甯﹀嚭鐡堕宸ュ簭璁惧銆佸凡鎺掔▼浠诲姟鏁版嵁]
+ /// <summary>
+ /// 楂樼骇鎺掔▼鐐瑰嚮宸ュ崟浠诲姟甯﹀嚭鐡堕宸ュ簭璁惧銆佸凡鎺掔▼浠诲姟鏁版嵁
+ /// </summary>
+ /// <param name="wocode">宸ュ崟缂栧彿</param>
+ /// <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ /// <param name="partcode">鐗╂枡缂栫爜</param>
+ /// <param name="botproccode">鐡堕宸ュ簭缂栫爜(棣栭亾宸ュ簭)</param>
+ /// <param name="startdate">寮�濮嬫棩鏈�</param>
+ /// <param name="enddate">缁撴潫鏃ユ湡</param>
+ /// <returns></returns>
+ [Route(template: "OnclickAdvancedSchedulingDevice")]
+ [HttpGet]
+ public HttpResponseMessage OnclickAdvancedSchedulingDevice(string wocode,string wkshpcode,string partcode,string botproccode,string startdate,string enddate)
+ {
+ List<AdvancedSchedulingDevice> list = new List<AdvancedSchedulingDevice>();
+ List<AdvancedSchedAlready> list1 = new List<AdvancedSchedAlready>();
+ list = ProductionManagementBLL.OnclickAdvancedSchedulingDevice(wocode, wkshpcode, partcode, startdate, enddate, ref mes); //鎺掍骇璁惧淇℃伅
+ DataTable dt = ProductionManagementBLL.AlreadyScheduling(wocode, wkshpcode, partcode, botproccode, startdate, enddate); //璁惧宸叉帓绋嬩俊鎭�
+
+ Dictionary<object, object> dList = new Dictionary<object, object>();
+ dList.Add("rus", mes);
+ dList.Add("rows", list);
+ dList.Add("Cont", dt);
+ return TJson.toJson(dList);
+ }
+ #endregion
+
+ #region[鎺掔▼鏁版嵁鎻愪氦]
+ /// <summary>
+ /// 鎺掔▼鏁版嵁鎻愪氦
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "SubmitAlreadyScheduling")]
+ [HttpPost]
+ public HttpResponseMessage SubmitAlreadyScheduling()
+ {
+ var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+ string wocode = HttpContext.Current.Request["wocode"].ToString();//宸ュ崟缂栧彿
+ string botprocecode = HttpContext.Current.Request["botprocecode"].ToString(); //鐡堕宸ュ簭缂栫爜
+ string json = HttpContext.Current.Request["json"].ToString(); //鎺掔▼鎻愪氦鏁版嵁
+ JavaScriptSerializer Serializer = new JavaScriptSerializer();
+ List<AlreadyScheduling> objs = Serializer.Deserialize<List<AlreadyScheduling>>(json);
+ mes = ProductionManagementBLL.SubmitAlreadyScheduling(username, wocode, botprocecode, objs);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+
+ #region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
+ /// <summary>
+ /// 鐢熶骇鍏ュ簱鏉$爜琛ユ墦
+ /// </summary>
+ /// <param name="ordercode">宸ュ崟缂栧彿</param>
+ /// <returns></returns>
+ [Route(template: "ProductInHouseLabCode")]
+ [HttpGet]
+ public HttpResponseMessage ProductInHouseLabCode(string ordercode)
+ {
+ mes = ProductionManagementBLL.ProductInHouseLabCode(ordercode);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇鍏ュ簱閫氳繃杞﹂棿鏌ユ壘鐢熶骇璁㈠崟]
+ /// <summary>
+ /// 鐢熶骇鍏ュ簱閫氳繃杞﹂棿鏌ユ壘鐢熶骇璁㈠崟
+ /// </summary>
+ /// <param name="ordertype">鍗曟嵁绫诲瀷</param>
+ /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ /// <returns></returns>
+ [Route(template: "ProductInHouseWkshopOrder")]
+ [HttpGet]
+ public HttpResponseMessage ProductInHouseWkshopOrder(string ordertype, string wkshopcode)
+ {
+ mes = ProductionManagementBLL.ProductInHouseWkshopOrder(ordertype, wkshopcode);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
+ /// <summary>
+ /// 鐢熶骇鍏ュ簱淇℃伅鏌ヨ
+ /// </summary>
+ /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ /// <param name="erpordercode">璁㈠崟缂栧彿</param>
+ /// <param name="mesordercode">宸ュ崟缂栧彿</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="orderdate">宸ュ崟鏃ユ湡</param>
+ /// <returns></returns>
+ [Route(template: "ProductInHouseOrderSearch")]
+ [HttpGet]
+ public HttpResponseMessage ProductInHouseOrderSearch(string wkshopcode, string erpordercode = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null, string orderdate = null)
+ {
+ string startorderdate = ""; //宸ュ崟寮�濮嬫椂闂�
+ string endorderdate = ""; //宸ュ崟缁撴潫鏃堕棿
+ if (orderdate != "" && orderdate != null)
+ {
+ startorderdate = orderdate.Split('~')[0].ToString();
+ endorderdate = orderdate.Split('~')[1].ToString();
+ }
+ mes = ProductionManagementBLL.ProductInHouseOrderSearch(wkshopcode, erpordercode, mesordercode, partcode, partname, partspec, startorderdate, endorderdate);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙穄
+ /// <summary>
+ /// 鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙�
+ /// </summary>
+ /// <param name="rightcode">鍔熻兘缂栫爜</param>
+ /// <returns></returns>
+ [Route(template: "ProductInHouseOrderCodeSearch")]
+ [HttpPost]
+ public HttpResponseMessage ProductInHouseOrderCodeSearch(string rightcode)
+ {
+ mes = ProductionManagementBLL.ProductInHouseOrderCodeSearch(rightcode);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇鍏ュ簱鎻愪氦]
+ /// <summary>
+ /// 鐢熶骇鍏ュ簱鎻愪氦
+ /// </summary>
+ /// <param name="obj">鏄庣粏鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "ProductInHouseOrderSeave")]
+ [HttpPost]
+ public HttpResponseMessage ProductInHouseOrderSeave([FromBody] JObject obj)
+ {
+ var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+ mes = ProductionManagementBLL.ProductInHouseOrderSeave(username, obj);
+ return TJson.toJson(mes);
+ }
+ #endregion
}
}
--
Gitblit v1.9.3