123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- 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 FxWcsTaskCore
- {
- /// <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<WCS_TASK>();
- //单据日期
- if (!queryParam["Btime"].IsEmpty() && !queryParam["Etime"].IsEmpty())
- {
- db.Where(ord => ord.TASK_ADDDATETIME >= queryParam["Btime"].ToDate() && ord.TASK_ADDDATETIME <= queryParam["Etime"].ToDate());
- }
- if (!queryParam["keyword"].IsEmpty())
- {
- string kw = queryParam["keyword"].ToString();
- db.Where(ord => ord.TASK_NO == 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>(@"
- [TASK_ID],
- [TASK_NO],
- [TASK_SYSTYPE],
- [TASK_POSIDFROM],
- [TASK_POSIDCUR],
- [TASK_POSIDNEXT],
- [TASK_POSIDTO],
- [TASK_POSIDMOVE],
- [TASK_WHID],
- [TASK_ADDUSERNO],
- [TASK_ADDDATETIME],
- [TASK_EDITUSERNO],
- [TASK_EDITDATETIME],
- [TASK_NOTES],
- [TASK_SRMNO],
- [TASK_BOXBARCODE],
- [TASK_BOXNUM],
-
- [TASK_ITEM6],
- [TASK_ITEM7],
- [TASK_ITEM8],
- [TASK_ITEM9],
- [TASK_ITEM10],
- [TASK_ORDERTYPE],
- [TASK_WKSTATUS],
- [TASK_PRIORITY],
- [TASK_COMTYPE]
- ").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<WCS_TASK_DTL> GeItem(string taskId)
- {
- try
- {
- var lst = SysDbCore.GetDbCtx().Queryable<WCS_TASK_DTL>().Where(it => it.PARENTID == taskId);
- var list = lst.Select<WCS_TASK_DTL>(@" ID,
- PARENTID,
- TASKNO,
- POSIDCUR,
- POSIDNEXT,
- DESCRIPTION,
- NOTES,
-
- --TASK_WKSTATUS,
- --DEVICE_TYPE,
- --DEVICE_TASKNO, DEVICE_NO
- EXECUTEDATE
- ").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<WCS_TASK>().Where(it => it.TASK_NO == _F_No).First();
- if (db.TASK_WKSTATUS > 3)
- throw SysExCore.ThrowFailException("任务当前状态不能取消");
- db.TASK_EDITUSERNO = loginUserInfo.UserNo;
- db.TASK_EDITDATETIME = DateTime.Now;
- db.TASK_WKSTATUS = (int)ETaskStatus.TaskCancel;
- SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.TASK_EDITUSERNO, it.TASK_EDITDATETIME, it.TASK_WKSTATUS }).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<WCS_TASK>().Where(it => it.TASK_NO == taskno).First();
- if (db.TASK_WKSTATUS > 99)
- throw SysExCore.ThrowFailException("任务当前状态不能手动完成");
- 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;
- }
- }
- }
- }
|