| | |
| | | using Tiger.Model.Entitys.MES.BizMesWoBatch; |
| | | using Tiger.Model.Entitys.MES.BizMesWo; |
| | | using Tiger.Model.Entitys.MES.BizBasPkgRule; |
| | | using Tiger.Model.Entitys.MES.Position; |
| | | |
| | | namespace Tiger.Business.MES |
| | | { |
| | |
| | | var result = new ApiAction(); |
| | | try |
| | | { |
| | | if (input.ItemCusts == null || input.ItemCusts.Count == 0) |
| | | { |
| | | |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"保存物料条码规则出错,没有数据传入"); |
| | | return result; |
| | | } |
| | | var ItemCustIds = input.ItemCusts.Select(q => q.ID).ToList(); |
| | | List<BAS_ITEM_CUST> list = await Biz.Db.Queryable<BAS_ITEM_CUST>().Where(q => !SqlFunc.ContainsArray(ItemCustIds, q.ID) && input.ItemCusts[0].ITEM_ID == q.ITEM_ID).ToListAsync(); |
| | | List<BAS_ITEM_CUST> list = ItemCustIds.Count>0? await Biz.Db.Queryable<BAS_ITEM_CUST>() |
| | | .Where(q => !SqlFunc.ContainsArray(ItemCustIds, q.ID) && input.ItemCusts[0].ITEM_ID == q.ITEM_ID) |
| | | .ToListAsync() : new(); |
| | | var db = Biz.Db; |
| | | var dbTran = db.UseTran(() => |
| | | { |
| | | if (input.Item != null) |
| | | { |
| | | db.Updateable(input.Item).UpdateColumns(q => q.RULE_CODE).ExecuteCommand(); |
| | | } |
| | | var z = db.Storageable(input.ItemCusts) |
| | | .WhereColumns(t => new { t.ID, t.GHOST_ROW }) |
| | | .ToStorage(); |
| | |
| | | var result = new ApiAction(); |
| | | try |
| | | { |
| | | if (input.PkgProd == null || input.PkgProd.Count == 0) |
| | | { |
| | | |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"保存包装规则出错,没有数据传入"); |
| | | return result; |
| | | } |
| | | var pkgProds = input.PkgProd.Select(q => q.ID).ToList(); |
| | | List<BAS_PKG_PROD> listPrd = await Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID) && q.PKG_RULE_ID == input.PkgProd[0].PKG_RULE_ID).ToListAsync(); |
| | | List<BAS_PKG_PROD> listPrd = pkgProds.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_PROD>() |
| | | .Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID) && q.PKG_RULE_ID == input.PkgProd[0].PKG_RULE_ID) |
| | | .ToListAsync() : new(); |
| | | var pkgDtl = input.PkgDtl.Select(q => q.ID).ToList(); |
| | | List<BAS_PKG_DTL> listDtl = pkgDtl.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_DTL>() |
| | | .Where(q => !SqlFunc.ContainsArray(pkgDtl, q.ID) && q.PKG_RULE_ID == input.PkgDtl[0].PKG_RULE_ID) |
| | | .ToListAsync() : new(); |
| | | var db = Biz.Db; |
| | | var dbTran = db.UseTran(() => |
| | | { |
| | | //if (input.PkgRule!=null) |
| | | //{ |
| | | // var y = db.Storageable(input.PkgRule) |
| | | // .WhereColumns(t => new { t.ID, t.GHOST_ROW }) |
| | | // .ToStorage(); |
| | | // y.AsInsertable.ExecuteCommand(); |
| | | // y.AsUpdateable.ExecuteCommand(); |
| | | //} |
| | | |
| | | var z = db.Storageable(input.PkgDtl) |
| | | .WhereColumns(t => new { t.ID, t.GHOST_ROW }) |
| | | .ToStorage(); |
| | |
| | | o.AsUpdateable.ExecuteCommand(); |
| | | |
| | | db.Deleteable(listPrd).ExecuteCommand(); |
| | | db.Deleteable(listDtl).ExecuteCommand(); |
| | | }); |
| | | if (!dbTran.IsSuccess) |
| | | { |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取箱号 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | public async Task<ApiAction> GetCardOrBoxCode(GetCodeInput input) |
| | | { |
| | | var result = new ApiAction(); |
| | | try |
| | | { |
| | | if (input.BatchNo.IsNullOrEmpty()) |
| | | { |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"工单批次号不能为空,是否未扫描工单?"); |
| | | } |
| | | result.Data = input.IsTry == "Y" ? Cache.CodeRule[input.Code]?.TryGenerate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? "" : Cache.CodeRule[input.Code]?.Generate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? ""; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | result.CatchExceptionWithLog(ex, "获取箱号异常"); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | } |