杨张扬
8 天以前 3909fbf77ad4ebc0dde600ff82710d959f74b5f4
api/ApiHelper.cs
@@ -167,10 +167,10 @@
                            && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                            OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位
                }
                else if (model.cgState == 4)//技术合格回库
                else if (model.cgState == 4)//技术判定回库
                {
                    cG_Detail.N_ITEM_STATE = 4;
                    cG_Detail.S_ITEM_STATE = "技术合格";
                    cG_Detail.S_ITEM_STATE = "技术判定";
                    endLoc = db.Queryable<TN_Location>().
                            Where(o => o.S_AREA_CODE == Settings.Areas[8] 
                            && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无"
@@ -225,7 +225,7 @@
                else
                {
                    result.resultCode = 6;
                    result.resultMsg = $"物料状态只能为0合格1待检2不合格,下线即待检,3过期,4技术合格,5混合,6一级料、7二级料,如果为其他值,则不处理";
                    result.resultMsg = $"物料状态只能为0合格1待检2不合格,下线即待检,3过期,4技术判定,5混合,6一级料、7二级料,如果为其他值,则不处理";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
@@ -241,7 +241,7 @@
                var typeName = (model.cgState == 0) ? "人工复检回库" : "人工复检回炉";
                //创建人工拆盘出库任务
                //创建人工复检任务
                if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, typeName, 3, locCnt.S_CNTR_CODE,out string taskNo,cG_Detail.S_SPE))//创建搬送任务,起点终点容器
                {
                    LocationHelper.LockLoc(startLoc.S_CODE, 2);//起点出库锁,
@@ -692,7 +692,7 @@
                    return result;
                }
                model.RfId = WMSHelper.ConvertHexToAscii(model.RfId);
                model.RfId = WMSHelper.ConvertHexToAscii(model.RfId.Substring(0,16));
                //该产线的满托下线位置,起点
                var startPoint = Settings.ProductionLines.FirstOrDefault(a => a.PointOut == model.StartLoc);
@@ -763,7 +763,7 @@
                                                      && c.N_CURRENT_NUM == 0 && c.C_ENABLE == "Y"
                                                      && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == c.S_CODE).NotAny()//不能有货
                                                      ).
                                                      OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位,直接判断当前数量为0即可
                                                      OrderBy(o => o.N_LAYER, OrderByType.Asc).First();//查询合适的终点货位,1层先入库
                                if (endLoc != null)
                                {
@@ -1021,13 +1021,13 @@
                var waitTime = SpecHelper.GetWaitTime(model.Spe);
                //优先技术合格
                //优先技术判定
                var startLoc = db.Queryable<TN_Location>().
                    LeftJoin<TN_Loc_Container>((o, i) => o.S_CODE == i.S_LOC_CODE).
                    LeftJoin<TN_CG_Detail>((o, i, s) => i.S_CNTR_CODE == s.S_CNTR_CODE).
                    Where((o, i, s) => o.N_CURRENT_NUM > 0 && o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y"
                    && (s.S_ITEM_SPEC == model.Spe || s.S_SPE == model.Spe)//指定规格
                    && s.N_ITEM_STATE == 4 && s.S_ITEM_STATE == "技术合格"). //技术合格
                    && s.N_ITEM_STATE == 4 && s.S_ITEM_STATE == "技术判定"). //技术判定
                    First();//筛选有容器货位关系表信息,筛选有容器货品明细表信息
                if (startLoc == null)//其次合格
@@ -1039,7 +1039,7 @@
                       Where((o, i, s) => o.N_CURRENT_NUM > 0 && o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y"
                       && (s.S_ITEM_SPEC == model.Spe || s.S_SPE == model.Spe)//指定规格
                       && s.N_ITEM_STATE == 0 && s.S_ITEM_STATE == "合格" //合格的
                       && s.T_MODIFY.AddMinutes(waitTime) <= System.DateTime.Now).//根据规格的不同静置不同分钟才能出库
                       && i.T_CREATE.AddMinutes(waitTime) <= System.DateTime.Now).//根据规格的不同静置不同分钟才能出库
                       OrderBy((o, i, s) => s.T_CREATE, OrderByType.Asc).//先进先出
                       First();//筛选有容器货位关系表信息,筛选有容器货品明细表信息
                }
@@ -1091,11 +1091,6 @@
                           SHIFT = model.shift,
                        };
                        SpecHelper.InsertComponentDetail(target);
                    });
                    Task task27 = Task.Run(() =>
                    {
                        SpecHelper.DeleteInventoryM(cgInfo.S_ID);
                    });
                }
                else
@@ -1924,7 +1919,7 @@
                        var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == startLocCnt.S_CNTR_CODE);
                        Task task27 = Task.Run(() =>
                        {
                            if (endLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null) //插入WMS库存明细
                            if (endLoc.S_AREA_CODE == Settings.Areas[1] && cginfo != null) //插入WMS库存明细
                            {
                                var target = new TN_InventoryM()
                                {
@@ -1938,13 +1933,6 @@
                                    SHIFT = model.shift,
                                };
                                SpecHelper.InsertInventoryM(target);
                            }
                        });
                        Task task26 = Task.Run(() =>
                        {
                            if (startLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null)
                            {
                                SpecHelper.DeleteInventoryM(cginfo.S_ID);
                            }
                        });