| | |
| | | return BuildSimpleResult(3, $"该任务已有终点"); |
| | | } |
| | | |
| | | var cgDetail = db.Queryable<TN_CG_Detail>() |
| | | .Where(a => a.S_CNTR_CODE == task.S_CNTR_CODE).First(); |
| | | var cgDetailList = db.Queryable<TN_CG_Detail>() |
| | | .Where(a => a.S_CNTR_CODE == task.S_CNTR_CODE).ToList(); |
| | | |
| | | if (cgDetail == null) { |
| | | if (cgDetailList.Count == 0) { |
| | | return BuildSimpleResult(4, $"托盘物料不存在"); |
| | | } |
| | | |
| | | var endLoc = new TN_Location(); |
| | | if (cgDetail.F_WEIGHT > 2000) { |
| | | if (task.F_WEIGHT > 2000) { |
| | | // 重量超过2t,报错 |
| | | if (GZRobot.TryGetInteractionInfoId(task.S_CODE, out var id1)) { |
| | | if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { |
| | |
| | | //return BuildSimpleResult(8, $"国自AGV接受终点信息失败"); |
| | | } |
| | | |
| | | return BuildSimpleResult(8, $"物料重量{cgDetail.F_WEIGHT}超过2t"); |
| | | return BuildSimpleResult(8, $"物料重量{task.F_WEIGHT}超过2t"); |
| | | } |
| | | else if (cgDetail.F_WEIGHT > 1500) { |
| | | else if (task.F_WEIGHT > 1500) { |
| | | // 重量超过1.5t,需要选择1-2层货架 |
| | | endLoc = db.Queryable<TN_Location>() |
| | | .Where(a => a.S_CODE == model.EndLoc) |
| | |
| | | .Where(a => a.N_LAYER <= 2) |
| | | .First(); |
| | | } |
| | | else if (cgDetail.F_WEIGHT > 0) { |
| | | else if (task.F_WEIGHT > 0) { |
| | | endLoc = db.Queryable<TN_Location>() |
| | | .Where(a => a.S_CODE == model.EndLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | |
| | | .First(); |
| | | } |
| | | else { |
| | | return BuildSimpleResult(5, $"物料重量信息不合法:{cgDetail.F_WEIGHT}"); |
| | | return BuildSimpleResult(5, $"物料重量信息不合法:{task.F_WEIGHT}"); |
| | | } |
| | | |
| | | // 没有符合条件的货位 |
| | |
| | | return BuildSimpleResult(2, $"当前货位{model.startLoc}没有货位容器绑定关系,无需解绑!"); |
| | | } |
| | | |
| | | var cgDetail = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == locCntrRel.S_CNTR_CODE); |
| | | if (cgDetail != null) { |
| | | var cgDetailList = db.Queryable<TN_CG_Detail>().Where(a => a.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).ToList(); |
| | | if (cgDetailList.Count != 0) { |
| | | return BuildSimpleResult(3, $"当前货位{model.startLoc}容器存放的物料数量不为0,无法解绑!"); |
| | | } |
| | | |
| | |
| | | return BuildErpResult(400, "不能传入空的数据列表"); |
| | | } |
| | | |
| | | var insetRecordList = new List<TN_Inbound_DataRecord>(); |
| | | var insertRecordList = new List<TN_Inbound_DataRecord>(); |
| | | //var deleteRecordOldList = new List<TN_Inbound_DataRecord> (); |
| | | |
| | | foreach (var transaction in model.stockTransactions) { |
| | |
| | | S_SUPPLIER_NAME = transaction.supplierName, |
| | | S_INVENTORY_MAN = transaction.inventoryManager |
| | | }; |
| | | insetRecordList.Add(record); |
| | | insertRecordList.Add(record); |
| | | |
| | | } |
| | | |
| | |
| | | // return BuildErpResult(500, $"删除旧入库记录数据失败:{JsonConvert.SerializeObject(deleteRecordOldList)}"); |
| | | //} |
| | | |
| | | if (db.Insertable<TN_Inbound_DataRecord>(insetRecordList).ExecuteCommand() <= 0) { |
| | | if (db.Insertable<TN_Inbound_DataRecord>(insertRecordList).ExecuteCommand() <= 0) { |
| | | tran.RollbackTran(); |
| | | return BuildErpResult(500, $"写入入库记录表失败!"); |
| | | } |
| | |
| | | return BuildErpResult(400, "不能传入空的数据列表"); |
| | | } |
| | | |
| | | var insetRecordList = new List<TN_Outbound_DataRecord>(); |
| | | var insertRecordList = new List<TN_Outbound_DataRecord>(); |
| | | //var deleteRecordOldList = new List<TN_Outbound_DataRecord>(); |
| | | foreach (var issue in model.materialIssues) { |
| | | //var recordOld = db.Queryable<TN_Outbound_DataRecord>() |
| | |
| | | S_LINE_CODE = issue.lineCode, |
| | | S_BATCH_NO = issue.batchNo |
| | | }; |
| | | insetRecordList.Add(record); |
| | | insertRecordList.Add(record); |
| | | } |
| | | |
| | | using (var tran = db.Ado.UseTran()) { |
| | |
| | | // return BuildErpResult(500, $"删除旧出库记录数据失败:{JsonConvert.SerializeObject(deleteRecordOldList)}"); |
| | | //} |
| | | |
| | | if (db.Insertable<TN_Outbound_DataRecord>(insetRecordList).ExecuteCommand() <= 0) { |
| | | if (db.Insertable<TN_Outbound_DataRecord>(insertRecordList).ExecuteCommand() <= 0) { |
| | | tran.RollbackTran(); |
| | | return BuildErpResult(500, $"写入出库记录表失败"); |
| | | } |
| | |
| | | } |
| | | |
| | | var cgDetail = db.Queryable<TN_CG_Detail>() |
| | | .Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); |
| | | .Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE && d.S_ITEM_CODE == model.itemCode).First(); |
| | | if (cgDetail == null) { |
| | | return BuildSimpleResult(3, $"当前货位{model.locCode}上的容器{locCntrRel.S_CNTR_CODE}没有物品!"); |
| | | return BuildSimpleResult(3, $"当前货位{model.locCode}上的容器{locCntrRel.S_CNTR_CODE}没有物品{model.itemCode}!"); |
| | | } |
| | | |
| | | //var countDiff = new TN_Count_Diff { |
| | |
| | | // F_ACTUAL_QTY = model.qty |
| | | //}; |
| | | |
| | | var countDiff = db.Queryable<TN_AG_Count_Diff>().Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); |
| | | var countDiff = db.Queryable<TN_AG_Count_Diff>().Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE && d.S_ITEM_CODE == model.itemCode).First(); |
| | | if (countDiff == null) { |
| | | return BuildSimpleResult(4, $"当前物料所在容器{locCntrRel.S_CNTR_CODE}物料信息没有生成对应的盘点差异表!"); |
| | | return BuildSimpleResult(4, $"当前物料所在容器{locCntrRel.S_CNTR_CODE}物料信息{model.itemCode}没有生成对应的盘点差异表!"); |
| | | } |
| | | |
| | | |
| | | countDiff.F_QTY = cgDetail.F_QTY; |
| | | countDiff.F_ACTUAL_QTY = model.qty; |
| | |
| | | using (var tran = db.Ado.UseTran()) { |
| | | if (db.Updateable<TN_AG_Count_Diff>(countDiff).ExecuteCommand() <= 0) { |
| | | tran.RollbackTran(); |
| | | return BuildSimpleResult(5, $"插入盘点差异表失败"); |
| | | return BuildSimpleResult(5, $"更新盘点差异表失败"); |
| | | } |
| | | |
| | | if (db.Updateable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { |