| | |
| | | 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; |
| | |
| | | { |
| | | 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>(); //å®ä¹å
¨å±åæ°éå |
| | |
| | | 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 = "æ¥è¯¢æå!"; |
| | |
| | | //æ§å¶é»è¾ï¼ä¸é´å·¥åºè°æ´-> (æ¬éå·¥åºå½åè°æ´åæ ¼æ°+æ¬éå·¥åºéå½åæ¥å·¥åæ ¼æ»æ°)<ä¸éå·¥åºæ¥å·¥æ»æ°(åæ ¼+ä¸è¯+æ¥åº) ==ä¸è½å°äºä¸éæ¥å·¥æ»æ° |
| | | 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")//èªå¶å·¥åº |
| | | { |
| | |
| | | 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") |
| | |
| | | //è·åå½åæ«éå·¥åºæ¥å·¥æ»æ°éï¼æ¬æ¬¡ä¿®æ¹æ¥å·¥æ°é+æ¬æ¬¡ä¿®æ¹ä¸è¯æ°é+æ¬æ¬¡ä¿®æ¹å·¥åºæ°é+æ¬æ¬¡ä¿®æ¹æ¥å·¥æåºæ°é+å½åæ«éå·¥åºéæ¬æ¬¡æ¥å·¥æ»æ°+å½åæ«éå·¥åºéæ¬æ¬¡ä¸è¯æ»æ°+å½åæ«éå·¥åºéæ¬æ¬¡å·¥åºæ»æ°+å½åæ«éå·¥åºéæ¬æ¬¡æåºæ»æ° |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | }); |
| | | //åå对åºçæ¥å·¥è®°å½ä¸»è¡¨åæ ¼æ°éãä¸è¯æ°éãæ¥åºæ°é |
| | | 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 |
| | | { |
| | |
| | | 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 |
| | | } |
| | | }); |
| | | //ååå·¥åå·¥åºè¡¨ |
| | |
| | | step_code = json[0].step_code |
| | | } |
| | | }); |
| | | |
| | | |
| | | for (int i = 0; i < json[0].children.Count; i++) |
| | | { |
| | | //ååä¸è¯ |
| | |
| | | } |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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 |
| | | } |
| | | }); |
| | | //ååå·¥åå·¥åºè¡¨ |
| | |
| | | step_code = json[0].step_code |
| | | } |
| | | }); |
| | | |
| | | |
| | | for (int i = 0; i < json[0].children.Count; i++) |
| | | { |
| | | //ååä¸è¯ |
| | |
| | | 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 |
| | | } |
| | | } |