From 26f357e815683a453e84beda235adae31eece223 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期日, 08 十月 2023 17:54:03 +0800
Subject: [PATCH] 1.人员基础资料、班组基础资料接口 2.报工调整查询接口、报工调整获取不良记录接口、报工调整提交接口
---
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 825 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 667 insertions(+), 158 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 73794b2..ee8f7cd 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.UpdateReport;
using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
@@ -1142,7 +1143,7 @@
stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
}
- if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ if (ordercode != "" && (stepcode == null || stepcode == "")) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
{
search += "and A.wo_code=@ordercode ";
dynamicParams.Add("@ordercode", ordercode);
@@ -1189,7 +1190,7 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.status,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ sql = @"select A.id,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
@@ -1197,22 +1198,11 @@
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;
- }
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
}
catch (Exception e)
{
@@ -1249,7 +1239,7 @@
stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
}
- if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ if (ordercode != "" && (stepcode == null || stepcode == "")) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
{
search += "and A.wo_code=@ordercode ";
dynamicParams.Add("@ordercode", ordercode);
@@ -1296,30 +1286,22 @@
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
+ sql = @"select A.id,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,
+ (select isnull(sum(fqty),0) as fqty from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
+ 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;
- }
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
+
}
catch (Exception e)
{
@@ -1356,7 +1338,7 @@
stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
}
- if (ordercode != "" && stepcode == null) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
+ if (ordercode != "" && (stepcode == null || stepcode == "")) //宸ュ崟鍙蜂笉涓虹┖,宸ュ簭鍙蜂负绌�
{
search += "and A.wo_code=@ordercode ";
dynamicParams.Add("@ordercode", ordercode);
@@ -1401,7 +1383,7 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
+ sql = @"select A.id,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
@@ -1409,22 +1391,11 @@
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;
- }
+ mes.code = "200";
+ mes.count = total;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data.ToList();
+ return mes;
}
catch (Exception e)
{
@@ -1545,7 +1516,7 @@
mes = ScanStartReport.ZZEncodingSeach(wocode, stepcode);
break;
case "WX":
- mes = ScanStartReport.WXEncodingSeach(SelectType, stepcode, stepcode);
+ mes = ScanStartReport.WXEncodingSeach(SelectType, wocode, stepcode);
break;
default:
break;
@@ -1563,18 +1534,19 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐,鎶ュ伐鎻愪氦]
- public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode,string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
+ public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode, string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
{
var sql = "";
decimal ngqty = 0;
string[] arra1 = new string[] { };
+ List<object> list0 = new List<object>();
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
try
{
string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
//鑾峰彇鎶ュ伐浜哄憳銆佸垎閰嶆瘮渚�
- JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(reportuser);
+ //JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(reportuser);
//鍒ゆ柇鏄惁鏈変笉鑹暟鎹�
var groupedItems = defectobjs.GroupBy(item => item.defect_code) // 鎸夌紪鐮乧ode鍒嗙粍
.Select(group => new { defect_code = group.Key, badqty = group.Sum(item => Convert.ToDecimal(item.badqty)) }).ToList(); // 姹囨�讳笉鑹暟閲�
@@ -1594,22 +1566,36 @@
dynamicParams.Add("@step_code", stepcode);
dynamicParams.Add("@eqpcode", eqpcode);
var data0 = DapperHelper.selectdata(sql, dynamicParams);
- if (data0.Rows.Count <= 0)
+ if (data0.Rows.Count <= 0)
{
//鍐欏叆寮�鎶ュ伐璁板綍琛�
sql = @"insert into TK_Wrk_Record(wo_code,step_seq,step_code,step_price,eqp_code,materiel_code,open_person,open_time,task_qty,start_qty,style,lm_user,lm_date)
values(@mesordercode,@stepseq,@stepcode,@step_price,@eqpcode,@partcode,@username,@opentime,@taskqty,@startqty,@style,@lm_user,@lm_date)";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price=stepprice, eqpcode = eqpcode, partcode = partcode, username = us.usercode, opentime = date, taskqty = taskqty, startqty = startqty, style = "S", lm_user = us.usercode, lm_date = date } });
+ list0.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price = stepprice, eqpcode = eqpcode, partcode = partcode, username = us.usercode, opentime = date, taskqty = taskqty, startqty = startqty, style = "S", lm_user = us.usercode, lm_date = date } });
//鍥炲啓宸ュ崟宸ュ簭琛ㄧ姸鎬佷负START: 寮�宸�
sql = @"update TK_Wrk_Step set status='START' where wo_code=@mesordercode and step_code=@stepcode";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode } });
+ list0.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode } });
- //鍥炲啓宸ュ崟宸ュ簭琛ㄧ姸鎬佷负宸插紑宸�
- sql = @"update TK_Wrk_Step set status='START' where wo_code=@mesordercode and step_code=@stepcode";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode } });
//鍥炲啓宸ュ崟琛ㄧ姸鎬佷负锛� 寮�宸ワ細START
sql = @"update TK_Wrk_Man set status='START' where wo_code=@mesordercode";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode } });
+ list0.Add(new { str = sql, parm = new { mesordercode = mesordercode } });
+ bool st = DapperHelper.DoTransaction(list0);
+ if (st)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "寮�宸�", "寮�宸ヤ簡宸ュ崟:" + mesordercode + "宸ュ簭:" + stepcode, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鎿嶄綔鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鎿嶄綔澶辫触!";
+ mes.data = null;
+ }
}
//鍒ゆ柇鏄惁鏈夋姤宸ヨ褰�(鏈夛細淇敼 鏃狅細鏂板)
@@ -1642,34 +1628,30 @@
//鍐欏叆寮�鎶ュ伐璁板綍琛�
sql = @"insert into TK_Wrk_Record(wo_code,step_seq,step_code,step_price,eqp_code,materiel_code,task_qty,start_qty,good_qty,ng_qty,style,lm_user,lm_date,inbarcode)
values(@mesordercode,@stepseq,@stepcode,@step_price,@eqpcode,@partcode,@taskqty,@startqty,@reportqty,@ngqty,@style,@lm_user,@lm_date,@inbarcode)";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price=stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
+ list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price = stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆瀛愯〃
- for (int i = 0; i < arra.Count; i++)
- {
- sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
+ sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
- list.Add(new
+ list.Add(new
+ {
+ str = sql,
+ parm = new
{
- str = sql,
- parm = new
- {
- m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
- eqp_code = eqpcode,
- report_person = arra[i]["usercode"].ToString(),
- report_date = date,
- report_qty = reportqty,
- reckway = reckway,
- usergroup_code = usergroupcode,
- ratio = decimal.Parse(arra[i]["ratio"].ToString()),
- ng_qty = ngqty,
- style = "B",
- lm_user = us.usercode,
- lm_date = date
- }
- });
-
- }
+ m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+ eqp_code = eqpcode,
+ report_person = reportuser,
+ report_date = date,
+ report_qty = reportqty,
+ reckway = reckway,
+ usergroup_code = usergroupcode,
+ ratio = 0, //鍒嗛厤姣斾緥
+ ng_qty = ngqty,
+ style = "B",
+ lm_user = us.usercode,
+ lm_date = date
+ }
+ });
if (groupedItems.Count > 0)
{
//鍐欏叆缂洪櫡璁板綍琛�
@@ -1690,34 +1672,30 @@
//鍐欏叆寮�鎶ュ伐璁板綍琛�
sql = @"insert into TK_Wrk_Record(wo_code,step_seq,step_code,step_price,eqp_code,materiel_code,task_qty,start_qty,good_qty,ng_qty,style,lm_user,lm_date,inbarcode)
values(@mesordercode,@stepseq,@stepcode,@step_price,@eqpcode,@partcode,@taskqty,@startqty,@reportqty,@ngqty,@style,@lm_user,@lm_date,@inbarcode)";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price=stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
+ list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price = stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆瀛愯〃
- for (int i = 0; i < arra.Count; i++)
- {
- sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
+ sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
- list.Add(new
+ list.Add(new
+ {
+ str = sql,
+ parm = new
{
- str = sql,
- parm = new
- {
- m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
- eqp_code = eqpcode,
- report_person = arra[i]["usercode"].ToString(),
- report_date = date,
- report_qty = reportqty,
- reckway = reckway,
- usergroup_code = usergroupcode,
- ratio = decimal.Parse(arra[i]["ratio"].ToString()),
- ng_qty = ngqty,
- style = "B",
- lm_user = us.usercode,
- lm_date = date
- }
- });
-
- }
+ m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+ eqp_code = eqpcode,
+ report_person = reportuser,
+ report_date = date,
+ report_qty = reportqty,
+ reckway = reckway,
+ usergroup_code = usergroupcode,
+ ratio = 0, //鍒嗛厤姣斾緥
+ ng_qty = ngqty,
+ style = "B",
+ lm_user = us.usercode,
+ lm_date = date
+ }
+ });
if (groupedItems.Count > 0)
{
//鍐欏叆缂洪櫡璁板綍琛�
@@ -1747,6 +1725,8 @@
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐", "鎶ュ伐浜嗗伐鍗�:" + mesordercode + "宸ュ簭:" + stepcode, us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "鎿嶄綔鎴愬姛!";
@@ -1792,7 +1772,7 @@
//淇敼鍙戞枡璁板綍
sql = @"update TK_Wrk_OutRecord set fqty=fqty+@fqty,lm_user=@username,lm_date=@CreateDate
where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code and style='F'";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, wx_code = wxcode, fqty = decimal.Parse(fqty), username =us.usercode, CreateDate = date } });
+ list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, wx_code = wxcode, fqty = decimal.Parse(fqty), username = us.usercode, CreateDate = date } });
//鍐欏叆瀛愯〃
sql = @"insert into TK_Wrk_OutRecordSub(m_id,wx_code,out_person,out_time,fqty,style,lm_user,lm_date)
values(@m_id,@wx_code,@out_person,@out_time,@fqty,@style,@lm_user,@lm_date)";
@@ -1824,6 +1804,8 @@
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "澶栧崗鍙戞枡", "澶栧崗鍙戞枡宸ュ崟:" + mesordercode + "宸ュ簭:" + stepcode, us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "鍙戞枡鎴愬姛!";
@@ -2001,6 +1983,8 @@
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "澶栧崗鏀舵枡", "澶栧崗鏀舵枡宸ュ崟:" + mesordercode + "宸ュ簭:" + stepcode, us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "鏀舵垚鍔�!";
@@ -2032,7 +2016,7 @@
string[] arra1 = new string[] { };
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
- decimal sumrepair_qty = 0, sumlaborbad_qty = 0,summaterielbad_qty=0; //绱缁翠慨鏁伴噺銆佺疮璁″伐搴熸暟閲忋�佺疮璁℃枡搴熸暟閲�
+ decimal sumrepair_qty = 0, sumlaborbad_qty = 0, summaterielbad_qty = 0; //绱缁翠慨鏁伴噺銆佺疮璁″伐搴熸暟閲忋�佺疮璁℃枡搴熸暟閲�
try
{
string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
@@ -2076,7 +2060,7 @@
}
});
//鍥炲啓缂洪櫡璁板綍琛ㄧ殑寰呭鐞嗘暟閲�
- sql = @"update CSR_WorkRecord_Defect set defect_pendqty=defect_pendqty-@repair_qty-@laborbad_qty-@materielbad_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ sql = @"update CSR_WorkRecord_Defect set defect_qty=defect_qty-@repair_qty-@laborbad_qty-@materielbad_qty, defect_pendqty=defect_pendqty-@repair_qty-@laborbad_qty-@materielbad_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='B'";
list.Add(new
{
@@ -2091,28 +2075,56 @@
id = int.Parse(json.Data.Rows[i]["ID"].ToString())
}
});
- //鍐欏叆鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
- sql = @"insert into CSR_WorkRecord_DefectHandle(defect_id,wo_code,partnumber,step_seq,step_code,repair_qty,laborbad_qty,materielbad_qty,defect_code,style,lm_user,lm_date)
- values(@defect_id,@wo_code,@partcode,@stepseq,@stepcode,@repair_qty,@laborbad_qty,@materielbad_qty,@defect_code,@style,@lm_user,@lm_date)";
- list.Add(new
+ //鍒ゆ柇缂洪櫡璁板綍澶勭悊琛ㄦ槸鍚﹀瓨鍦ㄨ褰�
+ sql = @"select * from CSR_WorkRecord_DefectHandle where wo_code=@wo_code and step_code=@step_code and defect_id=@defect_id";
+ dynamicParams.Add("@wo_code", json.Data.Rows[i]["WO_CODE"].ToString());
+ dynamicParams.Add("@step_code", json.Data.Rows[i]["STEP_CODE"].ToString());
+ dynamicParams.Add("@defect_id", json.Data.Rows[i]["ID"].ToString());
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count <= 0)
{
- str = sql,
- parm = new
+ //鍐欏叆鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
+ sql = @"insert into CSR_WorkRecord_DefectHandle(defect_id,wo_code,partnumber,step_seq,step_code,repair_qty,laborbad_qty,materielbad_qty,defect_code,style,lm_user,lm_date)
+ values(@defect_id,@wo_code,@partcode,@stepseq,@stepcode,@repair_qty,@laborbad_qty,@materielbad_qty,@defect_code,@style,@lm_user,@lm_date)";
+ list.Add(new
{
- defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
- wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
- partcode = json.Data.Rows[i]["MATERIEL_CODE"].ToString(),
- stepseq = json.Data.Rows[i]["SEQ"].ToString(),
- stepcode = json.Data.Rows[i]["STEP_CODE"].ToString(),
- repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
- laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
- materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString()),
- defect_code = json.Data.Rows[i]["DEFECT_CODE"].ToString(),
- style = "B",
- lm_user = us.usercode,
- lm_date = date
- }
- });
+ str = sql,
+ parm = new
+ {
+ defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
+ wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
+ partcode = json.Data.Rows[i]["MATERIEL_CODE"].ToString(),
+ stepseq = json.Data.Rows[i]["SEQ"].ToString(),
+ stepcode = json.Data.Rows[i]["STEP_CODE"].ToString(),
+ repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
+ laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
+ materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString()),
+ defect_code = json.Data.Rows[i]["DEFECT_CODE"].ToString(),
+ style = "B",
+ lm_user = us.usercode,
+ lm_date = date
+ }
+ });
+ }
+ else
+ {
+ //鏇存柊鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
+ sql = @"update CSR_WorkRecord_DefectHandle set repair_qty=repair_qty+@repair_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ where wo_code=@wo_code and step_code=@step_code and defect_id=@defect_id";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
+ wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
+ step_code = json.Data.Rows[i]["STEP_CODE"].ToString(),
+ repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
+ laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
+ materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString())
+ }
+ });
+ }
sumrepair_qty = sumrepair_qty + decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString());
sumlaborbad_qty = sumlaborbad_qty + decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString());
@@ -2152,7 +2164,7 @@
}
});
//鍥炲啓缂洪櫡璁板綍琛ㄧ殑寰呭鐞嗘暟閲�
- sql = @"update CSR_WorkRecord_Defect set defect_pendqty=defect_pendqty-@repair_qty-@laborbad_qty-@materielbad_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ sql = @"update CSR_WorkRecord_Defect set defect_qty=defect_qty-@repair_qty-@laborbad_qty-@materielbad_qty,defect_pendqty=defect_pendqty-@repair_qty-@laborbad_qty-@materielbad_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'";
list.Add(new
{
@@ -2167,28 +2179,56 @@
id = int.Parse(json.Data.Rows[i]["ID"].ToString())
}
});
- //鍐欏叆鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
- sql = @"insert into CSR_WorkRecord_DefectHandle(defect_id,wo_code,partnumber,step_seq,step_code,repair_qty,laborbad_qty,materielbad_qty,defect_code,style,lm_user,lm_date)
- values(@defect_id,@wo_code,@partcode,@stepseq,@stepcode,@repair_qty,@laborbad_qty,@materielbad_qty,@defect_code,@style,@lm_user,@lm_date)";
- list.Add(new
+ //鍒ゆ柇缂洪櫡璁板綍澶勭悊琛ㄦ槸鍚﹀瓨鍦ㄨ褰�
+ sql = @"select * from CSR_WorkRecord_DefectHandle where wo_code=@wo_code and step_code=@step_code and defect_id=@defect_id";
+ dynamicParams.Add("@wo_code", json.Data.Rows[i]["WO_CODE"].ToString());
+ dynamicParams.Add("@step_code", json.Data.Rows[i]["STEP_CODE"].ToString());
+ dynamicParams.Add("@defect_id", json.Data.Rows[i]["ID"].ToString());
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count <= 0)
{
- str = sql,
- parm = new
+ //鍐欏叆鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
+ sql = @"insert into CSR_WorkRecord_DefectHandle(defect_id,wo_code,partnumber,step_seq,step_code,repair_qty,laborbad_qty,materielbad_qty,defect_code,style,lm_user,lm_date)
+ values(@defect_id,@wo_code,@partcode,@stepseq,@stepcode,@repair_qty,@laborbad_qty,@materielbad_qty,@defect_code,@style,@lm_user,@lm_date)";
+ list.Add(new
{
- defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
- wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
- partcode = json.Data.Rows[i]["MATERIEL_CODE"].ToString(),
- stepseq = json.Data.Rows[i]["SEQ"].ToString(),
- stepcode = json.Data.Rows[i]["STEP_CODE"].ToString(),
- repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
- laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
- materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString()),
- defect_code = json.Data.Rows[i]["DEFECT_CODE"].ToString(),
- style = "S",
- lm_user = us.usercode,
- lm_date = date
- }
- });
+ str = sql,
+ parm = new
+ {
+ defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
+ wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
+ partcode = json.Data.Rows[i]["MATERIEL_CODE"].ToString(),
+ stepseq = json.Data.Rows[i]["SEQ"].ToString(),
+ stepcode = json.Data.Rows[i]["STEP_CODE"].ToString(),
+ repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
+ laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
+ materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString()),
+ defect_code = json.Data.Rows[i]["DEFECT_CODE"].ToString(),
+ style = "S",
+ lm_user = us.usercode,
+ lm_date = date
+ }
+ });
+ }
+ else
+ {
+ //鏇存柊鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
+ sql = @"update CSR_WorkRecord_DefectHandle set repair_qty=repair_qty+@repair_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ where wo_code=@wo_code and step_code=@step_code and defect_id=@defect_id";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ defect_id = int.Parse(json.Data.Rows[i]["ID"].ToString()),
+ wo_code = json.Data.Rows[i]["WO_CODE"].ToString(),
+ step_code = json.Data.Rows[i]["STEP_CODE"].ToString(),
+ repair_qty = decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString()),
+ laborbad_qty = decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString()),
+ materielbad_qty = decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString())
+ }
+ });
+ }
sumrepair_qty = sumrepair_qty + decimal.Parse(json.Data.Rows[i]["REPAIR_QTY"].ToString());
sumlaborbad_qty = sumlaborbad_qty + decimal.Parse(json.Data.Rows[i]["LABORBAD_QTY"].ToString());
summaterielbad_qty = summaterielbad_qty + decimal.Parse(json.Data.Rows[i]["MATERIELBAD_QTY"].ToString());
@@ -2207,12 +2247,14 @@
stepcode = json.Data.Rows[0]["STEP_CODE"].ToString(),
sumrepair_qty = sumrepair_qty,
sumlaborbad_qty = sumlaborbad_qty,
- summaterielbad_qty= summaterielbad_qty
+ summaterielbad_qty = summaterielbad_qty
}
});
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "涓嶈壇澶勭悊", "宸ュ崟:" + json.Data.Rows[0]["WO_CODE"].ToString() + "宸ュ簭:" + json.Data.Rows[0]["STEP_CODE"].ToString(), us.usertype);
mes.code = "200";
mes.count = 0;
mes.Message = "鎿嶄綔鎴愬姛!";
@@ -2236,5 +2278,472 @@
return mes;
}
#endregion
+
+
+
+ #region[鐢熶骇鎵ц,鎶ュ伐璋冩暣鏁版嵁鏌ヨ鎺ュ彛]
+ public static ToMessage MesOrderStepVerifySearch(string wo_code, string partnumber, string partname, string partspec, 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 (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
+ 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,
+ 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;
+ 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 MesOrderStepModelSearch(string wo_code, string step_code, string step_type, string isbott, string isend, string id, string sbid)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (step_type == "Z")
+ {
+ sql = @"select D.id,D.record_id,D.defect_code,
+ STUFF((SELECT ',' + F.name
+ FROM TDefect F
+ WHERE CHARINDEX(',' + F.code + ',', ',' + D.defect_code + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS defect_name,
+ D.defect_qty,laborbad_qty,materielbad_qty
+ from CSR_WorkRecord_Defect D
+ where wo_code=@wo_code and step_code=@step_code and record_id=@id";
+ dynamicParams.Add("@wo_code", wo_code);
+ dynamicParams.Add("@step_code", step_code);
+ dynamicParams.Add("@id", id);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+
+ }
+ if (step_type == "W")
+ {
+ sql = @"select D.id,D.record_id,D.defect_code,
+ STUFF((SELECT ',' + F.name
+ FROM TDefect F
+ WHERE CHARINDEX(',' + F.code + ',', ',' + D.defect_code + ',') > 0
+ FOR XML PATH('')), 1, 1, '') AS defect_name,
+ D.defect_qty,laborbad_qty,materielbad_qty
+ from CSR_WorkRecord_Defect D
+ where wo_code=@wo_code and step_code=@step_code and record_id=@id";
+ dynamicParams.Add("@wo_code", wo_code);
+ dynamicParams.Add("@step_code", step_code);
+ dynamicParams.Add("@id", id);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鐢熶骇鎵ц,鎶ュ伐璋冩暣鏁版嵁鎻愪氦]
+ public static ToMessage MesOrderStepUpdateSeave(User us, List<UpdateProductReport> json)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
+ list.Clear();
+ //鍒ゆ柇褰撳墠宸ュ簭鏄嚜鍒跺伐搴忚繕鏄鍗忓伐搴�
+ if (json[0].flw_type.ToString() == "Z")//鑷埗宸ュ簭
+ {
+ //鑾峰彇姝ゆ鎶ュ伐璋冩暣鎻愪氦鐨勬暟鎹�(鍚堟牸鏁伴噺銆佷笉鑹暟閲忋�佸伐搴熸暟閲忋�佹枡搴熸暟閲�)
+ 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));//鏂欏簾鏁伴噺宸�兼眹鎬�
+ //棣栭亾宸ュ簭鐨勬姤宸�
+ if (json[0].first_choke == "Y")
+ {
+ //鏌ヨ褰撳墠棣栭亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+ 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);
+ 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_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()))
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鑷埗棣栭亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐鍗曚换鍔℃暟閲忥細銆�" + json[0].task_qty.ToString() + "銆�!";
+ 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 + decimal.Parse(json[0].report_qty) < last_updatereportsumqty))
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鑷埗棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+ //鏈亾宸ュ簭鐨勬姤宸�
+ else if (json[0].last_choke == "Y")
+ {
+ //鏌ヨ褰撳墠鏈亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+ 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);
+ 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_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(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(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);
+ 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_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(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;
+ }
+ }
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ 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 + decimal.Parse(json[0].report_qty)< last_updatereportsumqty))
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鑷埗宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ }
+
+ ///////////////////////////////淇敼鎶ュ伐//////////////////////////////
+
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曞瓙琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ sql = @"update TK_Wrk_RecordSub set report_qty=report_qty+@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='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ m_id = int.Parse(json[0].id),
+ id = int.Parse(json[0].sbid),
+ repair_qty = decimal.Parse(json[0].report_dvalue),
+ ng_qty = this_ng_dvalue,
+ laborbad_qty = this_laborbad_dvalue,
+ materielbad_qty = this_materielbad_dvalue,
+ //bad_money = decimal.Parse(json[i].badmoney_dvalue),
+ updatereportuser = us.usercode,
+ updatereportdate = date
+ }
+ });
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ 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
+ where wo_code=@wo_code and step_code=@step_code and id=@id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ good_qty = decimal.Parse(json[0].report_dvalue),
+ ng_qty = this_ng_dvalue,
+ laborbad_qty = this_laborbad_dvalue,
+ materielbad_qty = this_materielbad_dvalue,
+ wo_code = json[0].wo_code,
+ step_code = json[0].step_code,
+ id = int.Parse(json[0].id)
+ }
+ });
+ //鍥炲啓宸ュ崟宸ュ簭琛�
+ sql = @"update TK_Wrk_Step set good_qty=good_qty+@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";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ good_qty = decimal.Parse(json[0].report_dvalue),
+ ng_qty = this_ng_dvalue,
+ laborbad_qty = this_laborbad_dvalue,
+ materielbad_qty = this_materielbad_dvalue,
+ wo_code = json[0].wo_code,
+ step_code = json[0].step_code
+ }
+ });
+
+ for (int i = 0; i < json[0].children.Count; i++)
+ {
+ //鍥炲啓涓嶈壇
+ sql = @"update CSR_WorkRecord_Defect set defect_qty=defect_qty+@ng_qty,defect_pendqty=defect_pendqty+@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=@ng_id and record_id=@record_id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ ng_qty = decimal.Parse(json[0].children[i].ng_dvalue),
+ laborbad_qty = decimal.Parse(json[0].children[i].laborbad_dvalue),
+ materielbad_qty = decimal.Parse(json[0].children[i].materielbad_dvalue),
+ wo_code = json[0].wo_code,
+ step_code = json[0].step_code,
+ ng_id = int.Parse(json[0].children[i].ng_id),
+ record_id = json[0].id,
+ updatereportuser = us.usercode,
+ updatereportdate = date
+ }
+ });
+ //鍥炲啓涓嶈壇澶勭悊
+ sql = @"update CSR_WorkRecord_DefectHandle set laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+ where wo_code=@wo_code and step_code=@step_code and defect_id=@defect_id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ laborbad_qty = decimal.Parse(json[0].children[i].laborbad_dvalue),
+ materielbad_qty = decimal.Parse(json[0].children[i].materielbad_dvalue),
+ wo_code = json[0].wo_code,
+ step_code = json[0].step_code,
+ defect_id = int.Parse(json[0].children[i].ng_id),
+ updatereportuser = us.usercode,
+ updatereportdate = date
+ }
+ });
+ }
+ }
+ if (json[0].flw_type.ToString() == "W")//澶栧崗宸ュ簭
+ {
+
+ }
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "淇敼鎶ュ伐鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "淇敼鎶ュ伐澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
}
--
Gitblit v1.9.3