| | |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Diagnostics; |
| | | using System.Web.Http; |
| | | using WebAPI.Models; |
| | | |
| | |
| | | { |
| | | try |
| | | { |
| | | Stopwatch sw = new Stopwatch(); |
| | | |
| | | //获取生产汇报单最大InterID和单据号 |
| | | Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true); |
| | | HBillNo = "9010-" + HBillNo; |
| | | |
| | | LogService.Write("生产汇报单:" + HBillNo); |
| | | |
| | | sw.Start();//开始计时 |
| | | |
| | | //获取组织代码 |
| | | string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString(); |
| | | |
| | | LogService.Write("1-查询,用时" + sw.Elapsed); |
| | | |
| | | //根据工序汇报单主ID获取工序汇报入库单的数据 |
| | | DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc"); |
| | | DataRow dr = ds.Tables[0].Rows[0]; |
| | | |
| | | LogService.Write("2-查询,用时" + sw.Elapsed); |
| | | |
| | | //保存 |
| | | oCN.BeginTran(); |
| | | DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain"); |
| | | DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HMainSourceBillNo='{BillNo}'", "Sc_ICMOReportBillMain"); |
| | | |
| | | LogService.Write("3-查询,用时" + sw.Elapsed); |
| | | |
| | | if (DsTable.Tables[0].Rows.Count > 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | ",0,0,''" + |
| | | "," + dr["HICMOInterID"].ToString() + ",'" + dr["任务单"].ToString() + "',''" + |
| | | ") "); |
| | | |
| | | LogService.Write("4-新增,用时" + sw.Elapsed); |
| | | |
| | | //同步金蝶 |
| | | //访问金蝶 |
| | | var loginRet = InvokeHelper.Login(); |
| | | var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); |
| | | |
| | | LogService.Write("5-访问金蝶,用时" + sw.Elapsed); |
| | | |
| | | if (isSuccess == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | LogService.Write("6-找到金蝶的生产订单,用时" + sw.Elapsed); |
| | | |
| | | //根据任务单查找到金蝶的生产订单 |
| | | DataSet ds1 = oCN.RunProcReturn("select * from h_v_TOERP_StationOutBillList_LastProc_SMR where 单据号='" + dr["单据号"].ToString()+"'" , "h_v_TOERP_StationOutBillList_LastProc_SMR"); |
| | |
| | | return objJsonResult; |
| | | } |
| | | DataRow dr1 = ds1.Tables[0].Rows[0]; |
| | | |
| | | LogService.Write("7-开始新增金蝶云单据,用时" + sw.Elapsed); |
| | | |
| | | JObject model = new JObject(); |
| | | model.Add("FBillType", new JObject() { ["Fnumber"] = "SCHBD01_SYS" }); //单据类型生产汇报“SCHBD02_SYS” 入库汇报SCHBD01_SYS |
| | |
| | | }; |
| | | |
| | | string result = InvokeHelper.Save("PRD_MORPT", JsonConvert.SerializeObject(jsonRoot));//保存 |
| | | |
| | | LogService.Write("8-保存结果,用时" + sw.Elapsed); |
| | | |
| | | //判断保存是否成功 |
| | | if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") |
| | | { |
| | |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | LogService.Write("9-开始审核,用时" + sw.Elapsed); |
| | | |
| | | //提交审核 |
| | | string result1 = string.Empty; |
| | | string result2 = string.Empty; |
| | |
| | | }; |
| | | result1 = InvokeHelper.Submit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 |
| | | result2 = InvokeHelper.Audit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 |
| | | |
| | | LogService.Write("10-审核结果,用时" + sw.Elapsed); |
| | | |
| | | if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") |
| | | { |
| | | oCN.RollBack(); |
| | |
| | | |
| | | oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where HBillNo='" + BillNo + "'"); |
| | | |
| | | LogService.Write("11-修改完成,用时" + sw.Elapsed); |
| | | |
| | | sw.Stop();//结束计时 |
| | | LogService.Write("12-总用时" + sw.Elapsed); |
| | | |
| | | oCN.Commit(); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |