From 4e8bb8eaf8c6bb06cdb56c401ead036231651446 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 22 九月 2023 17:53:08 +0800
Subject: [PATCH] 1.工单派发、工单关闭、工单报工获取数据接口
---
VueWebCoreApi/Controllers/BasicSettingController.cs | 2
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs | 46 ++
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 566 +++++++++++++++++++++++++-
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs | 1
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs | 2
VueWebCoreApi/Controllers/WorkOrderController.cs | 136 ++++++
VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs | 4
VueWebCoreApi/Tools/ScanStartReport.cs | 490 ++++++++---------------
8 files changed, 895 insertions(+), 352 deletions(-)
diff --git a/VueWebCoreApi/Controllers/BasicSettingController.cs b/VueWebCoreApi/Controllers/BasicSettingController.cs
index ce1af13..53dc6bf 100644
--- a/VueWebCoreApi/Controllers/BasicSettingController.cs
+++ b/VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -825,5 +825,7 @@
return Json(mes);
}
#endregion
+
+
}
}
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
index 8f45224..84c4f34 100644
--- a/VueWebCoreApi/Controllers/WorkOrderController.cs
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -265,7 +265,20 @@
#region[MES宸ュ崟娲惧彂鎻愪氦]
-
+ /// <summary>
+ /// MES宸ュ崟娲惧彂鎻愪氦
+ /// </summary>
+ /// <param name="wocodelist">宸ュ崟鍙锋暟缁�</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderDistribution")]
+ [HttpPost]
+ public JsonResult MesOrderDistribution([FromBody] string[] wocodelist)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.MesOrderDistribution(wocodelist, us);
+ return Json(mes);
+ }
#endregion
@@ -305,15 +318,130 @@
/// <summary>
/// MES宸ュ崟鍏抽棴鎻愪氦
/// </summary>
- /// <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ /// <param name="wocodelist">宸ュ崟鍙锋暟缁�</param>
/// <returns></returns>
[Route(template: "MesOrderBitchClosedSeave")]
[HttpPost]
- public JsonResult MesOrderBitchClosedSeave(DataTable dt)
+ public JsonResult MesOrderBitchClosedSeave([FromBody] string[] wocodelist)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
- mes = WorkOrderBLL.MesOrderBitchClosedSeave(us, dt);
+ mes = WorkOrderBLL.MesOrderBitchClosedSeave(us, wocodelist);
+ return Json(mes);
+ }
+ #endregion
+
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
+ /// <summary>
+ /// 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)
+ /// </summary>
+ /// <param name="wocode">宸ュ崟鍙�</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderStepSearch")]
+ [HttpGet]
+ public JsonResult MesOrderStepSearch(string wocode = null, string partcode = null, string partname = null, string partspec = 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 = WorkOrderBLL.MesOrderStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
+ /// <summary>
+ /// 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)
+ /// </summary>
+ /// <param name="wocode">宸ュ崟鍙�</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderWxStepSearch")]
+ [HttpGet]
+ public JsonResult MesOrderWxStepSearch(string wocode = null, string partcode = null, string partname = null, string partspec = 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 = WorkOrderBLL.MesOrderWxStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
+ /// <summary>
+ /// 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)
+ /// </summary>
+ /// <param name="wocode">宸ュ崟鍙�</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderNgStepSearch")]
+ [HttpGet]
+ public JsonResult MesOrderNgStepSearch(string wocode = null, string partcode = null, string partname = null, string partspec = 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 = WorkOrderBLL.MesOrderNgStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)]
+ /// <summary>
+ /// 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)
+ /// </summary>
+ /// <param name="wocode">宸ュ崟鍙�</param>
+ /// <param name="stepcode">宸ュ簭缂栫爜</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderNgSubStepSearch")]
+ [HttpGet]
+ public JsonResult MesOrderNgSubStepSearch(string wocode,string stepcode)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.MesOrderNgSubStepSearch(wocode,stepcode);
+ return Json(mes);
+ }
+ #endregion
+
+ #region [鐢熶骇寮�鎶ュ伐锛氭姤宸�/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
+ /// <summary>
+ /// 鐢熶骇寮�鎶ュ伐锛氭姤宸�/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
+ /// </summary>
+ /// <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
+ /// <param name="SelectType">鎿嶄綔绫诲瀷锛氳嚜鍒�(浼犵┖)/澶栧崗(鍙戞枡鏍囪瘑(OUT)/鏀舵枡鏍囪瘑(IN))</param>
+ /// <param name="wocode">宸ュ崟缂栧彿</param>
+ /// <param name="stepcode">宸ュ簭缂栧彿</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderStepStart")]
+ [HttpGet]
+ public JsonResult MesOrderStepStart(string OperType,string SelectType, string wocode, string stepcode )
+ {
+ mes = WorkOrderBLL.MesOrderStepStart(OperType,SelectType, wocode, stepcode);
return Json(mes);
}
#endregion
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
index d495e36..c9cf080 100644
--- a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -86,6 +86,13 @@
#endregion
+ #region[MES宸ュ崟娲惧彂鎻愪氦]
+ public static ToMessage MesOrderDistribution(string[] wocodelist, User us)
+ {
+ return WorkOrderDAL.MesOrderDistribution(wocodelist, 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)
{
@@ -94,9 +101,44 @@
#endregion
#region[MES宸ュ崟鎵归噺鍏抽棴鎻愪氦]
- public static ToMessage MesOrderBitchClosedSeave(User us, DataTable dt)
+ public static ToMessage MesOrderBitchClosedSeave(User us, string[] wocodelist)
{
- return WorkOrderDAL.MesOrderBitchClosedSeave(us, dt);
+ return WorkOrderDAL.MesOrderBitchClosedSeave(us,wocodelist);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
+ public static ToMessage MesOrderStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
+ public static ToMessage MesOrderWxStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderWxStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
+ public static ToMessage MesOrderNgStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderNgStepSearch(wocode, partcode, partname, partspec, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)]
+ public static ToMessage MesOrderNgSubStepSearch(string wocode, string stepcode)
+ {
+ return WorkOrderDAL.MesOrderNgSubStepSearch(wocode, stepcode);
+ }
+ #endregion
+
+ #region [鐢熶骇寮�鎶ュ伐锛氭姤宸�/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
+ public static ToMessage MesOrderStepStart(string OperType, string SelectType, string wocode, string stepcode)
+ {
+ return WorkOrderDAL.MesOrderStepStart(OperType, SelectType, wocode, stepcode);
}
#endregion
}
diff --git a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
index e054667..2c934bc 100644
--- a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -3499,5 +3499,6 @@
return mes;
}
#endregion
+
}
}
diff --git a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
index b09d488..f3828f5 100644
--- a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -293,7 +293,7 @@
try
{
//鑾峰彇浠撳簱鏁版嵁
- sql = @"select stepcode,stepname from TStep";
+ sql = @"select stepcode,stepname from TStep where enable='Y'";
var data = DapperHelper.selecttable(sql);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
diff --git a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
index 6647b92..8db0dda 100644
--- a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
@@ -1468,10 +1468,10 @@
switch (OperType)
{
case "ZZ":
- mes = ScanStartReport.ZZEncodingSeach(stu_torgcode, ordercode, stepcode);
+ mes = ScanStartReport.ZZEncodingSeach(ordercode, stepcode);
break;
case "WX":
- mes = ScanStartReport.WXEncodingSeach(stu_torgcode, SelectType, ordercode, stepcode);
+ mes = ScanStartReport.WXEncodingSeach(SelectType, ordercode, stepcode);
break;
default:
break;
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 92d34aa..b9b4bb3 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -167,7 +167,7 @@
saleOrderCode = saleordercode,
saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
data_sources = "ERP",
- isstep="N" //鏄惁鍏宠仈宸ュ簭
+ isstep = "N" //鏄惁鍏宠仈宸ュ簭
}
});
sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
@@ -196,7 +196,7 @@
saleOrderCode = saleordercode,
saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
data_sources = "ERP",
- isstep= "N"//鏄惁鍏宠仈宸ュ簭
+ isstep = "N"//鏄惁鍏宠仈宸ュ簭
}
});
}
@@ -463,7 +463,7 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
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
+ 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,A.data_sources
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
@@ -600,23 +600,28 @@
#region[MES宸ュ崟缂栬緫鑾峰彇宸ュ簭鏁版嵁]
public static ToMessage UpdateMesOrderStepSearch(string sourceid, string sourcewo, string wocode, string data_sources)
{
- string sql = "";decimal canupdate_qty = 0;
+ 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";
+ //鏌ヨ璁㈠崟浠诲姟鎬绘暟
+ sql = @"select qty from TKimp_Ewo where id=@sourceid and wo=@sourcewo";
dynamicParams.Add("@sourceid", sourceid);
dynamicParams.Add("@sourcewo", sourcewo);
dynamicParams.Add("@wocode", wocode);
- var data = DapperHelper.selectdata(sql,dynamicParams);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ //鏌ヨ褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鎬绘暟-宸蹭笅杈惧伐鍗曟�绘暟
+ sql = @"select isnull(sum(plan_qty),0) as plan_qty from TK_Wrk_Man
+ where sourceid=@sourceid and m_po=@sourcewo and 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());
+ canupdate_qty = decimal.Parse(data0.Rows[0]["qty"].ToString()) - decimal.Parse(data.Rows[0]["plan_qty"].ToString());
}
if (data_sources == "MES") //鏁版嵁鏉ユ簮MES
{
@@ -673,7 +678,7 @@
{
//鍐欏叆宸ュ崟琛�
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)";
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@sourceid,@m_po,@saleOrderDeliveryDate,@orderlev,@isaps,@data_sources,@isstep)";
list.Add(new
{
str = sql,
@@ -687,13 +692,13 @@
lm_user = us.usercode,
lm_date = DateTime.Now.ToString(),
materiel_code = json.partcode,
- sourceid = json.sourceid==""?"NULL": json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ 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 //鏄惁鍏宠仈宸ュ簭
+ isstep = json.isstep //鏄惁鍏宠仈宸ュ簭
}
});
//鍐欏叆宸ュ簭浠诲姟琛�
@@ -714,8 +719,8 @@
status = json.wostatus,
isbott = json.WorkListSub[i].isbott,
isend = json.WorkListSub[i].isend,
- username = us.usercode,
- CreateDate = DateTime.Now.ToString()
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
}
});
}
@@ -750,14 +755,15 @@
{
wo_code = json.wocode,
wotype = json.wotype,
+ wkshp_code = json.wkshopcode,
plan_qty = json.woqty,
materiel_code = json.partcode,
- sourceid = json.sourceid == "" ? "NULL" : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ 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 //鏄惁鍏宠仈宸ュ簭
+ isstep = json.isstep //鏄惁鍏宠仈宸ュ簭
}
});
//鍒犻櫎宸ュ崟宸ュ簭琛�
@@ -788,8 +794,8 @@
status = json.wostatus,
isbott = json.WorkListSub[i].isbott,
isend = json.WorkListSub[i].isend,
- username = us.usercode,
- CreateDate = DateTime.Now.ToString()
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
}
});
}
@@ -882,7 +888,7 @@
if (aa)
{
//鍐欏叆鎿嶄綔璁板綍琛�
- LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗伐鍗�:" +wocode, us.usertype);
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗伐鍗�:" + wocode, us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "鍒犻櫎鎴愬姛!";
@@ -908,6 +914,66 @@
#endregion
+ #region[MES宸ュ崟娲惧彂鎻愪氦]
+ public static ToMessage MesOrderDistribution(string[] wocodelist, User us)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ try
+ {
+ //鏇存柊宸ュ崟琛ㄧ姸鎬�
+ sql = @"update TK_Wrk_Man set status=@status where wo_code in @wocode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wocode = wocodelist,
+ status = "ALLO"
+ }
+ });
+ //鏇存柊宸ュ簭浠诲姟琛ㄧ姸鎬�
+ sql = @"update TK_Wrk_Step set status=@status where wo_code in @wocode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wocode = wocodelist,
+ status = "ALLO"
+ }
+ });
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "娲惧彂", "娲惧彂浜嗗伐鍗�:" + string.Join(",", wocodelist), 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[宸ュ崟鍏抽棴鍒楄〃鏌ヨ]
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)
{
@@ -918,7 +984,7 @@
if (mesorderstus == "宸插叧闂�")
{
search += "and A.status=@mesorderstus ";
- dynamicParams.Add("@mesorderstus","CLOSED");
+ dynamicParams.Add("@mesorderstus", "CLOSED");
}
if (mesorderstus == "鏈叧闂�")
{
@@ -1005,7 +1071,7 @@
#endregion
#region[MES宸ュ崟鎵归噺鍏抽棴鎻愪氦]
- public static ToMessage MesOrderBitchClosedSeave(User us, DataTable dt)
+ public static ToMessage MesOrderBitchClosedSeave(User us, string[] wocodelist)
{
var sql = "";
List<object> list = new List<object>();
@@ -1015,15 +1081,17 @@
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_Step set status='CLOSED' where wo_code in @wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocodelist } });
//鍥炲啓宸ュ崟琛ㄧ姸鎬佷负(鍏抽棴)
- 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() } });
+ sql = @"update TK_Wrk_Man set status='CLOSED',closeuser=@username,closedate=@closedate where wo_code in @wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocodelist, username = us.usercode, closedate = DateTime.Now.ToString() } });
}
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍏抽棴", "鍏抽棴浜嗗伐鍗�:" + string.Join(",", wocodelist), us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "宸ュ崟鍏抽棴鎴愬姛!";
@@ -1047,5 +1115,451 @@
return mes;
}
#endregion
+
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
+ public static ToMessage MesOrderStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ var sql = "";
+ string search = "";
+ string ordercode = "";
+ string stepcode = "";
+ var dynamicParams = new DynamicParameters();
+ var total = 0; //鎬绘潯鏁�
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ string[] arra = wocode.Split(';');
+ if (arra.Length == 1) //宸ュ崟鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+ if (arra.Length == 2) //宸ュ崟鍙�+宸ュ簭鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+
+ if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ }
+ if (ordercode != "" && stepcode != "") //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂笉涓虹┖
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ search += "and S.stepcode=@stepcode ";
+ dynamicParams.Add("@stepcode", stepcode);
+ }
+ }
+ if (stepcode != "")
+ {
+ //鏌ユ壘褰撳墠宸ュ簭灞炴��
+ sql = @"select * from TStep where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", stepcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "W")
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭浠诲姟涓哄鍗忓伐搴忎换鍔�,璇峰墠寰�澶栧崗鎿嶄綔椤电鎵ц!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
+ sql = @"select A.status,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
+ from TK_Wrk_Step A
+ left join TK_Wrk_Man B on A.wo_code=B.wo_code
+ left join TMateriel_Info M on B.materiel_code=M.partcode
+ left join TStep S on A.step_code=S.stepcode
+ where A.status in('ALLO','START') and S.flwtype='Z' " + search;
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ if (data.ToList().Count > 0)
+ {
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鏃犲彲鎵ц鐨勭敓浜т换鍔�,浠诲姟宸插畬鎴愭垨宸插叧闂�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
+ public static ToMessage MesOrderWxStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ var sql = "";
+ string search = "";
+ string ordercode = "";
+ string stepcode = "";
+ var dynamicParams = new DynamicParameters();
+ var total = 0; //鎬绘潯鏁�
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ string[] arra = wocode.Split(';');
+ if (arra.Length == 1) //宸ュ崟鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+ if (arra.Length == 2) //宸ュ崟鍙�+宸ュ簭鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+
+ if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ }
+ if (ordercode != "" && stepcode != "") //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂笉涓虹┖
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ search += "and S.stepcode=@stepcode ";
+ dynamicParams.Add("@stepcode", stepcode);
+ }
+ }
+ if (stepcode != "")
+ {
+ //鏌ユ壘褰撳墠宸ュ簭灞炴��
+ sql = @"select * from TStep where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", stepcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭浠诲姟涓鸿嚜鍒跺伐搴忎换鍔�,璇峰墠寰�鑷埗鎿嶄綔椤电鎵ц!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
+ sql = @"select A.status,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
+ from TK_Wrk_Step A
+ left join TK_Wrk_Man B on A.wo_code=B.wo_code
+ left join TMateriel_Info M on B.materiel_code=M.partcode
+ left join TStep S on A.step_code=S.stepcode
+ where A.status in('ALLO','START') and S.flwtype='W' " + search;
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ if (data.ToList().Count > 0)
+ {
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鏃犲彲鎵ц鐨勭敓浜т换鍔�,浠诲姟宸插畬鎴愭垨宸插叧闂�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
+ public static ToMessage MesOrderNgStepSearch(string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ {
+ var sql = "";
+ string search = "";
+ string ordercode = "";
+ string stepcode = "";
+ var dynamicParams = new DynamicParameters();
+ var total = 0; //鎬绘潯鏁�
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ string[] arra = wocode.Split(';');
+ if (arra.Length == 1) //宸ュ崟鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+ if (arra.Length == 2) //宸ュ崟鍙�+宸ュ簭鍙蜂簩缁寸爜
+ {
+ ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+ }
+
+ if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ }
+ if (ordercode != "" && stepcode != "") //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂笉涓虹┖
+ {
+ search += "and A.wo_code=@ordercode ";
+ dynamicParams.Add("@ordercode", ordercode);
+ search += "and S.stepcode=@stepcode ";
+ dynamicParams.Add("@stepcode", stepcode);
+ }
+ }
+ if (stepcode != "")
+ {
+ //鏌ユ壘褰撳墠宸ュ簭浠诲姟
+ sql = @"select * from TK_Wrk_Step where step_code=@stepcode and wo_code=@ordercode";
+ dynamicParams.Add("@stepcode", stepcode);
+ dynamicParams.Add("@ordercode", ordercode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count <= 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭浠诲姟涓嶅瓨鍦�,鏃犳晥鏉$爜!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
+ sql = @"select A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
+ S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
+ from TK_Wrk_Step A
+ left join TK_Wrk_Man B on A.wo_code=B.wo_code
+ left join TMateriel_Info M on B.materiel_code=M.partcode
+ left join TStep S on A.step_code=S.stepcode
+ where A.status in('ALLO','START') and A.ng_qty>0 " + search;
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ if (data.ToList().Count > 0)
+ {
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鏃犲彲鎵ц鐨勭敓浜т换鍔�,浠诲姟宸插畬鎴愭垨宸插叧闂�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)]
+ public static ToMessage MesOrderNgSubStepSearch(string wocode, string stepcode)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ var dynamicParams1 = new DynamicParameters();
+ Dictionary<string, object> list = new Dictionary<string, object>();
+ ScanStartReportData rt = new ScanStartReportData();
+ try
+ {
+ //1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
+ sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,
+ A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,A.isbott,A.isend
+ from TK_Wrk_Step A
+ left join TStep T on A.step_code=T.stepcode
+ left join TK_Wrk_Man M on A.wo_code=M.wo_code
+ left join TMateriel_Info P on M.materiel_code=P.partcode
+ where A.wo_code=@ordercode and A.step_code=@stepcode";
+ dynamicParams.Add("@ordercode", wocode);
+ dynamicParams.Add("@stepcode", stepcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ rt.wo_code = data.Rows[0]["wo_code"].ToString(); //宸ュ崟鍙�
+ rt.partnumber = data.Rows[0]["partcode"].ToString(); //浜у搧缂栫爜
+ rt.partname = data.Rows[0]["partname"].ToString(); //浜у搧鍚嶇О
+ rt.partspec = data.Rows[0]["partspec"].ToString(); //浜у搧瑙勬牸
+ rt.stepcode = data.Rows[0]["stepcode"].ToString(); //宸ュ簭缂栫爜
+ rt.stepname = data.Rows[0]["stepname"].ToString(); //宸ュ簭鍚嶇О
+ rt.stepdesc = data.Rows[0]["descr"].ToString(); //宸ュ簭鎻忚堪
+ rt.planqty = decimal.Parse(data.Rows[0]["plan_qty"].ToString()); //浠诲姟鏁伴噺
+ rt.noreportqty = decimal.Parse(data.Rows[0]["good_qty"].ToString()); //鎶ュ伐鏁伴噺
+ rt.noputqty = decimal.Parse(data.Rows[0]["ng_qty"].ToString()); //涓嶈壇鏁伴噺
+ string isend = data.Rows[0]["isend"].ToString();//鏈亾宸ュ簭
+ rt.seq = data.Rows[0]["seq"].ToString();//宸ュ簭搴忓彿
+
+ //鑾峰彇褰撳墠宸ュ簭涓嬮亾宸ュ簭
+ sql = @"select A.isbott,A.isend,T.stepcode,T.stepname from TK_Wrk_Step A
+ left join TStep T on A.step_code=T.stepcode
+ where A.wo_code=@ordercode and A.seq=@seq+1 ";
+ dynamicParams.Add("@ordercode", wocode);
+ dynamicParams.Add("@seq", decimal.Parse(data.Rows[0]["seq"].ToString()));
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0) //鏈変笅閬撳伐搴�
+ {
+ rt.nextstepcode = dt0.Rows[0]["stepcode"].ToString();//涓嬮亾宸ュ簭缂栫爜
+ rt.nextstepname = dt0.Rows[0]["stepname"].ToString();//涓嬮亾宸ュ簭鍚嶇О
+ }
+ if (isend == "Y") //褰撳墠宸ュ簭鏄湯閬撳伐搴�
+ {
+ rt.nextstepcode = "";//璧嬬┖
+ rt.nextstepname = "";//璧嬬┖
+ }
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭浠诲姟涓嶅瓨鍦�!";
+ mes.data = null;
+ return mes;
+ }
+ //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭鎶ュ伐(鏀舵枡)璁板綍,涓斾笉鑹暟閲忓ぇ浜�0
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_MesReportDefectHandleSelect";
+ dynamicParams1.Add("@ordercode", wocode);
+ dynamicParams1.Add("@stepcode", stepcode);
+ DataTable dt = DapperHelper.selectProcedure(sql, dynamicParams1);
+ if (dt.Rows.Count > 0)
+ {
+ list.Add("data1", rt);
+ list.Add("data2", dt);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = list;
+ }
+ 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 MesOrderStepStart(string OperType, string SelectType, string wocode, string stepcode)
+ {
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ switch (OperType)
+ {
+ case "ZZ":
+ mes = ScanStartReport.ZZEncodingSeach(wocode, stepcode);
+ break;
+ case "WX":
+ mes = ScanStartReport.WXEncodingSeach(SelectType, stepcode, stepcode);
+ break;
+ default:
+ break;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
}
}
diff --git a/VueWebCoreApi/Tools/ScanStartReport.cs b/VueWebCoreApi/Tools/ScanStartReport.cs
index 79e42c5..05f841d 100644
--- a/VueWebCoreApi/Tools/ScanStartReport.cs
+++ b/VueWebCoreApi/Tools/ScanStartReport.cs
@@ -17,11 +17,10 @@
/// <summary>
/// 鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
/// </summary>
- /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
/// <param name="ordercode">宸ュ崟缂栧彿</param>
/// <param name="stepcode">宸ュ簭缂栫爜</param>
/// <returns></returns>
- public static ToMessage ZZEncodingSeach(string stu_torgcode, string ordercode, string stepcode)
+ public static ToMessage ZZEncodingSeach(string ordercode, string stepcode)
{
var sql = "";
string flwtype = ""; //宸ュ簭灞炴��
@@ -34,29 +33,14 @@
try
{
//鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
- sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and status='CLOSED'";
dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
var da0 = DapperHelper.selectdata(sql, dynamicParams);
- if (da0.Rows.Count > 0)
+ if (da0.Rows.Count > 0)
{
mes.code = "300";
mes.count = 0;
mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
- mes.data = null;
- return mes;
- }
-
- //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
- sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- var da1 = DapperHelper.selectdata(sql, dynamicParams);
- if (da1.Rows.Count<=0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
mes.data = null;
return mes;
}
@@ -74,7 +58,7 @@
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
- rt.wkshopcode= data.Rows[0]["org_code"].ToString(); //杞﹂棿缂栫爜
+ rt.wkshopcode = data.Rows[0]["org_code"].ToString(); //杞﹂棿缂栫爜
rt.wkshopname = data.Rows[0]["org_name"].ToString(); //杞﹂棿鍚嶇О
rt.wo_code = data.Rows[0]["WO_CODE"].ToString(); //宸ュ崟鍙�
rt.partnumber = data.Rows[0]["PARTCODE"].ToString(); //浜у搧缂栫爜
@@ -112,7 +96,7 @@
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠鎵爜宸ュ簭浠诲姟涓嶅瓨鍦�!";
+ mes.Message = "褰撳墠宸ュ簭浠诲姟涓嶅瓨鍦�!";
mes.data = null;
return mes;
}
@@ -121,264 +105,146 @@
case "Z": //鑷埗宸ュ簭
if (isbott == "Y") //棣栭亾宸ュ簭
{
- //1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�
- sql = @"select * from TK_Wrk_Record R
- left join TEqpInfo E on R.eqp_code=E.code
- where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
+ //棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夋姤宸ヨ褰�
+ sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
- var data0 = DapperHelper.selectdata(sql, dynamicParams);
- if (data0.Rows.Count > 0) //鏈夊紑宸ヨ褰�
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count > 0)
{
- //棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夋姤宸ヨ褰�
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", stepcode);
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- if (data1.Rows.Count > 0)
+ decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鎶ュ伐鎬绘暟閲�
+ decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //涓嶈壇鏁伴噺
+ decimal laborbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //宸ュ簾鏁伴噺
+ decimal materielbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏂欏簾鏁伴噺
+ //鍓╀綑鍙姤宸ユ暟閲�=浠诲姟鏁伴噺-(鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+宸ュ簾搴熸暟閲�+鏂欏簾鏁伴噺)
+ decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty + laborbad_qty + materielbad_qty);
+ if (kbqty <= 0)//鏃犲彲鎶ュ伐鏁伴噺
{
- decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鎶ュ伐鎬绘暟閲�
- decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //涓嶈壇鏁伴噺
- decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鎶ュ簾鏁伴噺
-
- decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty+bad_qty); //鍓╀綑鍙姤宸ユ暟閲�=浠诲姟鏁伴噺-(鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+鎶ュ簾鏁伴噺)
- if (kbqty <= 0)//鏃犲彲鎶ュ伐鏁伴噺
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭鏃犲彲鎶ュ伐鏁伴噺!";
- mes.data = null;
- return mes;
- }
- else
- {
- rt.eqpcode = data0.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data0.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
- rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //寮�宸ユ暟閲�=浠诲姟鏁伴噺
- rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty- ng_qty-bad_qty; //鏈姤鏁伴噺=浠诲姟鏁伴噺-宸叉姤鏁伴噺-涓嶈壇鏁伴噺-鎶ュ簾鏁伴噺
- rt.reportqty = good_qty + ng_qty+bad_qty; //宸叉姤鏁伴噺=鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+鎶ュ簾鏁伴噺
- mes.code = "200";
- mes.count = 1;
- mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
- mes.data = rt;
- }
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭鏃犲彲鎶ュ伐鏁伴噺!";
+ mes.data = null;
+ return mes;
}
else
{
- rt.eqpcode = data0.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data0.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //寮�宸ユ暟閲�
- rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //鏈姤鏁伴噺
- rt.reportqty = 0; //宸叉姤鏁伴噺
+ rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty - ng_qty - laborbad_qty - materielbad_qty; //鏈姤鏁伴噺=浠诲姟鏁伴噺-宸叉姤鏁伴噺-涓嶈壇鏁伴噺-宸ュ簾鏁伴噺-鏂欏簾鏁伴噺
+ rt.reportqty = good_qty + ng_qty + laborbad_qty+ materielbad_qty; //宸叉姤鏁伴噺=鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+宸ュ簾鏁伴噺+鏂欏簾鏁伴噺
mes.code = "200";
mes.count = 1;
- mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
+ mes.Message = "鏌ユ壘鎴愬姛!";
mes.data = rt;
}
}
else
{
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //寮�宸ユ暟閲�
rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //鏈姤鏁伴噺
rt.reportqty = 0; //宸叉姤鏁伴噺
mes.code = "200";
- mes.count = 0;
- mes.Message = "寮圭獥寮�宸ョ晫闈�!";
+ mes.count = 1;
+ mes.Message = "鏌ユ壘鎴愬姛!";
mes.data = rt;
}
+
}
else //闈為閬撳伐搴�
{
//鏌ユ壘褰撳墠宸ュ簭涓婂埌宸ュ簭(鑷埗鎴栬�呭鍗�)
- sql = @"select A.step_code,S.stepname,S.flwtype from TFlw_Rtdt A
- left join TK_Wrk_Man M on A.rout_code=M.route_code
- left join TStep S on A.step_code=S.stepcode
- where M.wo_code=@wocode and A.seq=@seq-1";
+ sql = @"select A.step_code,S.stepname,S.flwtype from TK_Wrk_Step A
+ left join TStep S on A.step_code=S.stepcode
+ where A.wo_code=@wocode and A.seq=@seq-1";
dynamicParams.Add("@wocode", data.Rows[0]["WO_CODE"].ToString());
dynamicParams.Add("@seq", decimal.Parse(data.Rows[0]["SEQ"].ToString()));
var data0 = DapperHelper.selectdata(sql, dynamicParams);
if (data0.Rows.Count > 0)
{
- //1.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁寮�宸ヨ褰�
- sql = @"select * from TK_Wrk_Record R
- left join TEqpInfo E on R.eqp_code=E.code
- where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
+ //闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁鎶ュ伐璁板綍
+ sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- if (data1.Rows.Count > 0)//鏈亾鏈夊紑宸ヨ褰�
+ var data2 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data2.Rows.Count > 0) //鏈夋姤宸ヨ褰�
{
- //闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁鎶ュ伐璁板綍
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", stepcode);
- var data2 = DapperHelper.selectdata(sql, dynamicParams);
- if (data2.Rows.Count > 0) //鏈夋姤宸ヨ褰�
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細鑷埗宸ュ簭
{
- if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細鑷埗宸ュ簭
+ //鏌ユ壘涓婂埌宸ュ簭鎶ュ伐璁板綍
+ sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
{
- //鏌ユ壘涓婂埌宸ュ簭鎶ュ伐璁板綍
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data3 = DapperHelper.selectdata(sql, dynamicParams);
- if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
- {
- decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //涓婇亾鎶ュ伐鎬绘暟閲�
- decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
- decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //鏈亾涓嶈壇鎬绘暟閲�
- decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎬绘姤搴熸暟閲�
-
- decimal sybqty = sgood_qty - good_qty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾鎶ュ簾鎬绘暟
- if (sybqty <= 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + "鏃犲彲鎶ユ暟閲�!";
- mes.data = null;
- return mes;
- }
- else
- {
- if (sgood_qty == null || sgood_qty == 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
- mes.data = null;
- return mes;
- }
- rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
- rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.reportqty = good_qty + ng_qty+bad_qty; //宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾鎶ュ簾鎬绘暟
- mes.code = "200";
- mes.count = 1;
- mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
- mes.data = rt;
- }
- }
- else
+ decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //涓婇亾鎶ュ伐鎬绘暟閲�
+ decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
+ decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //鏈亾涓嶈壇鎬绘暟閲�
+ decimal laborbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾鎬诲伐搴熸暟閲�
+ decimal materielbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鎬绘枡搴熸暟閲�
+ //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾宸ュ簾鎬绘暟-鏈亾鏂欏簾鎬绘暟
+ decimal sybqty = sgood_qty - good_qty - ng_qty - laborbad_qty- materielbad_qty;
+ if (sybqty <= 0)
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + "鏃犲彲鎶ユ暟閲�!";
mes.data = null;
return mes;
- }
- }
- if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細濮斿宸ュ簭
- {
- //鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data3 = DapperHelper.selectdata(sql, dynamicParams);
- if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
- {
- decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum(); //涓婇亾鏀舵枡鏁伴噺
- decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
- decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //鏈亾涓嶈壇鎬绘暟閲�
- decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎬绘姤搴熸暟閲�
-
- decimal sybqty = sqty - good_qty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鏀舵枡鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾鎬绘姤搴熸暟
- if (sybqty <= 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + "鏃犲彲鎶ユ暟閲�!";
- mes.data = null;
- return mes;
- }
- else
- {
- if (sqty == null || sqty == 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
- mes.data = null;
- return mes;
- }
- rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
- rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.reportqty = good_qty + ng_qty+bad_qty; //宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾鎬绘姤搴熸暟
- mes.code = "200";
- mes.count = 1;
- mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
- mes.data = rt;
- }
}
else
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈敹鏂�,鏈亾涓嶅厑璁稿紑鎶ュ伐,璇峰墠寰�澶栧崗鎿嶄綔椤垫墽琛�!";
- mes.data = null;
- return mes;
- }
- }
- }
- else //鏈亾鏃犳姤宸ヨ褰�
- {
- if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鑷埗宸ュ簭
- {
- //鏌ユ壘涓婂埌宸ュ簭鎶ュ伐璁板綍
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data3 = DapperHelper.selectdata(sql, dynamicParams);
- if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
- {
- decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //涓婇亾鎶ュ伐鎬绘暟閲�
- decimal sybqty = sgood_qty; //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
if (sgood_qty == null || sgood_qty == 0)
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁告姤宸�!";
mes.data = null;
return mes;
}
- rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
- rt.reportqty = 0; //宸叉姤鏁伴噺
+ rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
+ rt.reportqty = good_qty + ng_qty + laborbad_qty+ materielbad_qty;//宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾宸ュ簾鎬绘暟+鏈亾鏂欏簾鎬绘暟
mes.code = "200";
mes.count = 1;
mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
mes.data = rt;
}
- else
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁告姤宸�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細濮斿宸ュ簭
+ {
+ //鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
+ sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
+ {
+ decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum(); //涓婇亾鏀舵枡鏁伴噺
+ decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
+ decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum(); //鏈亾涓嶈壇鎬绘暟閲�
+ decimal laborbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾鎬诲伐搴熸暟閲�
+ decimal materielbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鎬绘枡搴熸暟閲�
+ //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鏀舵枡鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾鎬诲伐搴熸暟閲�-鏈亾鎬绘枡搴熸暟閲�
+ decimal sybqty = sqty - good_qty - ng_qty - laborbad_qty- materielbad_qty;
+ if (sybqty <= 0)
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + "鏃犲彲鎶ユ暟閲�!";
mes.data = null;
return mes;
}
- }
- if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //濮斿宸ュ簭
- {
- //鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data3 = DapperHelper.selectdata(sql, dynamicParams);
- if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
+ else
{
- decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
- decimal sybqty = sqty; //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
if (sqty == null || sqty == 0)
{
mes.code = "300";
@@ -387,29 +253,26 @@
mes.data = null;
return mes;
}
- rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
- rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙敹鏁伴噺
- rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙敹鏁伴噺
- rt.reportqty = 0; //宸叉姤鏁伴噺
+ rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
+ rt.reportqty = good_qty + ng_qty + laborbad_qty+materielbad_qty; //宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾鎬诲伐搴熸暟+鏈亾鎬绘枡搴熸暟
mes.code = "200";
mes.count = 1;
- mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
+ mes.Message = "鏌ユ壘鎴愬姛!";
mes.data = rt;
}
- else
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈敹鏂�,鏈亾涓嶅厑璁稿紑鎶ュ伐,璇峰墠寰�澶栧崗鎿嶄綔椤垫墽琛�!";
- mes.data = null;
- return mes;
- }
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈敹鏂�,鏈亾涓嶅厑璁稿紑鎶ュ伐,璇峰墠寰�澶栧崗鎿嶄綔椤垫墽琛�!";
+ mes.data = null;
+ return mes;
}
}
}
- else //鏃犲紑宸ヨ褰�
+ else //鏈亾鏃犳姤宸ヨ褰�
{
if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鑷埗宸ュ簭
{
@@ -417,13 +280,12 @@
sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data2 = DapperHelper.selectdata(sql, dynamicParams);
- if (data2.Rows.Count > 0) //涓婂埌宸ュ簭鏈夋姤宸�
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
{
- decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();//鎶ュ伐鏁伴噺
- decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
- decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
- if (good_qty == null || good_qty == 0)
+ decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //涓婇亾鎶ュ伐鎬绘暟閲�
+ decimal sybqty = sgood_qty; //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
+ if (sgood_qty == null || sgood_qty == 0)
{
mes.code = "300";
mes.count = 0;
@@ -431,36 +293,34 @@
mes.data = null;
return mes;
}
- rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = good_qty; //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
- rt.noreportqty = good_qty; //鏈姤鏁伴噺=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
- rt.reportqty = 0; //宸叉姤鏁伴噺
+ rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
+ rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
+ rt.reportqty = 0; //宸叉姤鏁伴噺
mes.code = "200";
- mes.count = 0;
- mes.Message = "寮圭獥寮�宸ョ晫闈�!";
+ mes.count = 1;
+ mes.Message = "鏌ユ壘鎴愬姛!";
mes.data = rt;
}
else
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁告姤宸�!";
mes.data = null;
return mes;
}
}
if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //濮斿宸ュ簭
{
- //鏌ユ壘涓婇亾宸ュ簭澶栧崗鏀舵枡璁板綍
+ //鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", data0.Rows[0]["STEP_CODE"].ToString());
- var data2 = DapperHelper.selectdata(sql, dynamicParams);
- if (data2.Rows.Count > 0) //涓婇亾宸ュ簭鏈夋敹鏂�
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
{
- decimal sqty = data2.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏀舵枡鏁伴噺
- decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
- decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
+ decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
+ decimal sybqty = sqty; //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
if (sqty == null || sqty == 0)
{
mes.code = "300";
@@ -469,20 +329,19 @@
mes.data = null;
return mes;
}
- rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = sqty; //寮�宸ユ暟閲�=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
- rt.noreportqty = sqty; //鏈姤鏁伴噺=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
- rt.reportqty = 0; //宸叉姤鏁伴噺
+ rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
+ rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙敹鏁伴噺
+ rt.reportqty = 0; //宸叉姤鏁伴噺
mes.code = "200";
- mes.count = 0;
- mes.Message = "寮圭獥寮�宸ョ晫闈�!";
+ mes.count = 1;
+ mes.Message = "鏌ユ壘鎴愬姛!";
mes.data = rt;
}
else
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈敹鏂�,鏈亾涓嶅厑璁稿紑鎶ュ伐,璇峰墠寰�澶栧崗鎿嶄綔椤垫墽琛�!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈敹鏂�,鏈亾涓嶅厑璁告姤宸�,璇峰墠寰�澶栧崗鎿嶄綔椤垫墽琛�!";
mes.data = null;
return mes;
}
@@ -503,7 +362,7 @@
case "W": //澶栧崗宸ュ簭
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠鏍囩涓哄鍗忔爣绛�,璇峰墠寰�澶栧崗鎿嶄綔鏍囩椤垫壂鐮�!";
+ mes.Message = "褰撳墠宸ュ崟宸ュ簭浠诲姟涓哄鍗�,璇峰墠寰�澶栧崗鎿嶄綔鏍囩椤垫搷浣�!";
mes.data = null;
break;
default: //鑷埗+澶栧崗宸ュ簭
@@ -527,12 +386,11 @@
/// <summary>
/// 鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
/// </summary>
- /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
/// <param name="SelectType">鎿嶄綔绫诲瀷</param>
/// <param name="ordercode">宸ュ崟缂栧彿</param>
/// <param name="stepcode">宸ュ簭缂栫爜</param>
/// <returns></returns>
- public static ToMessage WXEncodingSeach(string stu_torgcode, string SelectType, string ordercode, string stepcode)
+ public static ToMessage WXEncodingSeach(string SelectType, string ordercode, string stepcode)
{
var sql = "";
string flwtype = ""; //宸ュ簭灞炴��
@@ -545,29 +403,14 @@
try
{
//鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
- sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and status='CLOSED'";
dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
var da0 = DapperHelper.selectdata(sql, dynamicParams);
if (da0.Rows.Count > 0)
{
mes.code = "300";
mes.count = 0;
mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
- mes.data = null;
- return mes;
- }
-
- //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
- sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
- dynamicParams.Add("@ordercode", ordercode);
- dynamicParams.Add("@stu_torgcode", stu_torgcode);
- var da1 = DapperHelper.selectdata(sql, dynamicParams);
- if (da1.Rows.Count <= 0)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
mes.data = null;
return mes;
}
@@ -651,9 +494,10 @@
if (data0.Rows.Count > 0) //鏈夊彂鏂欒褰�
{
decimal fqty = data0.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum(); //鍙戞枡鏁伴噺
- decimal ng_qty =data0.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
- decimal bad_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鎶ュ簾鏁伴噺
- decimal kfqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - fqty - ng_qty- bad_qty; //鍓╀綑鍙彂鏁伴噺
+ decimal ng_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
+ decimal laborbad_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //宸ュ簾鏁伴噺
+ decimal materielbad_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏂欏簾鏁伴噺
+ decimal kfqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - fqty - ng_qty - laborbad_qty-materielbad_qty; //鍓╀綑鍙彂鏁伴噺
if (kfqty <= 0)
{
mes.code = "300";
@@ -670,7 +514,7 @@
rt.startqty = kfqty; //鍙戞枡鏁伴噺=鍓╀綑鍙彂鏁伴噺
mes.code = "200";
mes.count = 2;
- mes.Message = "寮圭獥鍙戞枡鐣岄潰!";
+ mes.Message = "鏌ヨ鎴愬姛!";
mes.data = rt;
}
}
@@ -689,10 +533,9 @@
else //闈為閬�
{
//鏌ユ壘褰撳墠宸ュ簭涓婂埌宸ュ簭(鑷埗鎴栬�呭鍗�)
- sql = @"select A.step_code,S.stepname,S.flwtype from TFlw_Rtdt A
- left join TK_Wrk_Man M on A.rout_code=M.route_code
- left join TStep S on A.step_code=S.stepcode
- where M.wo_code=@wocode and A.seq=@seq-1";
+ sql = @"select A.step_code,S.stepname,S.flwtype from TK_Wrk_Step A
+ left join TStep S on A.step_code=S.stepcode
+ where A.wo_code=@wocode and A.seq=@seq-1";
dynamicParams.Add("@wocode", data.Rows[0]["WO_CODE"].ToString());
dynamicParams.Add("@seq", decimal.Parse(data.Rows[0]["SEQ"].ToString()));
var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -719,9 +562,10 @@
decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 鏈亾涓嶈壇鏁伴噺
- decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎶ュ簾鏁伴噺
-
- decimal sybqty =sgood_qty - sqty - ng_qty- bad_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
+ decimal laborbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾宸ュ簾鏁伴噺
+ decimal materielbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鏂欏簾鏁伴噺
+ //鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾宸ュ簾鏁伴噺-鏈亾鏂欏簾鏁伴噺
+ decimal sybqty = sgood_qty - sqty - ng_qty - laborbad_qty- materielbad_qty;
if (sybqty <= 0)
{
mes.code = "300";
@@ -742,7 +586,7 @@
}
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
- rt.reportqty = sqty + ng_qty+bad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺
+ rt.reportqty = sqty + ng_qty + laborbad_qty+ materielbad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾宸ュ簾鏁伴噺+鏈亾鏂欏簾鏁伴噺
rt.startqty = sybqty; //鏀舵枡鏁伴噺=鍓╀綑鍙彂鏁伴噺
mes.code = "200";
@@ -772,9 +616,10 @@
decimal ssqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 鏈亾涓嶈壇鏁伴噺
- decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎶ュ簾鏁伴噺
-
- decimal sybqty = ssqty - sqty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鏀舵枡鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
+ decimal laborbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾宸ュ簾鏁伴噺
+ decimal materielbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鏂欏簾鏁伴噺
+ //鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鏀舵枡鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾宸ュ簾鏁伴噺-鏈亾鏂欏簾鏁伴噺
+ decimal sybqty = ssqty - sqty - ng_qty - laborbad_qty-materielbad_qty;
if (sybqty <= 0)
{
mes.code = "300";
@@ -795,7 +640,7 @@
}
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
- rt.reportqty = sqty + ng_qty+bad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺
+ rt.reportqty = sqty + ng_qty + laborbad_qty+materielbad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾宸ュ簾鏁伴噺+鏈亾鏂欏簾鏁伴噺
rt.startqty = sybqty; //鏀舵枡鏁伴噺=鍓╀綑鍙彂鏁伴噺
mes.code = "200";
@@ -962,8 +807,10 @@
decimal fqty = data0.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏈亾鏀舵枡鏁伴噺
decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();//鏈亾涓嶈壇鏁伴噺
- decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎶ュ簾鏁伴噺
- decimal ksqty = fqty - sqty - ng_qty-bad_qty; //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
+ decimal laborbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾宸ュ簾鏁伴噺
+ decimal materielbad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鏂欏簾鏁伴噺
+ //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾宸ュ簾鏁伴噺-鏈亾鏂欏簾鏁伴噺
+ decimal ksqty = fqty - sqty - ng_qty - laborbad_qty-materielbad_qty;
if (ksqty <= 0)
{
mes.code = "300";
@@ -976,16 +823,18 @@
{
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = ksqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
- rt.reportqty = sqty + ng_qty+bad_qty; //宸叉敹鏁伴噺
+ rt.reportqty = sqty + ng_qty + laborbad_qty+materielbad_qty; //宸叉敹鏁伴噺
rt.startqty = ksqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
-
+
data0.Merge(data1);//灏嗘寚瀹氱殑dt鍚堝苟
- rt.list = data0.AsEnumerable().GroupBy(r => new {
+ rt.list = data0.AsEnumerable().GroupBy(r => new
+ {
wo_code = r["wo_code"],
step_code = r["step_code"],
code = r["code"],
name = r["name"]
- }).Select(g => new {
+ }).Select(g => new
+ {
Name = g.Key.code,
tp = g.Key.name,
fqty = g.Sum(i => (decimal)i["fqty"]),
@@ -1010,12 +859,14 @@
rt.startqty = fqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
//
data0.Merge(data1);//灏嗘寚瀹氱殑dt鍚堝苟
- rt.list = data0.AsEnumerable().GroupBy(r => new {
+ rt.list = data0.AsEnumerable().GroupBy(r => new
+ {
wo_code = r["wo_code"],
step_code = r["step_code"],
code = r["code"],
name = r["name"]
- }).Select(g => new {
+ }).Select(g => new
+ {
Name = g.Key.code,
tp = g.Key.name,
fqty = g.Sum(i => (decimal)i["fqty"]),
@@ -1042,10 +893,9 @@
else //闈為閬�
{
//鏌ユ壘褰撳墠宸ュ簭涓婂埌宸ュ簭(鑷埗鎴栬�呭鍗�)
- sql = @"select A.step_code,S.stepname,S.flwtype from TFlw_Rtdt A
- left join TK_Wrk_Man M on A.rout_code=M.route_code
- left join TStep S on A.step_code=S.stepcode
- where M.wo_code=@wocode and A.seq=@seq-1";
+ sql = @"select A.step_code,S.stepname,S.flwtype from TK_Wrk_Step A
+ left join TStep S on A.step_code=S.stepcode
+ where A.wo_code=@wocode and A.seq=@seq-1";
dynamicParams.Add("@wocode", data.Rows[0]["WO_CODE"].ToString());
dynamicParams.Add("@seq", decimal.Parse(data.Rows[0]["SEQ"].ToString()));
var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -1078,8 +928,10 @@
decimal fqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
decimal sqty = data2.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏈亾鏀舵枡鏁伴噺
decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();//鏈亾涓嶈壇鏁伴噺
- decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum(); //鏈亾鎶ュ簾鏁伴噺
- decimal ksqty = fqty - sqty - ng_qty-bad_qty;//鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
+ decimal laborbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("LABORBAD_QTY")).Sum(); //鏈亾宸ュ簾鏁伴噺
+ decimal materielbad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("MATERIELBAD_QTY")).Sum(); //鏈亾鏂欏簾鏁伴噺
+ //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾宸ュ簾鏁伴噺-鏈亾鏂欏簾鏁伴噺
+ decimal ksqty = fqty - sqty - ng_qty - laborbad_qty- materielbad_qty;
if (ksqty <= 0)
{
mes.code = "300";
@@ -1092,24 +944,26 @@
{
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = ksqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
- rt.reportqty = sqty + ng_qty+bad_qty; //宸叉敹鏁伴噺
+ rt.reportqty = sqty + ng_qty + laborbad_qty+materielbad_qty; //宸叉敹鏁伴噺
rt.startqty = ksqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
-
+
data1.Merge(data2);//灏嗘寚瀹氱殑dt鍚堝苟
- rt.list = data1.AsEnumerable().GroupBy(r => new {
- wo_code = r["wo_code"],
+ rt.list = data1.AsEnumerable().GroupBy(r => new
+ {
+ wo_code = r["wo_code"],
step_code = r["step_code"],
- code= r["code"],
+ code = r["code"],
name = r["name"]
- }).Select(g => new {
- Name = g.Key.code,
- tp = g.Key.name,
+ }).Select(g => new
+ {
+ Name = g.Key.code,
+ tp = g.Key.name,
fqty = g.Sum(i => (decimal)i["fqty"]),
sqty = g.Sum(i => (decimal)i["sqty"]),
ng_qty = g.Sum(i => (decimal)i["ng_qty"]),
bad_qty = g.Sum(i => (decimal)i["bad_qty"])
}).ToList();
-
+
mes.code = "200";
mes.count = 3;
mes.Message = "寮圭獥鏀舵枡鐣岄潰!";
@@ -1124,12 +978,14 @@
rt.reportqty = 0; //宸叉敹鏁伴噺
rt.startqty = fqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
data1.Merge(data2);//灏嗘寚瀹氱殑dt鍚堝苟
- rt.list = data1.AsEnumerable().GroupBy(r => new {
+ rt.list = data1.AsEnumerable().GroupBy(r => new
+ {
wo_code = r["wo_code"],
step_code = r["step_code"],
code = r["code"],
name = r["name"]
- }).Select(g => new {
+ }).Select(g => new
+ {
Name = g.Key.code,
tp = g.Key.name,
fqty = g.Sum(i => (decimal)i["fqty"]),
--
Gitblit v1.9.3