public DTOResponse SetSTATIONSTATE(LocationStnRequest request) { DTOResponse dtoResponse = new DTOResponse(); try { int num = 0; using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection()) { using (IDbTransaction dbTransaction = dbConn.OpenTransaction()) { LocStationInfoEntity stationinfoEntity = OrmLiteReadExpressionsApi.Single <LocStationInfoEntity>(dbConn, (Expression <Func <LocStationInfoEntity, bool> >)(x => x.STATIONNO == request.STATIONNO)); if (stationinfoEntity == null) { throw new Exception("未查询到" + request.STATIONNO + "的信息"); } stationinfoEntity.STATIONSTATE = request.STATIONSTATE; stationinfoEntity.OPBY = SysInfo.CurrentUserName; stationinfoEntity.OPDATE = Utils.GetTodayNow(); stationinfoEntity.OPMESSAGE = "设置状态!"; SqlExpression <LocStationInfoEntity> sqlExpression = dbConn.From <LocStationInfoEntity>(); sqlExpression.Where(x => x.ID == stationinfoEntity.ID); sqlExpression.UpdateFields.Add("STATIONSTATE"); sqlExpression.UpdateFields.Add("OPBY"); sqlExpression.UpdateFields.Add("OPDATE"); sqlExpression.UpdateFields.Add("OPMESSAGE"); num = dbConn.UpdateOnly <LocStationInfoEntity>(stationinfoEntity, sqlExpression); dbTransaction.Commit(); } } dtoResponse.IsSuccess = true; dtoResponse.MessageText = "设置状态成功!" + num.ToString(); return(dtoResponse); } catch (Exception ex) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; logger.Error((object)ex); return(dtoResponse); } }
public DTOResponse SwitchEmexitState(LocationStnRequest request) { DTOResponse dtoResponse = new DTOResponse(); try { int num = 0; using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection()) { using (IDbTransaction dbTransaction = dbConn.OpenTransaction()) { LocStationInfoEntity stationinfoEntity = OrmLiteReadExpressionsApi.Single <LocStationInfoEntity>(dbConn, (Expression <Func <LocStationInfoEntity, bool> >)(x => x.STATIONNO == request.STATIONNO)); if (stationinfoEntity == null) { throw new Exception("未查询到" + request.STATIONNO + "的信息"); } stationinfoEntity.EMEXIT = request.EMEXIT; stationinfoEntity.OPBY = SysInfo.CurrentUserName; stationinfoEntity.OPDATE = Utils.GetTodayNow(); stationinfoEntity.OPMESSAGE = "设置紧急出口成功!"; num = dbConn.Update <LocStationInfoEntity>(stationinfoEntity, (Action <IDbCommand>)null); dbTransaction.Commit(); } } dtoResponse.IsSuccess = true; dtoResponse.MessageText = "设置状态成功!" + num.ToString(); return(dtoResponse); } catch (Exception ex) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; logger.Error((object)ex); return(dtoResponse); } }
public DTOResponse OrderSenceMode( SceneRequest request, IDbConnection db, IDbTransaction trans) { DTOResponse dtoResponse = new DTOResponse(); try { SysSceneEntity uldScene1 = OrmLiteReadExpressionsApi.Single <SysSceneEntity>(db, (Expression <Func <SysSceneEntity, bool> >)(x => x.ID == request.ID || x.SCENENO == request.SCENENO)); if (uldScene1 == null) { throw new Exception("获取场景为空!"); } if (uldScene1.SCENENO != request.SCENENO) { throw new Exception("传入的参数与后台不一致!"); } if (uldScene1.USESTATE != 1) { throw new Exception("当前模式" + uldScene1.SCENENO + "管理员未启用!请联系管理员!"); } INF_JOBDOWNLOADEntity jobdownloadEntity1 = new INF_JOBDOWNLOADEntity(); jobdownloadEntity1.ID = Utils.GetDateTimeGuid(); jobdownloadEntity1.GROUPID = "0"; //jobdownloadEntity1.JOBID = uldScene1.P01; //jobdownloadEntity1.EQUIPMENTID = uldScene1.P02; jobdownloadEntity1.WAREHOUSEID = "none"; jobdownloadEntity1.JOBTYPE = 4; jobdownloadEntity1.ORDERTYPE = 0; jobdownloadEntity1.SOURCE = "0"; //jobdownloadEntity1.TARGET = uldScene1.P02; jobdownloadEntity1.BRANDID = "0"; jobdownloadEntity1.PLANQTY = new Decimal?(new Decimal()); jobdownloadEntity1.PILETYPE = "0"; jobdownloadEntity1.PRIORITY = 1; jobdownloadEntity1.BARCODE = "0"; int id = uldScene1.ID; string str1 = id.ToString(); jobdownloadEntity1.TUTYPE = str1; jobdownloadEntity1.ENTERDATE = Utils.GetTodayNow(); jobdownloadEntity1.RESPONDDATE = (string)null; jobdownloadEntity1.RESPONDCOUNT = 1; jobdownloadEntity1.RESPONDMSG = ""; jobdownloadEntity1.STATUS = 0; jobdownloadEntity1.WEIGHT = new Decimal?(new Decimal()); jobdownloadEntity1.FULLCOUNT = 0; jobdownloadEntity1.EXTENDINFO = ""; jobdownloadEntity1.EXTATTR1 = ""; jobdownloadEntity1.EXTATTR2 = ""; jobdownloadEntity1.EXTATTR3 = ""; jobdownloadEntity1.CREATEDATE = Utils.GetTodayNow(); jobdownloadEntity1.CREATEUSERID = SysInfo.CurrentUserID; jobdownloadEntity1.CREATEUSERNAME = SysInfo.CurrentUserName; string emergencyexit = uldScene1.EMERGENCYEXIT; if (!string.IsNullOrEmpty(emergencyexit)) { string str2 = emergencyexit; char[] chArray = new char[1] { ',' }; foreach (string str3 in str2.Split(chArray)) { string item = str3; LocDetailEntity locationDetailEntity = OrmLiteReadExpressionsApi.Single <LocDetailEntity>(db, (Expression <Func <LocDetailEntity, bool> >)(x => x.GROUPNO == item)); if (locationDetailEntity != null) { locationDetailEntity.EMEXIT = "1"; db.UpdateOnly <LocDetailEntity>(locationDetailEntity, (Expression <Func <LocDetailEntity, object> >)(x => new { EMEXIT = x.EMEXIT }), (Expression <Func <LocDetailEntity, bool> >)null, (Action <IDbCommand>)null); } } } uldScene1.SCENESTATE = "1"; uldScene1.OPBY = SysInfo.CurrentUserName; uldScene1.OPDATE = Utils.GetTodayNow(); SysSceneEntity uldScene2 = uldScene1; id = uldScene1.ID; string str4 = "下达" + id.ToString() + "操作成功!"; uldScene2.OPMESSAGE = str4; // uldScene1.P10 = jobdownloadEntity1.ID; string sql = string.Format("UPDATE PROJ_ULDSCENE SET SCENESTATE='0',OPBY='{1}',OPDATE='{2}',OPMESSAGE='{3}' WHERE ID<>{0}", (object)uldScene1.ID, (object)SysInfo.CurrentUserName, (object)Utils.GetTodayNow(), (object)"场景切换"); long num1 = 0; //num1 = (long)db.SaveAll<INF_JOBDOWNLOADEntity>((IEnumerable<INF_JOBDOWNLOADEntity>)new List<INF_JOBDOWNLOADEntity>() //{ // jobdownloadEntity1 //}); int num2 = db.Update <SysSceneEntity>(uldScene1, (Action <IDbCommand>)null); int num3 = db.ExecuteSql(sql); dtoResponse.IsSuccess = true; dtoResponse.MessageText = "下达操作成功!" + num1.ToString() + "/" + num2.ToString() + "/" + num3.ToString(); SysSceneService.logger.Info((object)dtoResponse.ToString()); return(dtoResponse); } catch (Exception ex) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; SysSceneService.logger.Error((object)ex); return(dtoResponse); } }
public DTOResponse TaskHandle() { DTOResponse dtoResponse = new DTOResponse(); IDbConnection dbCon = (IDbConnection)null; IDbTransaction dbTrans = (IDbTransaction)null; string id = (string)null; string msg = (string)null; try { HelperDbOperation.BeginTransaction(ref dbCon, ref dbTrans); INF_JOBFEEDBACKEntity jobFeedBack = dbCon.Select <INF_JOBFEEDBACKEntity>((Expression <Func <INF_JOBFEEDBACKEntity, bool> >)(x => x.STATUS == 0 && x.RESPONDCOUNT < 1)).OrderBy <INF_JOBFEEDBACKEntity, string>((Func <INF_JOBFEEDBACKEntity, string>)(x => x.ENTERDATE)).OrderBy <INF_JOBFEEDBACKEntity, string>((Func <INF_JOBFEEDBACKEntity, string>)(x => x.JOBID)).OrderBy <INF_JOBFEEDBACKEntity, string>((Func <INF_JOBFEEDBACKEntity, string>)(x => x.FEEDBACKSTATUS)).FirstNonDefault <INF_JOBFEEDBACKEntity>(); if (jobFeedBack == null) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = "当前没有请求需要处理!"; return(dtoResponse); } id = jobFeedBack.ID; TaskEntity projTaskEntity = OrmLiteReadExpressionsApi.Single <TaskEntity>(dbCon, (Expression <Func <TaskEntity, bool> >)(x => x.TASKNO == jobFeedBack.JOBID)); if (projTaskEntity == null) { TaskStepEntity stepEntity = OrmLiteReadExpressionsApi.Single <TaskStepEntity>(dbCon, (Expression <Func <TaskStepEntity, bool> >)(x => x.ID == jobFeedBack.JOBID)); if (stepEntity != null) { stepEntity.STEPSTATE = "3"; dbCon.Update <TaskStepEntity>(stepEntity, (Expression <Func <TaskStepEntity, bool> >)(x => x.ID == stepEntity.ID), (Action <IDbCommand>)null); TaskEntity taskEntity = OrmLiteReadExpressionsApi.Single <TaskEntity>(dbCon, (Expression <Func <TaskEntity, bool> >)(x => x.TASKNO == stepEntity.TASKNO)); //dtoResponse = BPCommon.NextTaskStep(dbCon, dbTrans, taskEntity); if (!dtoResponse.IsSuccess) { return(dtoResponse); } jobFeedBack.STATUS = 1; ++jobFeedBack.RESPONDCOUNT; jobFeedBack.RESPONDDATE = Utils.GetTodayNow(); jobFeedBack.RESPONDMSG = "反馈成功"; dbCon.Update <INF_JOBFEEDBACKEntity>(jobFeedBack, (Action <IDbCommand>)null); dtoResponse.IsSuccess = true; dtoResponse.MessageText = "子任务" + jobFeedBack.JOBID + "处理成功!"; return(dtoResponse); } dtoResponse.IsSuccess = false; dtoResponse.MessageText = "查找任务" + jobFeedBack.JOBID + "失败!"; dtoResponse.MessageCode = "9999"; return(dtoResponse); } this.InsertTaskStat(jobFeedBack); if (projTaskEntity.TASKTCLASS == "3") { if (jobFeedBack.FEEDBACKSTATUS == "1") { projTaskEntity.TASKSTATE = jobFeedBack.FEEDBACKSTATUS; projTaskEntity.STARTDATE = Utils.GetTodayNow(); projTaskEntity.TASKMESSAGE = "任务开始"; } if (jobFeedBack.FEEDBACKSTATUS == "99") { projTaskEntity.TASKSTATE = jobFeedBack.FEEDBACKSTATUS; projTaskEntity.ENDDATE = Utils.GetTodayNow(); projTaskEntity.TASKMESSAGE = "任务结束"; } } else { if (jobFeedBack.FEEDBACKSTATUS == "1") { projTaskEntity.TASKSTATE = jobFeedBack.FEEDBACKSTATUS; projTaskEntity.STARTDATE = Utils.GetTodayNow(); projTaskEntity.TASKMESSAGE = "任务开始"; } if (jobFeedBack.FEEDBACKSTATUS == "3") { projTaskEntity.TRUCKNO = jobFeedBack.EXTATTR1; projTaskEntity.TRUCKNO_PLAN = Utils.GetTodayNow(); projTaskEntity.TASKMESSAGE = "设备开始执行"; } if (jobFeedBack.FEEDBACKSTATUS == "99") { projTaskEntity.TASKSTATE = jobFeedBack.FEEDBACKSTATUS; projTaskEntity.ENDDATE = Utils.GetTodayNow(); projTaskEntity.TASKMESSAGE = "任务结束"; string sql1 = string.Format("UPDATE PROJ_LOCATION_DETAIL SET STORESTATE='0' WHERE LOCATIONNO='{0}'", (object)projTaskEntity.SOURCE01); dbCon.ExecuteSql(sql1); string sql2 = string.Format("UPDATE PROJ_LOCATION_DETAIL SET STORESTATE='1' WHERE LOCATIONNO='{0}'", (object)projTaskEntity.DESTINATION01); dbCon.ExecuteSql(sql2); string sql3 = string.Format("UPDATE PROJ_ULDINFO SET CURRLOC='{2}',MODIFYBY='{3}',MODIFYDATE='{4}',CURRSTATE=CURRSTATE+1 WHERE ULDNO='{0}' AND P01='{1}'", (object)projTaskEntity.PALLETNO, (object)projTaskEntity.BILLID, (object)projTaskEntity.DESTINATION01, (object)projTaskEntity.TASKNO, (object)Utils.GetDatetime()); dbCon.ExecuteSql(sql3); string sql4 = string.Format("UPDATE PROJ_ULDCARRYPLAN SET P10='{2}',MODIFYBY='{3}',MODIFYDATE='{4}' WHERE PLANNO='{0}' AND ULDNO='{1}'", (object)projTaskEntity.BILLID, (object)projTaskEntity.PALLETNO, (object)projTaskEntity.DESTINATION02, (object)projTaskEntity.TASKNO, (object)Utils.GetDatetime()); dbCon.ExecuteSql(sql4); if (SysParamsService.CheckPrarams("SimulatorTaskOver").ToLower() == "true") { this.UpdateInfEquipmentStatus(dbCon, dbTrans, projTaskEntity); } //dtoResponse = BPCommon.NextTaskStep(dbCon, dbTrans, projTaskEntity); if (!dtoResponse.IsSuccess) { return(dtoResponse); } this.GetDataFromDCS(new List <long>() { long.Parse(projTaskEntity.TASKNO) }); } } jobFeedBack.STATUS = 1; ++jobFeedBack.RESPONDCOUNT; jobFeedBack.RESPONDDATE = Utils.GetTodayNow(); jobFeedBack.RESPONDMSG = "反馈成功"; int num1 = dbCon.Update <INF_JOBFEEDBACKEntity>(jobFeedBack, (Action <IDbCommand>)null); int num2 = dbCon.Update <TaskEntity>(projTaskEntity, (Action <IDbCommand>)null); if (num1 == 1 && num2 == 1) { dtoResponse.IsSuccess = true; dtoResponse.MessageText = "执行操作成功!"; } return(dtoResponse); } catch (Exception ex) { msg = ex.Message; dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; DCSInfService.logger.Error((object)ex); return(dtoResponse); } finally { HelperDbOperation.EndTransaction(dtoResponse.IsSuccess, ref dbCon, ref dbTrans); if (dtoResponse.MessageCode == "9999") { this.UpdataJobFeedBack(id, msg); } } }
public DTOResponse TaskOprationByMen(TaskRequest request) { DTOResponse dtoResponse = new DTOResponse(); try { if (request.TASKOPACTION == "Cancel") { using (IDbConnection dbConnection = HelperConnection.GetConnectionFactory().OpenDbConnection()) { using (IDbTransaction dbTrans = dbConnection.OpenTransaction()) { TaskEntity taskEntity = OrmLiteReadExpressionsApi.Single <TaskEntity>(dbConnection, (Expression <Func <TaskEntity, bool> >)(x => x.TASKNO == request.TASKNO)); if (taskEntity == null) { throw new Exception("未查询到任务:" + request.TASKNO); } //dtoResponse = BPCommon.TaskCancel(dbConnection, dbTrans, taskEntity); //if (!dtoResponse.IsSuccess) //{ // dtoResponse.MessageText = "取消任务操作1失败:" + dtoResponse.MessageText; // dbTrans.Rollback(); // return dtoResponse; //} //int jobType = 2; //dtoResponse = BPCommon.OrderTask(dbConnection, dbTrans, taskEntity, jobType); //if (dtoResponse.IsSuccess) //{ // dtoResponse.MessageText = "取消任务操作2成功!" + dtoResponse.MessageText; // dbTrans.Commit(); // return dtoResponse; //} dtoResponse.MessageText = "取消任务操作2失败:" + dtoResponse.MessageText; dbTrans.Rollback(); return(dtoResponse); } } } if (request.TASKOPACTION == "OrderDCS") { using (IDbConnection dbConnection = HelperConnection.GetConnectionFactory().OpenDbConnection()) { using (IDbTransaction dbTrans = dbConnection.OpenTransaction()) { TaskEntity taskEntity = OrmLiteReadExpressionsApi.Single <TaskEntity>(dbConnection, (Expression <Func <TaskEntity, bool> >)(x => x.TASKNO == request.TASKNO)); if (taskEntity == null) { throw new Exception("未查询到任务:" + request.TASKNO); } SysSequenceResult sequenceResult = SysSequenceInstance.Instance().GetSysSequence("TASKID"); taskEntity.TASKNO = int.Parse(sequenceResult.SEQVALUE).ToString(); SqlExpression <TaskEntity> sqlExpression = dbConnection.From <TaskEntity>(); sqlExpression.Where(x => x.ID == taskEntity.ID); sqlExpression.UpdateFields.Add("TASKNO"); int count = dbConnection.UpdateOnly <TaskEntity>(taskEntity, sqlExpression); int jobType = BPCommonBase.ConvertJobtype(taskEntity.TASKTCLASS); dtoResponse = BPCommonBase.OrderTask(dbConnection, dbTrans, taskEntity, jobType); if (dtoResponse.IsSuccess) { dtoResponse.MessageText = "重新下达任务操作成功!" + dtoResponse.MessageText; dbTrans.Commit(); return(dtoResponse); } else { dtoResponse.MessageText = "重新下达任务操作失败:" + dtoResponse.MessageText; dbTrans.Rollback(); return(dtoResponse); } } } } if (request.TASKOPACTION == "Over") { List <INF_JOBFEEDBACKEntity> jobfeedbackEntityList = new List <INF_JOBFEEDBACKEntity>(); INF_JOBFEEDBACKEntity jobfeedbackEntity1 = new INF_JOBFEEDBACKEntity(); jobfeedbackEntity1.ID = Utils.GetDateTimeGuid(); jobfeedbackEntity1.JOBID = request.TASKNO; jobfeedbackEntity1.WAREHOUSEID = "none"; jobfeedbackEntity1.FEEDBACKSTATUS = "1"; jobfeedbackEntity1.ERRORCODE = "0"; jobfeedbackEntity1.ENTERDATE = Utils.GetTodayNow(); jobfeedbackEntity1.CREATEDATE = Utils.GetTodayNow(); jobfeedbackEntity1.RESPONDCOUNT = 0; jobfeedbackEntity1.STATUS = 0; jobfeedbackEntity1.FULLCOUNT = 0; jobfeedbackEntity1.ROWVERSION = 0; jobfeedbackEntityList.Add(jobfeedbackEntity1); INF_JOBFEEDBACKEntity jobfeedbackEntity2 = new INF_JOBFEEDBACKEntity(); jobfeedbackEntity2.ID = Utils.GetDateTimeGuid(); jobfeedbackEntity2.JOBID = request.TASKNO; jobfeedbackEntity2.WAREHOUSEID = "none"; jobfeedbackEntity2.FEEDBACKSTATUS = "99"; jobfeedbackEntity2.ERRORCODE = "0"; jobfeedbackEntity2.ENTERDATE = Utils.GetTodayNow(); jobfeedbackEntity2.CREATEDATE = Utils.GetTodayNow(); jobfeedbackEntity2.RESPONDCOUNT = 0; jobfeedbackEntity2.STATUS = 0; jobfeedbackEntity2.FULLCOUNT = 0; jobfeedbackEntity2.ROWVERSION = 0; jobfeedbackEntityList.Add(jobfeedbackEntity2); long num1 = 0; using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection()) { foreach (INF_JOBFEEDBACKEntity jobfeedbackEntity in jobfeedbackEntityList) { long num2 = dbConn.Insert <INF_JOBFEEDBACKEntity>(jobfeedbackEntity, false); num1 += num2; } } dtoResponse.IsSuccess = num1 > 1L; dtoResponse.MessageText = "任务操作成功"; return(dtoResponse); } else { List <INF_JOBFEEDBACKEntity> jobfeedbackEntityList = new List <INF_JOBFEEDBACKEntity>(); jobfeedbackEntityList.Add(new INF_JOBFEEDBACKEntity() { ID = Utils.GetDateTimeGuid(), JOBID = request.TASKNO, WAREHOUSEID = "none", FEEDBACKSTATUS = request.TASKOPACTION, ERRORCODE = "0", ENTERDATE = Utils.GetTodayNow(), CREATEDATE = Utils.GetTodayNow(), RESPONDCOUNT = 0, STATUS = 0, FULLCOUNT = 0, ROWVERSION = 0 }); long num1 = 0; using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection()) { foreach (INF_JOBFEEDBACKEntity jobfeedbackEntity in jobfeedbackEntityList) { long num2 = dbConn.Insert <INF_JOBFEEDBACKEntity>(jobfeedbackEntity, false); num1 += num2; } } dtoResponse.IsSuccess = num1 > 1L; dtoResponse.MessageText = "任务操作成功"; return(dtoResponse); } } catch (Exception ex) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; TaskService.logger.Error((object)ex); } return(dtoResponse); }