11
cjs
9 天以前 1b4deb836c68efb689e13d3512888ae04fc99f09
HH.WCS.Mobox3.NongFuLinZhi/api/ApiHelper.cs
@@ -294,17 +294,11 @@
            db.Updateable(task).UpdateColumns(it => new { it.S_NOTE }).ExecuteCommand();
        }
        internal static WeiLiResult CancelOrder(CancelOrderModel model)
        {
            WeiLiResult result = new WeiLiResult();
            var db = new SqlHelper<object>().GetInstance();
            var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).ToList();
            var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.task_no).ToList();
            if (tasks.Count >= 1)
            {
                //流程任务数量执行超过一条 任务不允许取消
@@ -312,7 +306,7 @@
                result.msg = "流程任务执行中途不允许取消";
                return result;
            }
            var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).OrderByDescending(a => a.T_CREATE).First();
            var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.task_no).OrderByDescending(a => a.T_CREATE).First();
            if (task != null)
            {
                if (WCSHelper.CheckActionRecordExist(task.S_CODE, 4))
@@ -324,7 +318,7 @@
                if (task.N_B_STATE == 0)
                {
                    //等待直接修改状态为取消
                    WCSHelper.UpdateStatus(model.orderNo, 5);
                    WCSHelper.UpdateStatus(model.task_no, 5);
                    //result.msg = "任务等待,直接取消";
                }
                else if (task.N_B_STATE != 3 && task.N_B_STATE != 4)
@@ -336,7 +330,8 @@
                    else
                    {
                        //已推送但是没有完成或者取消,通知hosttoagv
                        NDCHelper.Cancel(task.S_CODE.Trim());
                        //NDCHelper.Cancel(task.S_CODE.Trim());
                        NDCApi.CancelOrder(task.S_CODE.Trim());
                        //result.msg = "任务取消已经发送给小车";
                    }
                }
@@ -379,7 +374,8 @@
                    else
                    {
                        //通知杭叉修改优先级
                        NDCHelper.Cancel(task.S_CODE.Trim());
                        //NDCHelper.Cancel(task.S_CODE.Trim());
                        NDCApi.CancelOrder(task.S_CODE.Trim());
                        result.msg = "修改优先级成功";
                    }
                }
@@ -677,6 +673,51 @@
            return result;
        }
        internal static ReturnResult bindCntr(bindModel model)
        {
            ReturnResult result = new ReturnResult() {ResultCode = -1 };
            var db = new SqlHelper<object>().GetInstance();
            if (TaskProcess.BindLocCntr(model.S_LOC_CODE, model.S_CNTR_CODE, model.S_ITEM_CODE, model.S_BATCH_CODE))
            {
                int num = model.S_CNTR_CODE.Split(',').Count();
                var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == model.S_LOC_CODE).First();
                if(locInfo != null)
                {
                    locInfo.N_CURRENT_NUM = locInfo.N_CURRENT_NUM + num > locInfo.N_CAPACITY ? locInfo.N_CAPACITY : locInfo.N_CURRENT_NUM + num;
                    db.Updateable(locInfo).UpdateColumns(a => new { a.N_CURRENT_NUM }).ExecuteCommand();
                    result.ResultCode = 0;
                }
            }
            return result;
        }
        internal static ReturnResult unBindCntr(unBindModel model)
        {
            ReturnResult result = new ReturnResult() { ResultCode = -1 };
            var db = new SqlHelper<object>().GetInstance();
            var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == model.S_LOC_CODE).First();
            if(locInfo != null)
            {
                var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == model.S_LOC_CODE).ToList();
                if(cntrList.Count > 0)
                {
                    for (int i = cntrList.Count - 1; i >= 0; i --)
                    {
                        string cntrCode = cntrList[i].S_CNTR_CODE;
                        db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand();
                        db.Deleteable<LocCntrRel>().Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand();
                        db.Deleteable<Container>().Where(a => a.S_CODE == cntrCode).ExecuteCommand();
                    }
                }
                locInfo.N_CURRENT_NUM = locInfo.N_CURRENT_NUM - 1;
                if (locInfo.N_CURRENT_NUM < 0) locInfo.N_CURRENT_NUM = 0;
                db.Updateable(locInfo).UpdateColumns(a => new { a.N_CURRENT_NUM }).ExecuteCommand();
                result.ResultCode = 0;
            }
            return result;
        }
        //public class AddTaskModel
        //{