From c43a4dfbc7a80d6be6e9823cdd0e182898fc2562 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 05 九月 2024 14:06:58 +0800
Subject: [PATCH] 1.生产报工根据工单、工序获取设备/外协供应商信息
---
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 803 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 564 insertions(+), 239 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 82a768b..35dce96 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -24,6 +24,7 @@
public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+ public static string sqlServerConnectString = AppSetting.GetAppSetting("DBServer");
#region[ERP璁㈠崟鏌ヨ]
@@ -625,7 +626,8 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
- A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,
+ A.data_sources,A.isstep,A.clerkuser,A.bom_id,M.version
from TK_Wrk_Man A
left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -634,6 +636,7 @@
left join TUser U on A.lm_user=U.usercode
left join TOrganization L on C.parent_id=L.id
left join TFlw_Rout R on A.route_code=R.code
+ left join TBom_Main M on A.bom_id=M.id
where A.is_delete<>'1' " + search;
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
@@ -808,19 +811,77 @@
}
}
//鑾峰彇宸ュ簭淇℃伅
- sql = @"select S.wo_code,S.seq,S.step_code,T.stepname,S.stepprice,(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ sql = @"select S.id,S.wo_code,S.seq,S.step_code,T.stepname,T.flwtype,S.stepprice as unprice,(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty,(isnull(S.plan_qty,0)-(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0))) as delive_qty,S.isbott,S.isend
from TK_Wrk_Step S
left join TStep T on S.step_code=T.stepcode
where S.wo_code=@wocode order by S.seq ";
dynamicParams.Add("@wocode", wocode);
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ var parents = DapperHelper.select<WorkRouteStepEqp>(sql, dynamicParams);
+ //鑾峰彇宸ュ簭瀵瑰簲璁惧淇℃伅
+ for (int i = 0; i < parents.Count; i++)
+ {
+ if (parents[i].flwtype == "Z")
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲璁惧淇℃伅
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TEqpInfo E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+ else
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲澶栧崗渚涘簲鍟嗕俊鎭�
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TCustomer E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+
+ }
+
+
dir.Add("canupdate_qty", canupdate_qty);
- dir.Add("stepdata", data1);
+ dir.Add("stepdata", parents);
mes.code = "200";
- mes.count = data1.Rows.Count;
+ mes.count = parents.Count;
mes.message = "鏌ヨ鎴愬姛";
mes.data = dir;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板缂栬緫鏃�,鏍规嵁浜у搧鑾峰彇Bom鐗╂枡娓呭崟]
+ public static ToMessage MesOrderAddUpdateBomVison(string partnumber)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ sql = @" select id,version from TBom_Main where materiel_code=@partnumber and status='Y' order by version desc ";
+ dynamicParams.Add("@partnumber", partnumber);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
}
catch (Exception e)
{
@@ -839,216 +900,280 @@
string sql = "", route_code = "";
var dynamicParams = new DynamicParameters();
List<object> list = new List<object>();
- try
+ using (var conn = new SqlConnection(sqlServerConnectString))
{
- dynamic dynObj = JObject.Parse(us.mesSetting);
- bool route = dynObj.route;
- if (route) //宸ヨ壓璺嚎鐗�
+ conn.Open();
+ using (var transaction = conn.BeginTransaction())
{
- route_code = json.routecode;
- }
- else //宸ュ簭鐗�
- {
- route_code = null;
- }
- if (operType == "Add")
- {
- //鍐欏叆宸ュ崟琛�
- sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
- values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
- list.Add(new
+ try
{
- str = sql,
- parm = new
+ dynamic dynObj = JObject.Parse(us.mesSetting);
+ bool route = dynObj.route;
+ if (route) //宸ヨ壓璺嚎鐗�
{
- wo_code = json.wocode,
- wotype = json.wotype,
- status = json.wostatus,
- wkshp_code = json.wkshopcode,
- plan_qty = json.woqty,
- lm_user = us.usercode,
- lm_date = DateTime.Now.ToString(),
- materiel_code = json.partcode,
- route_code = route_code,
- sourceid = json.sourceid == "" ? null : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
- m_po = json.sourcewo,
- saleOrderDeliveryDate = json.deliverydate,
- plan_startdate = json.paystartdate,
- plan_enddate = json.payenddate,
- orderlev = "3",//浼樺厛绾э細鐗圭骇锛�1锛� 绱ф�ワ紙2锛� 姝e父锛�3锛�
- isaps = "N", //鏄惁鎺掍骇,榛樿N Y=鏄� N=鍚�
- data_sources = json.data_sources,
- isstep = json.isstep //鏄惁鍏宠仈宸ュ簭
+ route_code = json.routecode;
}
- });
- //鍐欏叆宸ュ簭浠诲姟琛�
- for (int i = 0; i < json.WorkListSub.Count; i++)
- {
- sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
- values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
- list.Add(new
+ else //宸ュ簭鐗�
{
- str = sql,
- parm = new
- {
- wo_code = json.wocode,
- seq = json.WorkListSub[i].stepseq,
- step_code = json.WorkListSub[i].stepcode,
- route_code = route_code,
- stepprice = json.WorkListSub[i].stepprice,
- plan_qty = json.woqty,
- status = json.wostatus,
- isbott = json.WorkListSub[i].isbott,
- isend = json.WorkListSub[i].isend,
- lm_user = us.usercode,
- lm_date = DateTime.Now.ToString()
- }
- });
- }
- bool aa = DapperHelper.DoTransaction(list);
- if (aa)
- {
- //鍐欏叆鎿嶄綔璁板綍琛�
- LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗伐鍗�:" + json.wocode, us.usertype);
- mes.code = "200";
- mes.count = 0;
- mes.message = "MES宸ュ崟鏂板缓鎴愬姛!";
- mes.data = null;
- }
- else
- {
- mes.code = "300";
- mes.count = 0;
- mes.message = "MES宸ュ崟鏂板缓澶辫触!";
- mes.data = null;
- }
- }
- if (operType == "Update")
- {
- //淇敼宸ュ崟琛�
- sql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
- materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
- where wo_code=@wo_code";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo_code = json.wocode,
- wotype = json.wotype,
- wkshp_code = json.wkshopcode,
- plan_qty = json.woqty,
- materiel_code = json.partcode,
- route_code = route_code,
- sourceid = json.sourceid == "" ? null : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
- m_po = json.sourcewo,
- saleOrderDeliveryDate = json.deliverydate,
- plan_startdate = json.paystartdate,
- plan_enddate = json.payenddate,
- lm_user = us.usercode,
- lm_date = DateTime.Now.ToString(),
- isstep = json.isstep //鏄惁鍏宠仈宸ュ簭
+ route_code = null;
}
- });
- //鍒犻櫎宸ュ崟宸ュ簭琛�
- sql = @"delete TK_Wrk_Step where wo_code=@wo_code";
- list.Add(new
- {
- str = sql,
- parm = new
+ if (operType == "Add")
{
- wo_code = json.wocode
- }
- });
- //鍐欏叆宸ュ崟宸ュ簭琛�
- for (int i = 0; i < json.WorkListSub.Count; i++)
- {
- sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
- values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- wo_code = json.wocode,
- seq = json.WorkListSub[i].stepseq,
- step_code = json.WorkListSub[i].stepcode,
- route_code = route_code,
- stepprice = json.WorkListSub[i].stepprice,
- plan_qty = json.woqty,
- status = json.wostatus,
- isbott = json.WorkListSub[i].isbott,
- isend = json.WorkListSub[i].isend,
- lm_user = us.usercode,
- lm_date = DateTime.Now.ToString()
- }
- });
- }
- //鍒ゆ柇婧愬ご鍗曟嵁鏄惁鏉ユ簮ERP
- if (json.data_sources == "ERP")
- {
- //鍒ゆ柇宸ュ崟淇敼鏁伴噺宸�兼槸鍚︿负0
- if (json.difference != "0")
- {
- string staus = "";
- //鏌ヨ璁㈠崟鎬绘暟,宸蹭笅杈炬暟閲�
- sql = @"select qty,relse_qty from TKimp_Ewo where id=@sourceid and wo=@sourcewo";
- dynamicParams.Add("@sourceid", json.sourceid);
- dynamicParams.Add("@sourcewo", json.sourcewo);
- var data0 = DapperHelper.selectdata(sql, dynamicParams);
- //褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鏁伴噺-闈炲綋鍓嶅伐鍗曟�讳笅杈惧伐鍗曟暟閲�
- decimal qty = decimal.Parse(data0.Rows[0]["qty"].ToString());//璁㈠崟鎬绘暟
- decimal relse_qty = decimal.Parse(data0.Rows[0]["relse_qty"].ToString());//璁㈠崟宸蹭笅杈炬�绘暟
- relse_qty = relse_qty + decimal.Parse(json.difference);//鏂扮殑涓嬭揪鏁伴噺=鍘熷涓嬭揪鏁伴噺+宸��(姝h礋)
- if (qty == relse_qty)
- {
- staus = "CREATED"; //鍏ㄩ儴涓嬭揪
- }
- else
- {
- staus = "CREATING";//閮ㄥ垎涓嬭揪
- }
- //鏇存柊璁㈠崟琛ㄧ姸鎬併�佸凡涓嬭揪鏁伴噺
- sql = @"update TKimp_Ewo set status=@status,relse_qty=@relse_qty where id=@sourceid and wo=@sourcewo";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- status = staus,
- relse_qty = relse_qty,
- sourceid = json.sourceid,
- sourcewo = json.sourcewo
- }
- });
- }
- }
+ // 鍋囪浣犲凡缁忔湁浜嗘彃鍏ヤ富琛ㄥ拰瀛愯〃鐨凷QL璇彞
+ //鍐欏叆宸ュ崟琛�
+ string workSql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep,bom_id)
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep,@bom_id)";
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ string masterInsertSql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date); SELECT CAST(SCOPE_IDENTITY() AS INT)";
+ //鍐欏叆宸ュ崟宸ュ簭璁惧琛�
+ string detailInsertSql = @"insert into TK_Wrk_StepEqp(m_id,eqp_code,eqpprice)
+ values(@m_id,@eqp_code,@eqpprice)";
+ //鍐欏叆宸ュ崟鐢ㄦ枡琛�
+ string workall = @"insert into TK_Wrk_Allo(wo_code,seq,materiel_code,qty,status,bom_id,stck_code,stopfeed,base_quantity,total_quantity,m_quantity,loss_quantity)
+ select @wocode,A.seq,A.materiel_code,(convert(decimal(18, 0), @woqty)*A.Base_Quantity*(1+A.LOSS_QUANTITY/100))/C.quantity,
+ 'NEW',A.m_id,'','N',A.base_quantity,A.total_quantity,C.quantity,A.loss_quantity
+ from TBom_Deta A
+ left join TBom_Main C on A.m_Id=C.id
+ left join TMateriel_Info B on A.materiel_code = B.partcode
+ where A.m_id=@bom_id";
- bool aa = DapperHelper.DoTransaction(list);
- if (aa)
- {
- //鍐欏叆鎿嶄綔璁板綍琛�
- LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗伐鍗�:" + json.wocode, us.usertype);
- mes.code = "200";
- mes.count = 0;
- mes.message = "淇敼鎿嶄綔鎴愬姛!";
- mes.data = null;
+ // 鎻掑叆宸ュ崟琛�
+ var workParam = new DynamicParameters();
+ workParam.Add("@wo_code", json.wocode);
+ workParam.Add("@wotype", json.wotype);
+ workParam.Add("@status", json.wostatus);
+ workParam.Add("@wkshp_code", json.wkshopcode);
+ workParam.Add("@plan_qty", json.woqty);
+ workParam.Add("@lm_user", us.usercode);
+ workParam.Add("@lm_date", DateTime.Now.ToString());
+ workParam.Add("@materiel_code", json.partcode);
+ workParam.Add("@route_code", route_code);
+ workParam.Add("@sourceid", json.sourceid == "" ? null : json.sourceid);
+ workParam.Add("@m_po", json.sourcewo);
+ workParam.Add("@saleOrderDeliveryDate", json.deliverydate);
+ workParam.Add("@plan_startdate", json.paystartdate);
+ workParam.Add("@plan_enddate", json.payenddate);
+ workParam.Add("@orderlev", "3");//浼樺厛绾э細鐗圭骇锛�1锛� 绱ф�ワ紙2锛� 姝e父锛�3锛�
+ workParam.Add("@isaps", "N");//鏄惁鎺掍骇,榛樿N Y=鏄� N=鍚�
+ workParam.Add("@data_sources", json.data_sources);
+ workParam.Add("@isstep", json.isstep);//鏄惁鍏宠仈宸ュ簭
+ workParam.Add("@bom_id", string.IsNullOrEmpty(json.bomid) ? null : json.bomid);// 鐗╂枡璇峰崟Bomid
+ conn.Execute(workSql, workParam, transaction);
+
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ for (int i = 0; i < json.WorkListSub.Count; i++)
+ {
+ // 鎻掑叆涓昏〃骞惰幏鍙栨柊鎻掑叆鐨処D
+ var masterParam = new DynamicParameters();
+ masterParam.Add("@wo_code", json.wocode);
+ masterParam.Add("@seq", json.WorkListSub[i].stepseq);
+ masterParam.Add("@step_code", json.WorkListSub[i].stepcode);
+ masterParam.Add("@route_code", route_code);
+ masterParam.Add("@stepprice", json.WorkListSub[i].unprice);
+ masterParam.Add("@plan_qty", json.woqty);
+ masterParam.Add("@status", json.wostatus);
+ masterParam.Add("@isbott", json.WorkListSub[i].isbott);
+ masterParam.Add("@isend", json.WorkListSub[i].isend);
+ masterParam.Add("@lm_user", us.usercode);
+ masterParam.Add("@lm_date", DateTime.Now.ToString());
+
+ int masterId = Convert.ToInt32(conn.ExecuteScalar(masterInsertSql, masterParam, transaction));
+
+ // 鍐欏叆宸ュ簭浠诲姟琛�
+ foreach (var detail in json.WorkListSub[i].WorkEqpListSub)
+ {
+ var detailParam = new DynamicParameters();
+ detailParam.Add("@m_id", masterId);
+ detailParam.Add("@eqp_code", detail.eqpcode);
+ detailParam.Add("@eqpprice", detail.unprice);
+ conn.Execute(detailInsertSql, detailParam, transaction);
+ }
+ }
+ //鍐欏叆宸ュ崟鐢ㄦ枡琛�(瀛愪欢)
+ if (json.bomid != "" && json != null)
+ {
+ var workallParam = new DynamicParameters();
+ workallParam.Add("@wocode", json.wocode);
+ workallParam.Add("@woqty", json.woqty);
+ workallParam.Add("@bom_id", json.bomid);
+ conn.Execute(workall, workallParam, transaction);
+ }
+
+ // 鎵�鏈夋彃鍏ユ垚鍔燂紝鎻愪氦浜嬪姟
+ transaction.Commit();
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "MES宸ュ崟鏂板缓鎴愬姛!";
+ mes.data = null;
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗伐鍗�:" + json.wocode, us.usertype);
+ }
+ if (operType == "Update")
+ {
+ //閫氳繃宸ュ崟鏌ユ壘宸ュ簭浠诲姟
+ sql = @"select * from TK_Wrk_Step where wo_code=@wo_code";
+ dynamicParams.Add("@wo_code", json.wocode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+
+ // 鍋囪浣犲凡缁忔湁浜嗘彃鍏ヤ富琛ㄥ拰瀛愯〃鐨凷QL璇彞
+ //淇敼宸ュ崟琛�
+ string workSql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
+ materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep,bom_id=@bom_id
+ where wo_code=@wo_code";
+ //鍒犻櫎宸ュ崟宸ュ簭璁惧琛�
+ string deleteWrkStepEqp = @"delete TK_Wrk_StepEqp where m_id=@m_id";
+ //鍒犻櫎宸ュ崟宸ュ簭琛�
+ string deleteWrkStep = @"delete TK_Wrk_Step where wo_code=@wo_code";
+ //鍒犻櫎宸ュ崟鐢ㄦ枡琛�
+ string deleteWrkALL = @"delete TK_Wrk_Allo where wo_code=@wo_code";
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ string masterInsertSql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date); SELECT CAST(SCOPE_IDENTITY() AS INT)";
+ //鍐欏叆宸ュ崟宸ュ簭璁惧琛�
+ string detailInsertSql = @"insert into TK_Wrk_StepEqp(m_id,eqp_code,eqpprice)
+ values(@m_id,@eqp_code,@eqpprice)";
+ //鍐欏叆宸ュ崟鐢ㄦ枡琛�
+ string InsertWorkALL = @"insert into TK_Wrk_Allo(wo_code,seq,materiel_code,qty,status,bom_id,stck_code,stopfeed,base_quantity,total_quantity,m_quantity,loss_quantity)
+ select @wocode,A.seq,A.materiel_code,(convert(decimal(18, 0), @woqty)*A.Base_Quantity*(1+A.LOSS_QUANTITY/100))/C.quantity,
+ 'NEW',A.m_id,'','N',A.base_quantity,A.total_quantity,C.quantity,A.loss_quantity
+ from TBom_Deta A
+ left join TBom_Main C on A.m_Id=C.id
+ left join TMateriel_Info B on A.materiel_code = B.partcode
+ where A.m_id=@bom_id";
+ //淇敼鐢熶骇璁㈠崟琛ㄧ姸鎬併�佸凡涓嬭揪鏁伴噺
+ string EwoStatusSql = @"update TKimp_Ewo set status=@status,relse_qty=@relse_qty where id=@sourceid and wo=@sourcewo";
+
+
+ // 淇敼宸ュ崟琛�
+ var workParam = new DynamicParameters();
+ workParam.Add("@wo_code", json.wocode);
+ workParam.Add("@wotype", json.wotype);
+ workParam.Add("@wkshp_code", json.wkshopcode);
+ workParam.Add("@plan_qty", json.woqty);
+ workParam.Add("@lm_user", us.usercode);
+ workParam.Add("@lm_date", DateTime.Now.ToString());
+ workParam.Add("@materiel_code", json.partcode);
+ workParam.Add("@route_code", route_code);
+ workParam.Add("@sourceid", json.sourceid == "" ? null : json.sourceid);
+ workParam.Add("@m_po", json.sourcewo);
+ workParam.Add("@saleOrderDeliveryDate", json.deliverydate);
+ workParam.Add("@plan_startdate", json.paystartdate);
+ workParam.Add("@plan_enddate", json.payenddate);
+ workParam.Add("@isstep", json.isstep);//鏄惁鍏宠仈宸ュ簭
+ workParam.Add("@bom_id", string.IsNullOrEmpty(json.bomid) ? null : json.bomid);//鐗╂枡娓呭崟BOMid
+ conn.Execute(workSql, workParam, transaction);
+
+ //鍒犻櫎宸ュ崟宸ュ簭璁惧琛�
+ for (int i = 0; i < data.Rows.Count; i++)
+ {
+ var wrkStepEqpParam = new DynamicParameters();
+ wrkStepEqpParam.Add("@m_id", data.Rows[i]["ID"].ToString());
+ conn.Execute(deleteWrkStepEqp, wrkStepEqpParam, transaction);
+ }
+
+
+ //鍒犻櫎宸ュ崟宸ュ簭琛�
+ var workStepParam = new DynamicParameters();
+ workStepParam.Add("@wo_code", json.wocode);
+ conn.Execute(deleteWrkStep, workStepParam, transaction);
+
+ //鍒犻櫎宸ュ崟鐢ㄦ枡琛�
+ var deleteWrkALLParam = new DynamicParameters();
+ deleteWrkALLParam.Add("@wo_code", json.wocode);
+ conn.Execute(deleteWrkALL, deleteWrkALLParam, transaction);
+
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ for (int i = 0; i < json.WorkListSub.Count; i++)
+ {
+ // 鎻掑叆涓昏〃骞惰幏鍙栨柊鎻掑叆鐨処D
+ var masterParam = new DynamicParameters();
+ masterParam.Add("@wo_code", json.wocode);
+ masterParam.Add("@seq", json.WorkListSub[i].stepseq);
+ masterParam.Add("@step_code", json.WorkListSub[i].stepcode);
+ masterParam.Add("@route_code", route_code);
+ masterParam.Add("@stepprice", json.WorkListSub[i].unprice);
+ masterParam.Add("@plan_qty", json.woqty);
+ masterParam.Add("@status", json.wostatus);
+ masterParam.Add("@isbott", json.WorkListSub[i].isbott);
+ masterParam.Add("@isend", json.WorkListSub[i].isend);
+ masterParam.Add("@lm_user", us.usercode);
+ masterParam.Add("@lm_date", DateTime.Now.ToString());
+
+ int masterId = Convert.ToInt32(conn.ExecuteScalar(masterInsertSql, masterParam, transaction));
+
+ // 鍐欏叆宸ュ簭浠诲姟琛�
+ foreach (var detail in json.WorkListSub[i].WorkEqpListSub)
+ {
+ var detailParam = new DynamicParameters();
+ detailParam.Add("@m_id", masterId);
+ detailParam.Add("@eqp_code", detail.eqpcode);
+ detailParam.Add("@eqpprice", detail.unprice);
+ conn.Execute(detailInsertSql, detailParam, transaction);
+ }
+ }
+ //鍐欏叆宸ュ崟鐢ㄦ枡琛�
+ if (json.bomid != "" && json.bomid != null)
+ {
+ var InsertWorkALLParam = new DynamicParameters();
+ InsertWorkALLParam.Add("@wocode", json.wocode);
+ InsertWorkALLParam.Add("@woqty", json.woqty);
+ InsertWorkALLParam.Add("@bom_id", json.bomid);
+ conn.Execute(InsertWorkALL, InsertWorkALLParam, transaction);
+ }
+ //鍒ゆ柇婧愬ご鍗曟嵁鏄惁鏉ユ簮ERP
+ if (json.data_sources == "ERP")
+ {
+ //鍒ゆ柇宸ュ崟淇敼鏁伴噺宸�兼槸鍚︿负0
+ if (json.difference != "0")
+ {
+ string staus = "";
+ //鏌ヨ璁㈠崟鎬绘暟,宸蹭笅杈炬暟閲�
+ sql = @"select qty,relse_qty from TKimp_Ewo where id=@sourceid and wo=@sourcewo";
+ dynamicParams.Add("@sourceid", json.sourceid);
+ dynamicParams.Add("@sourcewo", json.sourcewo);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ //褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鏁伴噺-闈炲綋鍓嶅伐鍗曟�讳笅杈惧伐鍗曟暟閲�
+ decimal qty = decimal.Parse(data0.Rows[0]["qty"].ToString());//璁㈠崟鎬绘暟
+ decimal relse_qty = decimal.Parse(data0.Rows[0]["relse_qty"].ToString());//璁㈠崟宸蹭笅杈炬�绘暟
+ relse_qty = relse_qty + decimal.Parse(json.difference);//鏂扮殑涓嬭揪鏁伴噺=鍘熷涓嬭揪鏁伴噺+宸��(姝h礋)
+ if (qty == relse_qty)
+ {
+ staus = "CREATED"; //鍏ㄩ儴涓嬭揪
+ }
+ else
+ {
+ staus = "CREATING";//閮ㄥ垎涓嬭揪
+ }
+ //鏇存柊璁㈠崟琛ㄧ姸鎬併�佸凡涓嬭揪鏁伴噺
+ var EwoStatusParam = new DynamicParameters();
+ EwoStatusParam.Add("@status", staus);
+ EwoStatusParam.Add("@relse_qty", relse_qty);
+ EwoStatusParam.Add("@sourceid", json.sourceid);
+ EwoStatusParam.Add("@sourcewo", json.sourcewo);
+ conn.Execute(EwoStatusSql, EwoStatusParam, transaction);
+ }
+ }
+ // 鎵�鏈夋彃鍏ユ垚鍔燂紝鎻愪氦浜嬪姟
+ transaction.Commit();
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "淇敼鎿嶄綔鎴愬姛!";
+ mes.data = null;
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗伐鍗�:" + json.wocode, us.usertype);
+ }
}
- else
+ catch (Exception e)
{
+ // 鎹曡幏寮傚父锛屽洖婊氫簨鍔�
+ transaction.Rollback();
mes.code = "300";
mes.count = 0;
- mes.message = "淇敼鎿嶄綔澶辫触!";
+ mes.message = e.Message;
mes.data = null;
}
}
- }
- catch (Exception e)
- {
- mes.code = "300";
- mes.count = 0;
- mes.message = e.Message;
- mes.data = null;
}
return mes;
}
@@ -1089,13 +1214,22 @@
list.Add(new { str = sql, parm = new { m_po = m_po, souceid = souceid, orderqty = decimal.Parse(orderqty) } });
}
}
+ //鍒犻櫎宸ュ崟宸ュ簭璁惧琛�
+ sql = @"select * from TK_Wrk_Step where wo_code=@wo_code";
+ dynamicParams.Add("@wo_code", wocode);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ for (int i = 0; i < data1.Rows.Count; i++)
+ {
+ sql = @"delete TK_Wrk_StepEqp where m_id=@m_id";
+ list.Add(new { str = sql, parm = new { m_id = data1.Rows[i]["ID"].ToString() } });
+ }
//鍒犻櫎宸ュ崟宸ュ簭琛�
sql = @"delete TK_Wrk_Step where wo_code=@wocode";
list.Add(new { str = sql, parm = new { wocode = wocode } });
//鍒犻櫎鍔犲伐鍗曠敤鏂欒〃(瀛愪欢)
- //sql = @"delete TK_Wrk_Allo where wo_code=@wocode";
- //list.Add(new { str = sql, parm = new { wocode = wocode } });
+ sql = @"delete TK_Wrk_Allo where wo_code=@wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocode } });
//鍒犻櫎宸ュ崟琛�
sql = @"delete TK_Wrk_Man where wo_code=@wocode";
@@ -1143,6 +1277,7 @@
var sql = "";
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
+ List<WorkRouteStepEqp> parents = new List<WorkRouteStepEqp>();
try
{
dynamic dynObj = JObject.Parse(us.mesSetting);
@@ -1150,35 +1285,182 @@
if (route) //宸ヨ壓璺嚎鐗�
{
//MES宸ュ崟鏌ユ壘鍘嗗彶寮曠敤鏈�鏂板伐搴忎俊鎭�
- sql = @"select S.wo_code,S.seq,S.step_code,S.stepprice,isbott,isend
- from TK_Wrk_Step S
- inner join (
- select top 1 A.wo_code,A.route_code from TK_Wrk_Man A
- inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.route_code=S.route_code
- where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode and A.route_code=@routecode
- order by A.lm_date desc
- ) as W on S.wo_code=W.wo_code and S.route_code=W.route_code
- left join TStep T on S.step_code=T.stepcode
- order by S.seq";
+ sql = @"select S.id,S.wo_code,S.seq,S.step_code,T.stepname,T.flwtype,S.stepprice as unprice,'0' as produceq_qty,
+ '0' as good_qty,'0' as ng_qty,'0' as laborbad_qty,'0' as materielbad_qty,'0' as delive_qty,isbott,isend
+ from TK_Wrk_Step S
+ inner join (
+ select top 1 S.id,A.wo_code,A.route_code from TK_Wrk_Man A
+ inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.route_code=S.route_code
+ where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode and A.route_code=@routecode
+ order by A.lm_date desc
+ ) as W on S.wo_code=W.wo_code and S.route_code=W.route_code
+ left join TStep T on S.step_code=T.stepcode
+ order by S.seq";
dynamicParams.Add("@wkshopcode", wkshopcode);
dynamicParams.Add("@partcode", partcode);
dynamicParams.Add("@routecode", routecode);
+ parents = DapperHelper.select<WorkRouteStepEqp>(sql, dynamicParams);
+ //鑾峰彇宸ュ簭瀵瑰簲璁惧淇℃伅
+ for (int i = 0; i < parents.Count; i++)
+ {
+ if (parents[i].flwtype == "Z")
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲璁惧淇℃伅
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TEqpInfo E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+ else
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲澶栧崗渚涘簲鍟嗕俊鎭�
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TCustomer E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+ }
}
else
{
//MES宸ュ崟鏌ユ壘鍘嗗彶寮曠敤鏈�鏂板伐搴忎俊鎭�
- sql = @"select S.wo_code,S.seq,S.step_code,S.stepprice,isbott,isend
- from TK_Wrk_Step S
- inner join (
- select top 1 A.wo_code from TK_Wrk_Man A
- inner join TK_Wrk_Step S on A.wo_code=S.wo_code
- where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode
- order by A.lm_date desc
- ) as W on S.wo_code=W.wo_code
- left join TStep T on S.step_code=T.stepcode
- order by S.seq";
+ sql = @"select S.id,S.wo_code,S.seq,S.step_code,T.stepname,T.flwtype,S.stepprice as unprice,'0' as produceq_qty,
+ '0' as good_qty,'0' as ng_qty,'0' as laborbad_qty,'0' as materielbad_qty,'0' as delive_qty,isbott,isend
+ from TK_Wrk_Step S
+ inner join (
+ select top 1 A.wo_code from TK_Wrk_Man A
+ inner join TK_Wrk_Step S on A.wo_code=S.wo_code
+ where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode
+ order by A.lm_date desc
+ ) as W on S.wo_code=W.wo_code
+ left join TStep T on S.step_code=T.stepcode
+ order by S.seq";
dynamicParams.Add("@wkshopcode", wkshopcode);
dynamicParams.Add("@partcode", partcode);
+ parents = DapperHelper.select<WorkRouteStepEqp>(sql, dynamicParams);
+ //鑾峰彇宸ュ簭瀵瑰簲璁惧淇℃伅
+ for (int i = 0; i < parents.Count; i++)
+ {
+ if (parents[i].flwtype == "Z")
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲璁惧淇℃伅
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TEqpInfo E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+ else
+ {
+ //閫氳繃宸ヨ壓璺嚎宸ュ簭琛↖D鏌ユ壘瀵瑰簲澶栧崗渚涘簲鍟嗕俊鎭�
+ sql = @"select S.eqp_code,E.name as eqp_name,S.eqpprice as unprice,'Y' as enable,
+ (isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty
+ from TK_Wrk_StepEqp S
+ inner join TCustomer E on S.eqp_code=E.code
+ where S.m_id=@m_id";
+ dynamicParams.Add("@m_id", parents[i].id);
+ var children = DapperHelper.select<WorkRouteStepEqpSub>(sql, dynamicParams);
+ parents[i].children = children.ToList();
+ }
+ }
+ }
+ mes.code = "200";
+ mes.count = parents.Count;
+ mes.data = parents;
+ mes.message = "鏌ヨ鎴愬姛!";
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏌ョ湅宸ュ崟SOP]
+ public static ToMessage MesOrderSopSearch(string wocode, string materielcode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇SOP鏂囦欢淇℃伅
+ sql = @"select filename,filepath,version from TWrkOrderSop
+ where wo=@wocode and materielcode=@materielcode
+ order by version";
+ dynamicParams.Add("@wocode", wocode);
+ dynamicParams.Add("@materielcode", materielcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.message = "褰撳墠宸ュ崟浜у搧鏆傛棤SOP鏂囦欢!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏌ョ湅宸ヨ壓SOP]
+ public static ToMessage MesOrderProcessSopSearch(string materielcode, string routecode, string stepcode, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ dynamic dynObj = JObject.Parse(us.mesSetting);
+ bool route = dynObj.route;
+ if (route) //宸ヨ壓璺嚎鐗�
+ {
+ //鑾峰彇SOP鏂囦欢淇℃伅
+ sql = @"select filename,filepath,version from TProcessSop
+ where materielcode=@materielcode and routecode=@routecode and stepcode=@stepcode
+ order by version";
+ dynamicParams.Add("@materielcode", materielcode);
+ dynamicParams.Add("@routecode", routecode);
+ dynamicParams.Add("@stepcode", stepcode);
+ }
+ else
+ {
+ //鑾峰彇SOP鏂囦欢淇℃伅
+ sql = @"select filename,filepath,version from TProcessSop
+ where materielcode=@materielcode and stepcode=@stepcode
+ order by version";
+ dynamicParams.Add("@materielcode", materielcode);
+ dynamicParams.Add("@stepcode", stepcode);
}
var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1838,10 +2120,55 @@
else //涓嶆寜搴忔敹鍙戞枡
{
mes = ScanStartReport.NoWXEncodingSeach(SelectType, wocode, stepcode);
- }
+ }
break;
default:
break;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region [鐢熶骇寮�鎶ュ伐锛氭姤宸�/澶栧崗(鍙戞枡/鏀舵枡)鏃惰幏鍙栬澶�/澶栧崗渚涘簲鍟嗘暟鎹繑鍥炴帴鍙
+ public static ToMessage MesOrderStepDeviceCusstomer(string operType, string wocode, string stepcode, User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (operType == "ZZ")
+ {
+ sql = @"select E.eqp_code as code,D.name,E.eqpprice from TK_Wrk_Step S
+ inner join TK_Wrk_StepEqp E on S.id=E.m_id
+ left join TEqpInfo D on E.eqp_code=D.code
+ where S.wo_code=@wocode and S.step_code=@stepcode and D.enable='Y'";
+ dynamicParams.Add("@wocode", wocode);
+ dynamicParams.Add("@stepcode", stepcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ if (operType == "WX")
+ {
+ sql = @"select E.eqp_code as code,C.name,E.eqpprice from TK_Wrk_Step S
+ inner join TK_Wrk_StepEqp E on S.id=E.m_id
+ inner join TCustomer C on E.eqp_code=C.code
+ where S.wo_code=@wocode and S.step_code=@stepcode ";
+ dynamicParams.Add("@wocode", wocode);
+ dynamicParams.Add("@stepcode", stepcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
}
}
catch (Exception e)
@@ -2030,8 +2357,6 @@
}
}
}
-
-
//鍥炲啓宸ュ崟宸ュ簭琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲�
sql = @"update TK_Wrk_Step set good_qty=good_qty+@reportqty,ng_qty=ng_qty+@ngqty where wo_code=@mesordercode and step_code=@stepcode";
list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, reportqty = reportqty, ngqty = ngqty } });
@@ -2153,7 +2478,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐,鏀舵枡鎻愪氦]
- public static ToMessage SavaMesOrderStepIn(string mesordercode, string partcode, string stepseq, string stepcode, string wxcode, string inbarcode, string inuser, string taskqty, string sqty, List<ReportDefectList> defectobjs, string remarks, User us)
+ public static ToMessage SavaMesOrderStepIn(string mesordercode, string partcode, string stepseq, string stepcode,string stepprice, string wxcode, string inbarcode, string inuser, string taskqty, string sqty, List<ReportDefectList> defectobjs, string remarks, User us)
{
var sql = "";
string[] arra1 = new string[] { };
@@ -2241,9 +2566,9 @@
sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_OutRecord')+1,1) as id";
var dt = DapperHelper.selecttable(sql);
//鍐欏叆澶栧崗璁板綍涓昏〃
- sql = @"insert into TK_Wrk_OutRecord(wo_code,step_seq,step_code,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date,inbarcode)
- values(@mesordercode,@stepseq,@stepcode,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date,@inbarcode)";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
+ sql = @"insert into TK_Wrk_OutRecord(wo_code,step_seq,step_code,step_price,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date,inbarcode)
+ values(@mesordercode,@stepseq,@stepcode,@step_price,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date,@inbarcode)";
+ list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode,step_price=stepprice, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆澶栧崗璁板綍瀛愯〃
sql = @"insert into TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date)
@@ -2268,9 +2593,9 @@
sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_OutRecord')+1,1) as id";
var dt = DapperHelper.selecttable(sql);
//鍐欏叆澶栧崗璁板綍涓昏〃
- sql = @"insert into TK_Wrk_OutRecord(wo_code,step_seq,step_code,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date,inbarcode)
- values(@mesordercode,@stepseq,@stepcode,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date,@inbarcode)";
- list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
+ sql = @"insert into TK_Wrk_OutRecord(wo_code,step_seq,step_code,step_price,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date,inbarcode)
+ values(@mesordercode,@stepseq,@stepcode,@step_price,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date,@inbarcode)";
+ list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price=stepprice, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆澶栧崗璁板綍瀛愯〃
sql = @"insert into TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date)
@@ -3297,7 +3622,7 @@
}
}
}
- }
+ }
}
}
else //涓嶆寜搴�
@@ -3305,10 +3630,10 @@
//鎺у埗閫昏緫锛氬綋鍓嶅伐搴忔姤宸ヨ皟鏁�-> (鏈亾宸ュ簭褰撳墠璋冩暣鍚堟牸鏁�+鏈亾宸ュ簭闈炲綋鍓嶆姤宸ュ悎鏍兼�绘暟)<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾) ==涓嶈兘灏忎簬涓嬮亾鎶ュ伐鎬绘暟
list.Clear();
//鍒ゆ柇褰撳墠宸ュ簭鏄嚜鍒跺伐搴忚繕鏄鍗忓伐搴�
- if (json[0].flw_type.ToString() == "Z")
+ if (json[0].flw_type.ToString() == "Z")
{
-
- //鏌ヨ褰撳墠鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+
+ //鏌ヨ褰撳墠鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
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);
@@ -3330,7 +3655,7 @@
return mes;
}
}
- if (json[0].flw_type.ToString() == "W")
+ if (json[0].flw_type.ToString() == "W")
{
//鑾峰彇褰撳墠宸ュ簭銆佷緵搴斿晢瀵瑰簲鐨勬�诲彂鏂欐暟閲�
sql = @"select isnull(sum(fqty),0) as fqty
@@ -3352,7 +3677,7 @@
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;
//鍒ゆ柇褰撳墠宸ュ簭渚涘簲鍟嗘敹鏂欐�绘暟>褰撳墠宸ュ簭渚涘簲鍟嗗搴斿彂鏂欐暟閲�
if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].ToString()))
@@ -3400,7 +3725,7 @@
str = sql,
parm = new
{
- step_price=decimal.Parse(json[0].unprice),
+ step_price = decimal.Parse(json[0].unprice),
good_qty = decimal.Parse(json[0].report_dvalue),
ng_qty = this_ng_dvalue,
laborbad_qty = this_laborbad_dvalue,
@@ -3503,7 +3828,7 @@
str = sql,
parm = new
{
- step_price=decimal.Parse(json[0].unprice),
+ step_price = decimal.Parse(json[0].unprice),
good_qty = decimal.Parse(json[0].report_dvalue),
ng_qty = this_ng_dvalue,
laborbad_qty = this_laborbad_dvalue,
--
Gitblit v1.9.3