123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WMS.Core.APPBLL;
- using WMS.Core.WcsTask;
- using WMS.Info;
- using WMS.Util;
- namespace WMS.Core.ServiceCore
- {
- public class WcsTaskService
- {
- /// <summary>
- /// 获取分页数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<dynamic> GetTaskPageList(Pagination pagination, string queryJson)
- {
- SqlSugarClient client = null;
- try
- {
- client = SysDbCore.GetDbCtx();
- int count = 0;
- var queryParam = queryJson.ToJObject();
- var db = client.Queryable<ZT_WCS_TASK>();
- //单据日期
- if (!queryParam["Btime"].IsEmpty() && !queryParam["Etime"].IsEmpty())
- {
- db.Where(ord => ord.CREATETIME >= queryParam["Btime"].ToDate() && ord.CREATETIME <= queryParam["Etime"].ToDate());
- }
- if (!queryParam["keyword"].IsEmpty())
- {
- string kw = queryParam["keyword"].ToString();
- db.Where(ord => ord.BARCODE.Contains(kw));
- }
- if (pagination.sord.ToUpper() != "ASC")
- {
- pagination.sidx = pagination.sidx + " DESC";
- }
- if (pagination.sidx.Contains("UPDATETIME"))
- pagination.sidx = pagination.sidx + " DESC";
- var list = db.OrderBy(pagination.sidx).Select<dynamic>(@"
- [ID]
- ,[BARCODE]
- ,[TYPE]
- ,[STATUS]
- ,[ADDRFROM]
- ,[ADDRTO]
- ,[ADDRNEXT]
- ,[TUNNEL]
- ,[FLOOR]
- ,[DEVICE]
- ,[SRMSTATION]
- ,[CREATETIME]
- ,[STARTTIME]
- ,[ENDTIME]
- ,[DOCID]
- ,[PALLETTYPE]
- ,[PRODLINE]
- ,[FULLQTY]
- ,[HEIGHT]
- ,[WMSTASK]
- ,[TaskGroupKey]
- ,[UPLOADED]
- ,[AGVTASKID]
- ,[Priority]
- ,[ManualRemarks]
- ,[Length]
- ,[MaterialCode]
- ,[ENABLED]
- ,[UPDATEUSER]
- ,[UPDATETIME]
- ").ToPageList(pagination.page, pagination.rows, ref count);
- pagination.records = count;
- return list;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- client.Dispose();
- }
- }
- /// <summary>
- /// 获取单据数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ZT_WCS_TASK_DTL> GeItem(int taskId)
- {
- try
- {
- var lst = SysDbCore.GetDbCtx().Queryable<ZT_WCS_TASK_DTL>().Where(it => it.ParentTaskCode == taskId);
- var list = lst.Select<ZT_WCS_TASK_DTL>(@"
- [ID]
- ,[ParentTaskCode]
- ,[CurPoint]
- ,[NextPoint]
- ,[Desc]
- ,[ExecTime]
- ,[ENABLED]
- ,[UPDATEUSER]
- ,[UPDATETIME]
- ").ToList();
- return list;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 作废
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void CanelEntity(LoginUserInfo loginUserInfo, int _F_No)
- {
- SqlSugarClient client = null;
- try
- {
- client = SysDbCore.GetDbCtx();
- var db = client.Queryable<ZT_WCS_TASK>().Where(it => it.ID == _F_No).First();
- if ((int)db.STATUS > (int)WcsTask.TaskStatus.执行中)
- throw SysExCore.ThrowFailException("任务当前状态不能取消");
- db.UPDATEUSER = loginUserInfo.UserNo;
- db.UPDATETIME = DateTime.Now;
- db.STATUS = WcsTask.TaskStatus.已取消;
- SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.UPDATEUSER, it.UPDATETIME, it.STATUS }).ExecuteCommand();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 任务完成
- /// </summary>
- /// <param name="db"></param>
- /// <param name="conveyorOut">设备编号</param>
- /// <param name="taskno">任务号</param>
- public void TaskComplete(int taskno, LoginUserInfo loginUserInfo)
- {
- SqlSugarClient client = null;
- try
- {
- client = SysDbCore.GetDbCtx();
- var db = client.Queryable<ZT_WCS_TASK>().Where(it => it.ID == taskno).First();
- if ((int)db.STATUS >= (int)WcsTask.TaskStatus.已完成)
- throw SysExCore.ThrowFailException("任务当前状态不能手动完成");
- if ((int)db.STATUS <= (int)WcsTask.TaskStatus.新建)
- {
- throw SysExCore.ThrowFailException($"任务[{taskno}]未执行,不能执行[手动完成].");
- }
- db.UPDATEUSER = loginUserInfo.UserNo;
- db.UPDATETIME = DateTime.Now;
- db.STATUS = WcsTask.TaskStatus.已完成;
- SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.UPDATEUSER, it.UPDATETIME, it.STATUS }).ExecuteCommand();
- //var res = new TaskBLL().Callback(new WcsCallBackRequest { TaskNo = db.TASK_NO }, loginUserInfo);
- //if (res.IsSucc)
- //{
- // db.TASK_WKSTATUS = (int)ETaskStatus.TaskManualFinish;
- // db.TASK_EDITUSERNO = loginUserInfo.UserNo;
- // db.TASK_EDITDATETIME = DateTime.Now;
- // SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.TASK_EDITUSERNO, it.TASK_EDITDATETIME, it.TASK_WKSTATUS }).ExecuteCommand();
- //}
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|