/// <summary> /// 记录生产计划开始暂停日志 /// </summary> /// <param name="data"></param> /// <returns></returns> public dynamic PostProduceLog(dynamic data) { try { if (data["APSCode"] == null) { throw new Exception(@"APSCode不能为空!"); } int type = Convert.ToInt32(data["Type"]); int pauseReson = Convert.ToInt32(data["PauseReson"]); DateTime newData = DateTime.Now; MES_OpreatorWorkingLog model = new MES_OpreatorWorkingLog() { APSCode = data["APSCode"], BegainTime = newData, IsEnable = 1, CreatePerson = data["CreatePerson"], CreateTime = newData, OperatePerson = data["OperatePerson"], OpreateCode = data["OpreateCode"], ModifyPerson = data["ModifyPerson"], ModifyTime = newData, FinishQuantity = Convert.ToDecimal(data["FinishQuantity"]) }; return(new MES_OpreatorWorkingLogService().SaveProduceLog(model, type, pauseReson)); } catch (Exception ex) { return(new ResultModel() { Result = false, Msg = ex.Message }); } }
/// <summary> /// 记录生产计划开始暂停日志 /// </summary> /// <returns></returns> public ResultModel SetProduceLog(dynamic data) { try { int type = Convert.ToInt32(data["Type"]); int pauseReson = Convert.ToInt32(data["PauseReson"]); DateTime newDate = DateTime.Now; MES_OpreatorWorkingLog model = new MES_OpreatorWorkingLog() { APSCode = data["WorkTicketCode"], BegainTime = newDate, IsEnable = 1, CreatePerson = data["UserName"], CreateTime = newDate, OperatePerson = data["UserName"], OpreateCode = data["UserCode"], ModifyPerson = data["UserName"], ModifyTime = newDate, FinishQuantity = Convert.ToDecimal(data["Quantity"]) }; string sqlLog = string.Format(@"SELECT * FROM dbo.MES_OpreatorWorkingLog WHERE IsEnable = 1 AND APSCode = '{0}' AND BegainTime IS NOT NULL AND FinishTime IS NULL ORDER BY CreateTime DESC", model.APSCode); MES_OpreatorWorkingLog logModel = db.Sql(sqlLog).QueryMany <MES_OpreatorWorkingLog>().FirstOrDefault(); int logID = 0; switch (type) { //新增 case 0: db.Sql(WinFormClientService.GetUpdateSQL(nameof(MES_WorkingTicket), new KeyValuePair <string, object>("WorkTicketCode", model.APSCode), new { ActualStartTime = newDate, TicketStatus = 2 })).Execute(); model.FinishQuantity = null; logID = db.Sql(WinFormClientService.GetInsertSQL(model) + "SELECT @@IDENTITY;").QuerySingle <int>(); break; //暂停 case 1: db.Sql(WinFormClientService.GetUpdateSQL(nameof(MES_WorkingTicket), new KeyValuePair <string, object>("WorkTicketCode", model.APSCode), new { ActualFinishTime = newDate, TicketStatus = 4 })).Execute(); db.Sql(WinFormClientService.GetUpdateSQL(nameof(MES_OpreatorWorkingLog), new KeyValuePair <string, object>("ID", logModel.ID), new { FinishTime = newDate, WorkingHour = (int)Math.Floor(new TimeSpan(newDate.Ticks).Subtract(new TimeSpan(Convert.ToDateTime(logModel.BegainTime).Ticks)).Duration().TotalSeconds), ModifyTime = newDate, PauseType = 1, PauseReson = pauseReson })).Execute(); logID = logModel.ID; break; //完工 case 2: db.Sql(WinFormClientService.GetUpdateSQL(nameof(MES_WorkingTicket), new KeyValuePair <string, object>("WorkTicketCode", model.APSCode), new { ActualFinishTime = newDate, TicketStatus = 3 })).Execute(); db.Sql(WinFormClientService.GetUpdateSQL(nameof(MES_OpreatorWorkingLog), new KeyValuePair <string, object>("ID", logModel.ID), new { FinishTime = newDate, WorkingHour = (int)Math.Floor(new TimeSpan(newDate.Ticks).Subtract(new TimeSpan(Convert.ToDateTime(logModel.BegainTime).Ticks)).Duration().TotalSeconds), ModifyTime = newDate, PauseType = 2, FinishQuantity = model.FinishQuantity })).Execute(); logID = logModel.ID; break; default: throw new Exception(@"参数错误!"); } return(new ResultModel() { Result = true, Data = logID }); } catch (Exception ex) { return(new ResultModel() { Result = false, Msg = ex.Message }); } }