public DTOResponse InsertTaskStat(INF_JOBFEEDBACKEntity jobFeedBack) { DTOResponse dtoResponse = new DTOResponse(); try { TaskStatEntity projTaskstatEntity = new TaskStatEntity(); projTaskstatEntity.TASKNO = jobFeedBack.JOBID; projTaskstatEntity.STATITEMNAME = jobFeedBack.FEEDBACKSTATUS; projTaskstatEntity.STATITEMDESC = jobFeedBack.FEEDBACKSTATUS; projTaskstatEntity.STATITEMVALUE = "0"; projTaskstatEntity.CREATETIME = Utils.GetDatetime(); projTaskstatEntity.P01 = jobFeedBack.ENTERDATE; projTaskstatEntity.P02 = Utils.GetDatetime(); using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection()) dbConn.Save <TaskStatEntity>(projTaskstatEntity, false); dtoResponse.IsSuccess = true; dtoResponse.MessageText = "保存 PROJ_TASKSTAT成功!"; DCSInfService.logger.Info((object)dtoResponse); return(dtoResponse); } catch (Exception ex) { dtoResponse.IsSuccess = false; dtoResponse.MessageText = ex.Message; DCSInfService.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); }