123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WMS.Core.APPBLL;
- using WMS.Info;
- using WMS.Util;
- namespace WMS.Core.ServiceCore
- {
- public class FxWmsTaskCore
- {
- /// <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<WMS_TASK>();
- //单据日期
- if (!queryParam["Btime"].IsEmpty() && !queryParam["Etime"].IsEmpty())
- {
- db.Where(ord => ord.F_addTime >= queryParam["Btime"].ToDate() && ord.F_addTime <= queryParam["Etime"].ToDate());
- }
- if (!queryParam["keyword"].IsEmpty())
- {
- string kw = queryParam["keyword"].ToString();
- db.Where(ord => ord.F_taskNo == Convert.ToInt32(kw));
- }
- if (!queryParam["TASK_COMTYPE"].IsEmpty())
- {
- string kw = queryParam["TASK_COMTYPE"].ToString();
- db.Where(ord => ord.F_taskType == Convert.ToInt32(kw));
- }
-
- if (pagination.sord.ToUpper() != "ASC")
- {
- pagination.sidx = pagination.sidx + " DESC";
- }
- if(pagination.sidx.Contains("F_editTime"))
- pagination.sidx = pagination.sidx + " DESC";
- var list = db.OrderBy(pagination.sidx).Select<dynamic>(@"
- [F_taskNo],
- [F_taskType],
- [F_taskStatus],
- [F_orderNo],
- [F_orderType],
- [F_posidFrom],
- [F_posidcur],
- [F_posidNext],
- [F_posidTo],
- [F_pickPort],
- [F_priority],
- [F_trayNo],
- [F_boxNo],
- [F_addUserNo],
- [F_addTime],
- [F_wcsExecuteTime],
- [F_wcsExecuteResult],
- [F_editUserNo],
- [F_editTime],
- [F_isBonded],
- [F_canceledUserNo],
- [F_canceledTime]").ToPageList(pagination.page, pagination.rows, ref count);
- pagination.records = count;
- return list;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- client.Dispose();
- }
- }
- /// <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<WMS_TASK>().Where(it => it.F_taskNo == _F_No).First();
- if (db.F_taskStatus > 3)
- throw SysExCore.ThrowFailException("任务当前状态不能取消");
- db.F_canceledUserNo = loginUserInfo.UserNo;
- db.F_canceledTime = DateTime.Now;
- db.F_taskStatus = (int)ETaskStatus.TaskCancel;
- SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.F_canceledUserNo, it.F_canceledTime, it.F_taskStatus }).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<WMS_TASK>().Where(it => it.F_taskNo == taskno).First();
- if (db.F_taskStatus > 99)
- throw SysExCore.ThrowFailException("任务当前状态不能手动完成");
- var res = new TaskBLL().Callback(new WcsCallBackRequest { TaskNo = db.F_taskNo }, loginUserInfo);
- if (res.IsSucc)
- {
- db.F_taskStatus = (int)ETaskStatus.TaskManualFinish;
- SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.F_canceledUserNo, it.F_canceledTime, it.F_taskStatus }).ExecuteCommand();
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|