From aa391b0c42e561f198e9a9f91e32073500001193 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 09 十月 2023 20:17:04 +0800
Subject: [PATCH] 1.报工审核查询、审核提交接口 2.报工调整接口优化 3.统计报表:生产进度报表接口
---
VueWebCoreApi/ApiGroup/OpenApiGroup.cs | 2
VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs | 26 +
VueWebCoreApi/VueWebCoreApi.csproj | 2
VueWebCoreApi/Models/ReportVerify/DataModel.cs | 13
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs | 16
VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs | 225 ++++++++++
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 821 ++++++++++++++++++++++++++----------
VueWebCoreApi/Models/UpdateReport/UpdateProductReport.cs | 1
VueWebCoreApi/Controllers/WorkOrderController.cs | 54 ++
VueWebCoreApi/Tools/DownLoad.cs | 21
VueWebCoreApi/Controllers/ReportManagerController.cs | 86 +++
11 files changed, 1,027 insertions(+), 240 deletions(-)
diff --git a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
index 7699a9e..35e8a2d 100644
--- a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
+++ b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -20,6 +20,8 @@
璁惧绠$悊 = 5,
[Description("宸ュ崟绠$悊")]
宸ュ崟绠$悊 = 6,
+ [Description("缁熻鎶ヨ〃")]
+ 缁熻鎶ヨ〃 = 7,
[Description("璐ㄩ噺绠$悊")]
璐ㄩ噺绠$悊 = 8,
[Description("鍛ㄦ湡浠诲姟")]
diff --git a/VueWebCoreApi/Controllers/ReportManagerController.cs b/VueWebCoreApi/Controllers/ReportManagerController.cs
new file mode 100644
index 0000000..12653d6
--- /dev/null
+++ b/VueWebCoreApi/Controllers/ReportManagerController.cs
@@ -0,0 +1,86 @@
+锘縰sing Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.BLL;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+ [ApiExplorerSettings(GroupName = "缁熻鎶ヨ〃")]
+ [ApiController]
+ [Route("api/[controller]")]
+ //[ChannelActionFilter]
+ public class ReportManagerController : Controller
+ {
+ //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+ ToMessage mes = new ToMessage();
+ RedisHelper redis = new RedisHelper();
+
+ #region[鐢熶骇杩涘害鎶ヨ〃]
+ /// <summary>
+ /// 鐢熶骇杩涘害鎶ヨ〃
+ /// </summary>
+ /// <param name="status">宸ュ崟鐘舵��</param>
+ /// <param name="wocode">宸ュ崟缂栧彿</param>
+ /// /// <param name="wkshopcode">杞﹂棿缂栧彿</param>
+ /// /// <param name="wkshopname">杞﹂棿鍚嶇О</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="lm_date">鍗曟嵁鏃ユ湡</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "ProductionScheduleReportSearch")]
+ [HttpGet]
+ public JsonResult ProductionScheduleReportSearch(int page, int rows, string prop, string order, string status = null, string wocode = null,string wkshopcode=null,string wkshopname=null, string partcode = null, string partname = null, string partspec = null, string lm_date = null)
+ {
+ string opendate = ""; //寮�濮嬫椂闂�
+ string closedate = ""; //缁撴潫鏃堕棿
+ if (lm_date != "" && lm_date != null)
+ {
+ opendate = lm_date.Split('~')[0].ToString();
+ closedate = lm_date.Split('~')[1].ToString();
+ }
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = ReportManagerBLL.ProductionScheduleReportSearch(status, wocode, wkshopcode,wkshopname, partcode, partname, partspec, opendate, closedate, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇杩涘害鎶ヨ〃瀵煎嚭]
+ /// <summary>
+ /// 鐢熶骇杩涘害鎶ヨ〃瀵煎嚭
+ /// </summary>
+ /// <param name="status">宸ュ崟鐘舵��</param>
+ /// <param name="wocode">宸ュ崟缂栧彿</param>
+ /// /// <param name="wkshopcode">杞﹂棿缂栧彿</param>
+ /// /// <param name="wkshopname">杞﹂棿鍚嶇О</param>
+ /// <param name="partcode">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+ /// <param name="lm_date">鍗曟嵁鏃ユ湡</param>
+ /// <returns></returns>
+ [Route(template: "ProductionScheduleReportExcelSearch")]
+ [HttpGet]
+ public JsonResult ProductionScheduleReportExcelSearch(string status = null, string wocode = null, string wkshopcode = null, string wkshopname = null, string partcode = null, string partname = null, string partspec = null, string lm_date = null)
+ {
+ string opendate = ""; //寮�濮嬫椂闂�
+ string closedate = ""; //缁撴潫鏃堕棿
+ if (lm_date != "" && lm_date != null)
+ {
+ opendate = lm_date.Split('~')[0].ToString();
+ closedate = lm_date.Split('~')[1].ToString();
+ }
+ mes = ReportManagerBLL.ProductionScheduleReportExcelSearch(status, wocode, wkshopcode, wkshopname, partcode, partname, partspec, opendate, closedate);
+ return Json(mes);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
index 188fe8e..cfb6886 100644
--- a/VueWebCoreApi/Controllers/WorkOrderController.cs
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -8,6 +8,7 @@
using System.Threading.Tasks;
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
@@ -623,5 +624,58 @@
return Json(mes);
}
#endregion
+
+
+
+ #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+ /// <summary>
+ /// 鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛
+ /// </summary>
+ /// <param name="wo_code">宸ュ崟缂栧彿</param>
+ /// <param name="partnumber">浜у搧缂栫爜</param>
+ /// <param name="partname">浜у搧鍚嶇О</param>
+ /// <param name="partspec">浜у搧瑙勬牸</param>
+ /// <param name="stepname">鎶ュ伐宸ュ簭</param>
+ /// <param name="reportuser">鎶ュ伐浜哄憳</param>
+ /// <param name="reportdate">鎶ュ伐鏃堕棿</param>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderStepReportVerifySearch")]
+ [HttpGet]
+ public JsonResult MesOrderStepReportVerifySearch(string wo_code = null, string partnumber = null, string partname = null, string partspec = null,string stepname=null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
+ {
+ string reportdateopendate = ""; //鎶ュ伐寮�濮嬫椂闂�
+ string reportdateclosedate = ""; //鎶ュ伐缁撴潫鏃堕棿
+ if (reportdate != "" && reportdate != null)
+ {
+ reportdateopendate = reportdate.Split('~')[0].ToString();
+ reportdateclosedate = reportdate.Split('~')[1].ToString();
+ }
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = WorkOrderBLL.MesOrderStepReportVerifySearch(wo_code, partnumber, partname, partspec,stepname,reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鏁版嵁鎻愪氦]
+ /// <summary>
+ /// 鐢熶骇鎵ц,鎶ュ伐瀹℃牳鏁版嵁鎻愪氦
+ /// </summary>
+ /// <param name="json">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "MesOrderStepReportVerifySeave")]
+ [HttpPost]
+ public JsonResult MesOrderStepReportVerifySeave([FromBody] DataModel json)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.MesOrderStepReportVerifySeave(us, json);
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
new file mode 100644
index 0000000..887c602
--- /dev/null
+++ b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.DAL;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.BLL
+{
+ public class ReportManagerBLL
+ {
+ #region[鐢熶骇杩涘害鎶ヨ〃]
+ public static ToMessage ProductionScheduleReportSearch(string status, string wocode,string wkshopcode,string wkshopname, string partcode, string partname, string partspec, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+ {
+ return ReportManagerDAL.ProductionScheduleReportSearch(status, wocode, wkshopcode, wkshopname, partcode, partname, partspec, opendate, closedate, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[鐢熶骇杩涘害鎶ヨ〃瀵煎嚭]
+ public static ToMessage ProductionScheduleReportExcelSearch(string status, string wocode, string wkshopcode, string wkshopname, string partcode, string partname, string partspec, string opendate, string closedate)
+ {
+ return ReportManagerDAL.ProductionScheduleReportExcelSearch(status, wocode, wkshopcode, wkshopname, partcode, partname, partspec, opendate, closedate);
+ }
+ #endregion
+ }
+}
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
index b891e4e..8472d63 100644
--- a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -5,6 +5,7 @@
using System.Threading.Tasks;
using VueWebCoreApi.DLL.DAL;
using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
@@ -192,5 +193,20 @@
return WorkOrderDAL.MesOrderStepUpdateSeave(us,json);
}
#endregion
+
+
+ #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+ public static ToMessage MesOrderStepReportVerifySearch(string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+ {
+ return WorkOrderDAL.MesOrderStepReportVerifySearch(wo_code, partnumber, partname, partspec, stepname, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鏁版嵁鎻愪氦]
+ public static ToMessage MesOrderStepReportVerifySeave(User us, DataModel json)
+ {
+ return WorkOrderDAL.MesOrderStepReportVerifySeave(us,json);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
new file mode 100644
index 0000000..a961364
--- /dev/null
+++ b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
@@ -0,0 +1,225 @@
+锘縰sing Dapper;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.DLL.DAL
+{
+ public class ReportManagerDAL
+ {
+ public static DataTable dt; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static bool res; //瀹氫箟鍏ㄥ眬鍙橀噺dt
+ public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
+ public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
+ public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
+ public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+
+
+ #region[鐢熶骇杩涘害鎶ヨ〃]
+ public static ToMessage ProductionScheduleReportSearch(string status, string wocode,string wkshopcode,string wkshopname, string partcode, string partname, string partspec, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (status != "" && status != null)
+ {
+ switch (status)
+ {
+ case "START":
+ search += "and AA.status='START' ";
+ break;
+ case "CLOSED":
+ search += "and AA.status='CLOSED' ";
+ break;
+ default:
+ search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+ break;
+ }
+ }
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (wkshopcode != "" && wkshopcode != null)
+ {
+ search += "and AA.wkshp_code like '%'+@wkshopcode+'%' ";
+ dynamicParams.Add("@wkshopcode", wkshopcode);
+ }
+ if (wkshopname != "" && wkshopname != null)
+ {
+ search += "and AA.wkshp_name like '%'+@wkshopname+'%' ";
+ dynamicParams.Add("@wkshopname", wkshopname);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (opendate != "" && opendate != null)
+ {
+ search += "and AA.lm_date between @opendate and @closedate ";
+ dynamicParams.Add("@opendate", opendate + " 00:00:00");
+ dynamicParams.Add("@closedate", closedate + " 23:59:59");
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.saleOrderCode,AA.m_po,AA.wo_code,AA.wkshp_code,AA.wkshp_name,
+ (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as status,
+ AA.lm_date,AA.partcode,AA.partname,AA.partspec,AA.plan_qty,left(AA.concat_name,len(concat_name)-1) as concat_name from
+ (
+ select E.saleOrderCode,W.m_po,m.wo_code,W.wkshp_code,F.torg_name as wkshp_name,W.status,W.lm_date,P.partcode,P.partname,P.partspec,m.plan_qty,
+ (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+ inner join TStep S on n.step_code=S.stepcode
+ where n.wo_code=m.wo_code for xml path('')) as concat_name
+ from TK_Wrk_Step m
+ inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+ left join TKimp_Ewo E on W.m_po=E.wo
+ inner join TMateriel_Info P on W.materiel_code=p.partcode
+ left join TOrganization F on W.wkshp_code=F.torg_code
+ group by E.saleOrderCode,W.m_po,m.wo_code,W.wkshp_code,F.torg_name,W.status,W.lm_date,P.partcode,P.partname,P.partspec,m.plan_qty
+ ) AA
+ where " + 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 ProductionScheduleReportExcelSearch(string status, string wocode, string wkshopcode, string wkshopname, string partcode, string partname, string partspec, string opendate, string closedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (status != "" && status != null)
+ {
+ switch (status)
+ {
+ case "START":
+ search += "and AA.status='START' ";
+ break;
+ case "CLOSED":
+ search += "and AA.status='CLOSED' ";
+ break;
+ default:
+ search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+ break;
+ }
+ }
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (wkshopcode != "" && wkshopcode != null)
+ {
+ search += "and AA.wkshp_code like '%'+@wkshopcode+'%' ";
+ dynamicParams.Add("@wkshopcode", wkshopcode);
+ }
+ if (wkshopname != "" && wkshopname != null)
+ {
+ search += "and AA.wkshp_name like '%'+@wkshopname+'%' ";
+ dynamicParams.Add("@wkshopname", wkshopname);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (opendate != "" && opendate != null)
+ {
+ search += "and AA.lm_date between @opendate and @closedate ";
+ dynamicParams.Add("@opendate", opendate + " 00:00:00");
+ dynamicParams.Add("@closedate", closedate + " 23:59:59");
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.saleOrderCode as ERP婧愬崟鍙�,AA.m_po as ERP鐢熶骇璁㈠崟,AA.wo_code as 鐢熶骇宸ュ崟鍙�,AA.wkshp_code as 杞﹂棿缂栫爜,AA.wkshp_name as 杞﹂棿鍚嶇О,
+ (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as 宸ュ崟鐘舵��,
+ AA.lm_date as 鍗曟嵁鏃ユ湡,AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.plan_qty as 浠诲姟鏁伴噺,left(AA.concat_name,len(concat_name)-1) as 鐢熶骇杩涘害 from
+ (
+ select E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.wkshp_code,F.torg_name as wkshp_name,P.partcode,P.partname,P.partspec,m.plan_qty,
+ (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+ inner join TStep S on n.step_code=S.stepcode
+ where n.wo_code=m.wo_code for xml path('')) as concat_name
+ from TK_Wrk_Step m
+ inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+ left join TKimp_Ewo E on W.m_po=E.wo
+ inner join TMateriel_Info P on W.materiel_code=p.partcode
+ left join TOrganization F on W.wkshp_code=F.torg_code
+ group by E.saleOrderCode,W.m_po,m.wo_code,W.wkshp_code,F.torg_name,W.status,W.lm_date,P.partcode,P.partname,P.partspec,m.plan_qty
+ ) AA
+ where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "鐢熶骇杩涘害鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ 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/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 035b47a..6fb784c 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -7,6 +7,7 @@
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
@@ -17,6 +18,7 @@
{
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>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
@@ -2328,44 +2330,45 @@
search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
// --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
- var sql = @" select * from(
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
- A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
- B.report_person as usercode,
- STUFF((SELECT ',' + U.username
- FROM TUser U
- WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
- FOR XML PATH('')), 1, 1, '') AS username,
- B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty
- from TK_Wrk_Record A
- inner join TK_Wrk_RecordSub B on A.id=B.m_id
- left join TK_Wrk_Man M on A.wo_code=M.wo_code
- left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
- left join TStep S on A.step_code=S.stepcode
- left join TMateriel_Info P on A.materiel_code=P.partcode
- left join TOrganization T on M.wkshp_code=T.torg_code
- left join TEqpInfo E on A.eqp_code=E.code
- left join TGroup G on G.usergroupcode=B.usergroup_code
- where A.style='B' and B.style='B' and M.status<>'CLOSED' and B.verify='N'
- union all
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
- A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
- B.in_person as usercode,
+ var sql = @"select * from(
+ select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
+ B.report_person as usercode,
STUFF((SELECT ',' + U.username
- FROM TUser U
- WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
- FOR XML PATH('')), 1, 1, '') AS username,
- B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty
- from TK_Wrk_OutRecord A
- inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
- left join TK_Wrk_Man M on A.wo_code = M.wo_code
- left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
- left join TStep S on A.step_code = S.stepcode
- left join TMateriel_Info P on A.materiel_code = P.partcode
- left join TOrganization T on M.wkshp_code = T.torg_code
- left join TCustomer E on A.wx_code = E.code
- where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED' and B.verify='N'
- ) as AA where" + search;
+ FROM TUser U
+ WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS username,
+ B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name
+ from TK_Wrk_Record A
+ inner join TK_Wrk_RecordSub B on A.id=B.m_id
+ left join TK_Wrk_Man M on A.wo_code=M.wo_code
+ left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+ left join TStep S on A.step_code=S.stepcode
+ left join TMateriel_Info P on A.materiel_code=P.partcode
+ left join TOrganization T on M.wkshp_code=T.torg_code
+ left join TEqpInfo E on A.eqp_code=E.code
+ left join TGroup G on G.usergroupcode=B.usergroup_code
+ where A.style='B' and B.style='B' and M.status<>'CLOSED' and A.verify='N'
+ union all
+ select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
+ B.in_person as usercode,
+ STUFF((SELECT ',' + U.username
+ FROM TUser U
+ WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS username,
+ B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name
+ from TK_Wrk_OutRecord A
+ inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
+ left join TK_Wrk_Man M on A.wo_code = M.wo_code
+ left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+ left join TStep S on A.step_code = S.stepcode
+ left join TMateriel_Info P on A.materiel_code = P.partcode
+ left join TOrganization T on M.wkshp_code = T.torg_code
+ left join TCustomer E on A.wx_code = E.code
+ left join TCustomer C on A.wx_code=C.code
+ where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED' and A.verify='N'
+ ) as AA where" + search;
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -2457,6 +2460,20 @@
//鎺у埗閫昏緫锛氫腑闂村伐搴忚皟鏁�-> (鏈亾宸ュ簭褰撳墠璋冩暣鍚堟牸鏁�+鏈亾宸ュ簭闈炲綋鍓嶆姤宸ュ悎鏍兼�绘暟)<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾) ==涓嶈兘灏忎簬涓嬮亾鎶ュ伐鎬绘暟
string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
list.Clear();
+ //鑾峰彇褰撳墠宸ュ簭涓婇亾宸ュ簭鍙婂睘鎬�
+ sql = @"select T.stepcode,T.stepname,T.flwtype 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", json[0].wo_code);
+ dynamicParams.Add("@seq", json[0].step_seq);
+ var pre = DapperHelper.selectdata(sql, dynamicParams);
+ //鑾峰彇褰撳墠宸ュ簭涓嬮亾宸ュ簭鍙婂睘鎬�
+ sql = @"select T.stepcode,T.stepname,T.flwtype 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", json[0].wo_code);
+ dynamicParams.Add("@seq", json[0].step_seq);
+ var next = DapperHelper.selectdata(sql, dynamicParams);
//鍒ゆ柇褰撳墠宸ュ簭鏄嚜鍒跺伐搴忚繕鏄鍗忓伐搴�
if (json[0].flw_type.ToString() == "Z")//鑷埗宸ュ簭
{
@@ -2492,30 +2509,61 @@
mes.data = null;
return mes;
}
- //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+ //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+ if (next.Rows.Count > 0)
{
- //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+宸ュ簾鎬绘暟閲�+鏂欏簾鎬绘暟閲�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�+涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
- if ((notthis_reportqty + decimal.Parse(json[0].report_qty) < last_updatereportsumqty))
+ if (next.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+宸ュ簾鎬绘暟閲�+鏂欏簾鎬绘暟閲�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�+涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+ if ((notthis_reportqty + this_reportqty) < last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+ sql = @"select isnull(sum(fqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+ if ((notthis_reportqty + this_reportqty) < last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
+
}
//鏈亾宸ュ簭鐨勬姤宸�
else if (json[0].last_choke == "Y")
@@ -2534,33 +2582,63 @@
//鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
- //鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+ //鍒ゆ柇鏄惁瀛樺湪涓婇亾宸ュ簭鍙婂睘鎬�
+ if (pre.Rows.Count > 0)
{
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
- if (updatereportsumqty > last_reportqty)
+ if (pre.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
+ if (updatereportsumqty > last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘敹鏂欐暟閲�
+ sql = @"select isnull(sum(sqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq-1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭敹鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+ //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鏀舵枡鍚堟牸鎬绘暟
+ if (updatereportsumqty > last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔敹鏂欐�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
}
else //涓棿宸ュ簭鐨勬姤宸�
{
- //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
from TK_Wrk_Record where wo_code=@wo_code and style='B' and id<>@id and step_code=@step_code";
dynamicParams.Add("@wo_code", json[0].wo_code);
@@ -2573,50 +2651,111 @@
decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
//鑾峰彇褰撳墠涓棿宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鏂欏簾鎬绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟
decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
- //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
- sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+
+ //鍒ゆ柇鏄惁瀛樺湪涓婇亾宸ュ簭鍙婂睘鎬�
+ if (pre.Rows.Count > 0)
{
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
- if (updatereportsumqty > last_reportqty)
+ if (pre.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
+ if (updatereportsumqty > last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘敹鏂欐暟閲�
+ sql = @"select isnull(sum(sqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq-1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭敹鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鏀舵枡鎬诲悎鏍兼暟閲�
+ //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鏀舵枡鎬诲悎鏍兼暟閲�
+ if (updatereportsumqty > last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔敹鏂欐�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
- //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt1 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt1.Rows.Count > 0)
+ //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭灞炴��
+ if (next.Rows.Count > 0)
{
- decimal last_reportqty = decimal.Parse(dt1.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt1.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
- if ((notthis_reportqty + decimal.Parse(json[0].report_qty)< last_updatereportsumqty))
+ if (next.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt1.Rows.Count > 0)
+ {
+ decimal last_reportqty = decimal.Parse(dt1.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt1.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+ if ((notthis_reportqty + this_reportqty) < last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+ sql = @"select isnull(sum(fqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='F' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鍙戞枡鎬诲悎鏍兼暟閲�
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+ if ((notthis_reportqty + this_reportqty) < last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉ぇ浜庝笅閬撳伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
}
@@ -2644,7 +2783,8 @@
}
});
//鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
- sql = @"update TK_Wrk_Record set start_qty=start_qty+@good_qty, good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ sql = @"update TK_Wrk_Record set start_qty=start_qty+@good_qty, good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
+ updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
where wo_code=@wo_code and step_code=@step_code and id=@id and style='B'";
list.Add(new
{
@@ -2657,7 +2797,9 @@
materielbad_qty = this_materielbad_dvalue,
wo_code = json[0].wo_code,
step_code = json[0].step_code,
- id = int.Parse(json[0].id)
+ id = int.Parse(json[0].id),
+ updatereportuser = us.usercode,
+ updatereportdate = date
}
});
//鍥炲啓宸ュ崟宸ュ簭琛�
@@ -2676,7 +2818,7 @@
step_code = json[0].step_code
}
});
-
+
for (int i = 0; i < json[0].children.Count; i++)
{
//鍥炲啓涓嶈壇
@@ -2720,173 +2862,225 @@
}
if (json[0].flw_type.ToString() == "W")//澶栧崗宸ュ簭
{
- //鑾峰彇姝ゆ鎶ュ伐璋冩暣鎻愪氦鐨勬暟鎹�(鍚堟牸鏁伴噺銆佷笉鑹暟閲忋�佸伐搴熸暟閲忋�佹枡搴熸暟閲�)
- decimal this_reportqty = decimal.Parse(json[0].report_qty.ToString()); //鎶ュ伐鏁伴噺(鍚堟牸)
+ //鏌ヨ褰撳墠棣栭亾宸ュ簭闈炴娆′緵搴斿晢鏀舵枡锛氭�绘敹鏂欐暟閲�
+ sql = @"select isnull(sum(sqty),0) as sqty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code<>@wx_code";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@id", json[0].id);
+ dynamicParams.Add("@step_code", json[0].step_code);
+ dynamicParams.Add("@wx_code", json[0].wxcode);
+ var dt_c = DapperHelper.selectdata(sql, dynamicParams);
+ //鑾峰彇姝ゆ鎶ュ伐璋冩暣鎻愪氦鐨勬暟鎹�(鏀舵枡鏁伴噺銆佷笉鑹暟閲忋�佸伐搴熸暟閲忋�佹枡搴熸暟閲�)
+ decimal this_reportqty = decimal.Parse(json[0].report_qty.ToString()); //鏀舵枡鏁伴噺
decimal this_ngqty = json[0].children.Sum(item => decimal.Parse(item.ng_qty));//涓嶈壇鏁伴噺姹囨��
decimal this_laborbadqty = json[0].children.Sum(item => decimal.Parse(item.laborbad_qty));//宸ュ簾鏁伴噺姹囨��
decimal this_materielbadqty = json[0].children.Sum(item => decimal.Parse(item.materielbad_qty));//鏂欏簾鏁伴噺姹囨��
decimal this_ng_dvalue = json[0].children.Sum(item => decimal.Parse(item.ng_dvalue));//涓嶈壇鏁伴噺宸�兼眹鎬�
decimal this_laborbad_dvalue = json[0].children.Sum(item => decimal.Parse(item.laborbad_dvalue));//宸ュ簾鏁伴噺宸�兼眹鎬�
decimal this_materielbad_dvalue = json[0].children.Sum(item => decimal.Parse(item.materielbad_dvalue));//鏂欏簾鏁伴噺宸�兼眹鎬�
- //棣栭亾宸ュ簭鐨勬姤宸�
+ //鑾峰彇褰撳墠宸ュ簭銆佷緵搴斿晢瀵瑰簲鐨勫彂鏂欐暟閲�
+ sql = @"select isnull(sum(fqty),0) as fqty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='F' and id<>@id and step_code=@step_code and wx_code=@wx_code";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@id", json[0].id);
+ dynamicParams.Add("@step_code", json[0].step_code);
+ dynamicParams.Add("@wx_code", json[0].wxcode);
+ var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
+ //棣栭亾宸ュ簭鐨勬敹鏂�
if (json[0].first_choke == "Y")
{
- //鏌ヨ褰撳墠棣栭亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+ //鏌ヨ褰撳墠棣栭亾宸ュ簭闈炴娆℃敹鏂欙細鎬绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code=@wx_code";
dynamicParams.Add("@wo_code", json[0].wo_code);
dynamicParams.Add("@id", json[0].id);
dynamicParams.Add("@step_code", json[0].step_code);
+ dynamicParams.Add("@wx_code", json[0].wxcode);
var dt = DapperHelper.selectdata(sql, dynamicParams);
- decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟
decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�讳笉鑹暟
decimal notthis_laborbadqty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�诲伐搴熸暟
decimal notthis_materielbadqty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘枡搴熸暟
- //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鎶ュ伐鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>宸ュ崟浠诲姟鏁伴噺
+ //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鏀舵枡鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>鍙戞枡鏁伴噺
decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbadqty + notthis_materielbadqty;
- if (updatereportsumqty > decimal.Parse(json[0].task_qty.ToString()))
+ if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].ToString()))
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐鍗曚换鍔℃暟閲忥細銆�" + json[0].task_qty.ToString() + "銆�!";
+ mes.Message = "褰撳墠棣栭亾宸ュ簭瀵瑰簲渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡彂鏂欐暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
mes.data = null;
return mes;
}
- //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq+1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+ //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+ if (next.Rows.Count > 0)
{
- //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+宸ュ簾鎬绘暟閲�+鏂欏簾鎬绘暟閲�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�+涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
- if ((notthis_reportqty + decimal.Parse(json[0].report_qty) < last_updatereportsumqty))
+ if (next.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+宸ュ簾鎬绘暟閲�+鏂欏簾鎬绘暟閲�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�+涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鏀舵枡璋冩暣鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+ if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鏁伴噺锛氥��" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+ sql = @"select isnull(sum(fqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='F' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鎶ュ伐璋冩暣鏀舵枡鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+ if ((notthis_reportqty + this_reportqty) < last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
+
}
//鏈亾宸ュ簭鐨勬姤宸�
else if (json[0].last_choke == "Y")
{
- //鏌ヨ褰撳墠鏈亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+ //鏌ヨ褰撳墠鏈亾鎶ュ伐宸ュ簭闈炴娆℃敹鏂欙細鎬绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code=@wx_code";
dynamicParams.Add("@wo_code", json[0].wo_code);
dynamicParams.Add("@id", json[0].id);
dynamicParams.Add("@step_code", json[0].step_code);
var dt = DapperHelper.selectdata(sql, dynamicParams);
- decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃敹鏂欐�绘暟
decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
decimal notthis_laborbad_qty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ュ伐搴熸�绘暟
decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
- //鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
+ //鑾峰彇褰撳墠鏈亾宸ュ簭鏀舵枡鎬绘暟閲忥細鏈淇敼鏀舵枡鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
-
- //鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq-1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+ //鍒ゆ柇褰撳墠宸ュ簭渚涘簲鍟嗘敹鏂欐�绘暟>褰撳墠宸ュ簭渚涘簲鍟嗗搴斿彂鏂欐暟閲�
+ if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].ToString()))
{
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
- if (updatereportsumqty > last_reportqty)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
- }
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐搴忎緵搴斿晢鍙戞枡鎬绘暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
+ mes.data = null;
+ return mes;
}
+
}
else //涓棿宸ュ簭鐨勬姤宸�
{
- //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+
+ //鏌ヨ褰撳墠棣栭亾宸ュ簭渚涘簲鍟嗛潪姝ゆ鏀舵枡锛氭�绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code=@wx_code";
dynamicParams.Add("@wo_code", json[0].wo_code);
dynamicParams.Add("@id", json[0].id);
dynamicParams.Add("@step_code", json[0].step_code);
+ dynamicParams.Add("@wx_code", json[0].wxcode);
var dt = DapperHelper.selectdata(sql, dynamicParams);
- decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
- decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
- decimal notthis_laborbad_qty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ュ伐璐规�绘暟
- decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
- //鑾峰彇褰撳墠涓棿宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鏂欏簾鎬绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟
- decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
- //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
- sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq-1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt0 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt0.Rows.Count > 0)
+ decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟
+ decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�讳笉鑹暟
+ decimal notthis_laborbadqty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�诲伐搴熸暟
+ decimal notthis_materielbadqty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘枡搴熸暟
+ //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鏀舵枡鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>鍙戞枡鏁伴噺
+ decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbadqty + notthis_materielbadqty;
+ if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].ToString()))
{
- decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟閲�
- decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓婇亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
- if (updatereportsumqty > last_reportqty)
- {
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
- }
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭瀵瑰簲渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡彂鏂欐暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
+ mes.data = null;
+ return mes;
}
- //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
- sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
- from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and step_seq=@step_seq+1";
- dynamicParams.Add("@wo_code", json[0].wo_code);
- dynamicParams.Add("@step_seq", json[0].step_seq);
- var dt1 = DapperHelper.selectdata(sql, dynamicParams);
- if (dt1.Rows.Count > 0)
+ //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+ if (next.Rows.Count > 0)
{
- decimal last_reportqty = decimal.Parse(dt1.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt1.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
- decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
- decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
- //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
- if ((notthis_reportqty + decimal.Parse(json[0].report_qty)< last_updatereportsumqty))
+ if (next.Rows[0]["flwtype"].ToString() == "Z")
{
- mes.code = "300";
- mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
- mes.data = null;
- return mes;
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+宸ュ簾鎬绘暟閲�+鏂欏簾鎬绘暟閲�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�+涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString()); //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+ decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString()); //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鏀舵枡璋冩暣鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+ if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鏁伴噺锛氥��" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ else
+ {
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+ sql = @"select isnull(sum(fqty),0) as good_qty
+ from TK_Wrk_OutRecord where wo_code=@wo_code and style='F' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[0].wo_code);
+ dynamicParams.Add("@step_seq", json[0].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+ //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鎶ュ伐璋冩暣鏀舵枡鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+ if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_reportqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
}
}
///////////////////////////////淇敼鎶ュ伐//////////////////////////////
- //鍥炲啓瀵瑰簲鐨勫鍗忚褰曞瓙琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ //鍥炲啓瀵瑰簲鐨勫鍗忚褰曞瓙琛ㄦ敹鏂欐暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
sql = @"update TK_Wrk_OutRecordSub set sqty=sqty+@repair_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
- where m_id=@m_id and id=@id and style='S'";
+ where m_id=@m_id and id=@id and style='S' and wx_code=@wx_code";
list.Add(new
{
str = sql,
@@ -2898,14 +3092,16 @@
ng_qty = this_ng_dvalue,
laborbad_qty = this_laborbad_dvalue,
materielbad_qty = this_materielbad_dvalue,
+ wx_code = json[0].wxcode,
//bad_money = decimal.Parse(json[i].badmoney_dvalue),
updatereportuser = us.usercode,
updatereportdate = date
}
});
- //鍥炲啓瀵瑰簲鐨勫鍗忚褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
- sql = @"update TK_Wrk_OutRecord set sqty=sqty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
- where wo_code=@wo_code and step_code=@step_code and id=@id and style='S'";
+ //鍥炲啓瀵瑰簲鐨勬敹鏂欒褰曚富琛ㄦ敹鏂欐暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ sql = @"update TK_Wrk_OutRecord set sqty=sqty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
+ updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
+ where wo_code=@wo_code and step_code=@step_code and id=@id and style='S' and wx_code=@wx_code";
list.Add(new
{
str = sql,
@@ -2915,9 +3111,12 @@
ng_qty = this_ng_dvalue,
laborbad_qty = this_laborbad_dvalue,
materielbad_qty = this_materielbad_dvalue,
+ wx_code = json[0].wxcode,
wo_code = json[0].wo_code,
step_code = json[0].step_code,
- id = int.Parse(json[0].id)
+ id = int.Parse(json[0].id),
+ updatereportuser = us.usercode,
+ updatereportdate = date
}
});
//鍥炲啓宸ュ崟宸ュ簭琛�
@@ -2936,7 +3135,7 @@
step_code = json[0].step_code
}
});
-
+
for (int i = 0; i < json[0].children.Count; i++)
{
//鍥炲啓涓嶈壇
@@ -3007,5 +3206,171 @@
return mes;
}
#endregion
+
+
+
+ #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+ public static ToMessage MesOrderStepReportVerifySearch(string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wo_code != "" && wo_code != null)
+ {
+ search += "and AA.wo_code like '%'+@wo_code+'%' ";
+ dynamicParams.Add("@wo_code", wo_code);
+ }
+ if (partnumber != "" && partnumber != null)
+ {
+ search += "and AA.partnumber like '%'+@partnumber+'%' ";
+ dynamicParams.Add("@partnumber", partnumber);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and AA.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (reportuser != "" && reportuser != null)
+ {
+ search += "and AA.usercode like '%'+@reportuser+'%' ";
+ dynamicParams.Add("@reportuser", reportuser);
+ }
+ if (reportdateopendate != "" && reportdateopendate != null)
+ {
+ search += "and AA.report_date between @reportdateopendate and @reportdateclosedate ";
+ dynamicParams.Add("@reportdateopendate", reportdateopendate + " 00:00:00");
+ dynamicParams.Add("@reportdateclosedate", reportdateclosedate + " 23:59:59");
+ }
+
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select * from(
+ select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
+ B.report_person as usercode,
+ STUFF((SELECT ',' + U.username
+ FROM TUser U
+ WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS username,
+ B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name,A.verify
+ from TK_Wrk_Record A
+ inner join TK_Wrk_RecordSub B on A.id=B.m_id
+ left join TK_Wrk_Man M on A.wo_code=M.wo_code
+ left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+ left join TStep S on A.step_code=S.stepcode
+ left join TMateriel_Info P on A.materiel_code=P.partcode
+ left join TOrganization T on M.wkshp_code=T.torg_code
+ left join TEqpInfo E on A.eqp_code=E.code
+ left join TGroup G on G.usergroupcode=B.usergroup_code
+ where A.style='B' and B.style='B' and M.status<>'CLOSED'
+ union all
+ select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
+ B.in_person as usercode,
+ STUFF((SELECT ',' + U.username
+ FROM TUser U
+ WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS username,
+ B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name,A.verify
+ from TK_Wrk_OutRecord A
+ inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
+ left join TK_Wrk_Man M on A.wo_code = M.wo_code
+ left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+ left join TStep S on A.step_code = S.stepcode
+ left join TMateriel_Info P on A.materiel_code = P.partcode
+ left join TOrganization T on M.wkshp_code = T.torg_code
+ left join TCustomer E on A.wx_code = E.code
+ left join TCustomer C on A.wx_code=C.code
+ where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED'
+ ) as AA where" + 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 MesOrderStepReportVerifySeave(User us, DataModel json)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (json.zdata.Count > 0)
+ {
+ //鍥炲啓鎶ュ伐璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_Record set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate where id in @id";
+ list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.zdata } });
+ //鍥炲啓鎶ュ伐璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_RecordSub set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate where m_id in @id";
+ list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.zdata } });
+ }
+ if (json.wdata.Count > 0)
+ {
+ //鍥炲啓澶栧崗璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_OutRecord set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate where id in @id";
+ list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.wdata } });
+ //鍥炲啓澶栧崗璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_OutRecordSub set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate where m_id in @id";
+ list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.wdata } });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "鑷埗鎶ュ伐璁板綍id:" + string.Join(",", json.zdata), us.usertype);
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "澶栧崗鏀舵枡璁板綍id:" + string.Join(",", json.wdata), us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "瀹℃牳鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "瀹℃牳澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Models/ReportVerify/DataModel.cs b/VueWebCoreApi/Models/ReportVerify/DataModel.cs
new file mode 100644
index 0000000..f121d3c
--- /dev/null
+++ b/VueWebCoreApi/Models/ReportVerify/DataModel.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.ReportVerify
+{
+ public class DataModel
+ {
+ public List<string> zdata { get; set; }
+ public List<string> wdata { get; set; }
+ }
+}
diff --git a/VueWebCoreApi/Models/UpdateReport/UpdateProductReport.cs b/VueWebCoreApi/Models/UpdateReport/UpdateProductReport.cs
index 377fe65..ad321d8 100644
--- a/VueWebCoreApi/Models/UpdateReport/UpdateProductReport.cs
+++ b/VueWebCoreApi/Models/UpdateReport/UpdateProductReport.cs
@@ -28,6 +28,7 @@
public string report_date { get; set; } //鎶ュ伐鏃堕棿
public string report_qty { get; set; } //鎶ュ伐鏁伴噺
public string report_dvalue { get; set; } //鎶ュ伐鏁伴噺宸��
+ public string wxcode { get; set; } //澶栧崗渚涘簲鍟嗙紪鐮�
public List<UpdateReportSub> children { get; set; }
}
public class UpdateReportSub
diff --git a/VueWebCoreApi/Tools/DownLoad.cs b/VueWebCoreApi/Tools/DownLoad.cs
index 66d159c..431fffa 100644
--- a/VueWebCoreApi/Tools/DownLoad.cs
+++ b/VueWebCoreApi/Tools/DownLoad.cs
@@ -1,4 +1,5 @@
-锘縰sing NPOI.HSSF.UserModel;
+锘縰sing Microsoft.AspNetCore.Hosting;
+using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
@@ -27,7 +28,7 @@
{
var filename = filenName + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
string fileip = AppSetting.GetAppSetting("FileIP");
- var filepath = CoreHttpContext.MapPath("/File/newxls/");
+ var filepath = CoreHttpContext.MapPath("/newxls/");
var path = filepath + filename;
if (!Directory.Exists(filepath))
@@ -82,7 +83,7 @@
var b = DALSkillCondition.ResultExcel(path, dt);
if (b)
{
- var url = fileip + "/apis/File/newxls/" + filename;
+ var url = fileip + "/apis/newxls/" + filename;
return url;
}
var messge = filename + "涓嬭浇澶辫触";
@@ -100,7 +101,7 @@
{
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xlsx";
string fileip = AppSetting.GetAppSetting("FileIP");
- string filePath = CoreHttpContext.MapPath("/File/newxls/");
+ string filePath = CoreHttpContext.MapPath("/newxls/");
Directory.CreateDirectory(filePath);
string Path = filePath + fileName;
@@ -172,7 +173,7 @@
using (fs = File.OpenWrite(Path))
{
workbook.Write(fs);
- var url = fileip + "/File/newxls/" + fileName;
+ var url = fileip + "/newxls/" + fileName;
return url;
}
}
@@ -193,7 +194,7 @@
{
string fileName = filenName + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xlsx";
string fileip = AppSetting.GetAppSetting("FileIP");
- string filePath = CoreHttpContext.MapPath("/File/newxls/");
+ string filePath = CoreHttpContext.MapPath("wwwroot/newxls/");
Directory.CreateDirectory(filePath);
string Path = filePath + fileName;
@@ -226,13 +227,11 @@
for (var j = 0; j < ds.Columns.Count; j++)
{
sheet.SetColumnWidth(j, 30 * 256);//
- //sheet.AutoSizeColumn(j); //鑷�傚簲瀹藉害
+ //sheet.AutoSizeColumn(j); //鑷�傚簲瀹藉害
headerRow.CreateCell(j).SetCellValue(ds.Columns[j].ColumnName);
headerRow.GetCell(j).CellStyle = headStyle;
}
-
#endregion
-
rowIndex = 1;
}
@@ -258,12 +257,10 @@
rowIndex++;
}
-
-
using (fs = File.OpenWrite(Path))
{
workbook.Write(fs);
- var url = fileip + "/File/newxls/" + fileName;
+ var url = fileip + "/newxls/" + fileName;
return url;
}
}
diff --git a/VueWebCoreApi/VueWebCoreApi.csproj b/VueWebCoreApi/VueWebCoreApi.csproj
index 43bf990..a9b7f3d 100644
--- a/VueWebCoreApi/VueWebCoreApi.csproj
+++ b/VueWebCoreApi/VueWebCoreApi.csproj
@@ -47,6 +47,8 @@
<ItemGroup>
<Folder Include="InExcel\" />
+ <Folder Include="wwwroot\File\newxls\" />
+ <Folder Include="wwwroot\newxls\" />
</ItemGroup>
<ItemGroup>
--
Gitblit v1.9.3