| | |
| | | ErpAutoid = womdab.Erpid, |
| | | PbillNo = query.billNo, |
| | | ItemId = blDetail.Bld012, |
| | | DepotId = stockBarcode.DepotsId.ToString(), |
| | | DepotId = stockBarcode.DepotId.ToString(), |
| | | ItemDabid = blDetail.Id, |
| | | // Unit = blDetail.Bld009, |
| | | // DepotId = (int)stockBarcode.DepotsId |
| | |
| | | /// - Num: 发料数量(必填,必须大于0) |
| | | /// - blNo: 补料单号(必填) |
| | | /// </remarks> |
| | | public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode( |
| | | public ProductionPickDto SplitBarcode( |
| | | WarehouseQuery query) |
| | | { |
| | | if (string.IsNullOrEmpty(query.userName)) |
| | |
| | | // 拆分条码 |
| | | if (totalQty > query.Num) |
| | | { |
| | | var mesItems = db.Queryable<MesItems>() |
| | | .Where(s => s.Id == stockBarcode.ItemId).First(); |
| | | newBarcode = BillNo.ExecuteBarcodeSplit(query.userName, query.barcode, query.Num); |
| | | //var mesItems = db.Queryable<MesItems>() |
| | | // .Where(s => s.Id == stockBarcode.ItemId).First(); |
| | | |
| | | // 生成新条码号 |
| | | newBarcode = BillNo.GetBillNo("TM(条码)", mesItems.ItemNo); |
| | | //// 生成新条码号 |
| | | //newBarcode = BillNo.GetBillNo("TM(条码)", mesItems.ItemNo); |
| | | |
| | | // 写入新条码 |
| | | executeCommand += db.Insertable(new MesInvItemBarcodes |
| | | { |
| | | Guid = Guid.NewGuid(), |
| | | ItemBarcode = newBarcode, |
| | | CustNo = stockBarcode.CustomerNo, |
| | | // ProductCode = stockBarcode.ProductCode, |
| | | // ItemBarcode2 = stockBarcode.ItemBarcode2, |
| | | // ItemCode = stockBarcode.ItemCode, |
| | | ItemNo = stockBarcode.ItemNo, |
| | | LotNo = stockBarcode.LotNo, |
| | | Quantity = query.Num, |
| | | EpFlag = true, |
| | | TaskNo = stockBarcode.TaskNo, |
| | | CreateBy = query.userName, |
| | | CreateDate = DateTime.Now, |
| | | LastupdateBy = query.userName, |
| | | LastupdateDate = DateTime.Now, |
| | | OldItemBarcode = query.barcode, |
| | | // Mblnr = stockBarcode.Mblnr, |
| | | // Zeile = stockBarcode.Zeile, |
| | | // RohInId = stockBarcode.RohInId, |
| | | Barcodestatus = false, |
| | | Oldqty = query.Num as long?, |
| | | // Unit = stockBarcode.Unit, |
| | | // WeightUnit = stockBarcode.WeightUnit, |
| | | Factory = stockBarcode.Factory, |
| | | Company = stockBarcode.Company, |
| | | BillNo = stockBarcode.BillNo, |
| | | BoardStyle = stockBarcode.BoardStyle, |
| | | // ColorName = stockBarcode.ColorName, |
| | | WorkNo = stockBarcode.WorkNo, |
| | | WorkLine = stockBarcode.WorkLine, |
| | | // MemoBad = stockBarcode.MemoBad, |
| | | ComeFlg = 5, |
| | | // Memo = stockBarcode.Memo, |
| | | SuppId = stockBarcode.SuppId, |
| | | SuppNo = stockBarcode.SuppNo, |
| | | InsDate = stockBarcode.IndepDate, // Added InsDate |
| | | ItemId = stockBarcode.ItemId |
| | | // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | //// 写入新条码 |
| | | //executeCommand += db.Insertable(new MesInvItemBarcodes |
| | | //{ |
| | | // Guid = Guid.NewGuid(), |
| | | // ItemBarcode = newBarcode, |
| | | // CustNo = stockBarcode.CustomerNo, |
| | | // // ProductCode = stockBarcode.ProductCode, |
| | | // // ItemBarcode2 = stockBarcode.ItemBarcode2, |
| | | // // ItemCode = stockBarcode.ItemCode, |
| | | // ItemNo = stockBarcode.ItemNo, |
| | | // LotNo = stockBarcode.LotNo, |
| | | // Quantity = query.Num, |
| | | // EpFlag = true, |
| | | // TaskNo = stockBarcode.TaskNo, |
| | | // CreateBy = query.userName, |
| | | // CreateDate = DateTime.Now, |
| | | // LastupdateBy = query.userName, |
| | | // LastupdateDate = DateTime.Now, |
| | | // OldItemBarcode = query.barcode, |
| | | // // Mblnr = stockBarcode.Mblnr, |
| | | // // Zeile = stockBarcode.Zeile, |
| | | // // RohInId = stockBarcode.RohInId, |
| | | // Barcodestatus = false, |
| | | // Oldqty = query.Num as long?, |
| | | // // Unit = stockBarcode.Unit, |
| | | // // WeightUnit = stockBarcode.WeightUnit, |
| | | // Factory = stockBarcode.Factory, |
| | | // Company = stockBarcode.Company, |
| | | // BillNo = stockBarcode.BillNo, |
| | | // BoardStyle = stockBarcode.BoardStyle, |
| | | // // ColorName = stockBarcode.ColorName, |
| | | // WorkNo = stockBarcode.WorkNo, |
| | | // WorkLine = stockBarcode.WorkLine, |
| | | // // MemoBad = stockBarcode.MemoBad, |
| | | // ComeFlg = 5, |
| | | // // Memo = stockBarcode.Memo, |
| | | // SuppId = stockBarcode.SuppId, |
| | | // SuppNo = stockBarcode.SuppNo, |
| | | // InsDate = stockBarcode.IndepDate, // Added InsDate |
| | | // ItemId = stockBarcode.ItemId |
| | | // // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit |
| | | //}).IgnoreColumns(true).ExecuteCommand(); |
| | | |
| | | // 更新原条码数量 |
| | | executeCommand += db.Updateable<MesInvItemBarcodes>() |
| | | .SetColumns(it => it.Quantity == it.Quantity - query.Num) |
| | | .Where(it => it.ItemBarcode == query.barcode) |
| | | .ExecuteCommand(); |
| | | |
| | | // 更新原条码数量 |
| | | executeCommand += db.Updateable<MesInvItemStocks>() |
| | | .SetColumns(it => it.Quantity == it.Quantity - query.Num) |
| | | .Where(it => it.ItemBarcode == query.barcode) |
| | | .ExecuteCommand(); |
| | | |
| | | //// 删除原条码库存记录 |
| | | //executeCommand += db.Deleteable<MesInvItemStocks>() |
| | | //// 更新原条码数量 |
| | | //executeCommand += db.Updateable<MesInvItemBarcodes>() |
| | | // .SetColumns(it => it.Quantity == it.Quantity - query.Num) |
| | | // .Where(it => it.ItemBarcode == query.barcode) |
| | | // .ExecuteCommand(); |
| | | |
| | | // 插入剩余条码数量的新库存记录 |
| | | executeCommand += db.Insertable(new MesInvItemStocks |
| | | { |
| | | Guid = Guid.NewGuid(), |
| | | TaskNo = stockBarcode.TaskNo, |
| | | ItemBarcode = newBarcode, |
| | | ItemNo = stockBarcode.ItemNo, |
| | | LotNo = stockBarcode.LotNo, |
| | | Quantity = query.Num, |
| | | EpFlag = stockBarcode.EpFlag, |
| | | CustomerNo = stockBarcode.CustomerNo, |
| | | ItemWt = stockBarcode.ItemWt, |
| | | DepotsCode = stockBarcode.DepotsCode, |
| | | DepotsId = stockBarcode.DepotsId, |
| | | DepotSectionsCode = stockBarcode.DepotSectionsCode, |
| | | CheckDate = stockBarcode.CheckDate, |
| | | ItemType = stockBarcode.ItemType, |
| | | IndepDate = stockBarcode.IndepDate, |
| | | Factory = stockBarcode.Factory, |
| | | Company = stockBarcode.Company, |
| | | IqcStatus = stockBarcode.IqcStatus, |
| | | BoardStyle = stockBarcode.BoardStyle, |
| | | WorkNo = stockBarcode.WorkNo, |
| | | WorkLine = stockBarcode.WorkLine, |
| | | SuppNo = stockBarcode.SuppNo, |
| | | ItemId = stockBarcode.ItemId |
| | | // UnitId = stockBarcode.ItemUnit |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | //// 更新原条码数量 |
| | | //executeCommand += db.Updateable<MesInvItemStocks>() |
| | | // .SetColumns(it => it.Quantity == it.Quantity - query.Num) |
| | | // .Where(it => it.ItemBarcode == query.barcode) |
| | | // .ExecuteCommand(); |
| | | |
| | | // 写入新条码的交易记录 |
| | | executeCommand += db.Insertable(new MesInvBusiness2 |
| | | { |
| | | Guid = Guid.NewGuid(), |
| | | Status = 1, |
| | | BillTypeId = 200, // p_bill_type_id |
| | | TransactionCode = "209", // p_transaction_no |
| | | BusinessType = 0, |
| | | ItemBarcode = newBarcode, |
| | | ItemNo = stockBarcode.ItemNo, |
| | | LotNo = stockBarcode.LotNo, |
| | | EpFlag = true, |
| | | Quantity = query.Num, |
| | | FromInvDepotsCode = null, |
| | | FromInvDepotSectionsCode = null, |
| | | ToInvDepotsCode = stockBarcode.DepotsCode, |
| | | ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, |
| | | Description = query.Type + "拆分生成", |
| | | CreateBy = query.userName, |
| | | CreateDate = DateTime.Now, |
| | | LastupdateBy = query.userName, |
| | | LastupdateDate = DateTime.Now, |
| | | Factory = stockBarcode.Factory, |
| | | Company = stockBarcode.Company, |
| | | TaskNo = stockBarcode.TaskNo, |
| | | BillNo = stockBarcode.BillNo, |
| | | WorkNo = stockBarcode.WorkNo, |
| | | WorkLine = stockBarcode.WorkLine, |
| | | SuppNo = stockBarcode.SuppNo, |
| | | SuppId = stockBarcode.SuppId, |
| | | ItemId = stockBarcode.ItemId |
| | | // CkDepot = stockBarcode.DepotsId |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | ////// 删除原条码库存记录 |
| | | ////executeCommand += db.Deleteable<MesInvItemStocks>() |
| | | //// .Where(it => it.ItemBarcode == query.barcode) |
| | | //// .ExecuteCommand(); |
| | | |
| | | //// 插入剩余条码数量的新库存记录 |
| | | //executeCommand += db.Insertable(new MesInvItemStocks |
| | | //{ |
| | | // Guid = Guid.NewGuid(), |
| | | // TaskNo = stockBarcode.TaskNo, |
| | | // ItemBarcode = newBarcode, |
| | | // ItemNo = stockBarcode.ItemNo, |
| | | // LotNo = stockBarcode.LotNo, |
| | | // Quantity = query.Num, |
| | | // EpFlag = stockBarcode.EpFlag, |
| | | // CustomerNo = stockBarcode.CustomerNo, |
| | | // ItemWt = stockBarcode.ItemWt, |
| | | // DepotsCode = stockBarcode.DepotsCode, |
| | | // DepotsId = stockBarcode.DepotsId, |
| | | // DepotSectionsCode = stockBarcode.DepotSectionsCode, |
| | | // CheckDate = stockBarcode.CheckDate, |
| | | // ItemType = stockBarcode.ItemType, |
| | | // IndepDate = stockBarcode.IndepDate, |
| | | // Factory = stockBarcode.Factory, |
| | | // Company = stockBarcode.Company, |
| | | // IqcStatus = stockBarcode.IqcStatus, |
| | | // BoardStyle = stockBarcode.BoardStyle, |
| | | // WorkNo = stockBarcode.WorkNo, |
| | | // WorkLine = stockBarcode.WorkLine, |
| | | // SuppNo = stockBarcode.SuppNo, |
| | | // ItemId = stockBarcode.ItemId |
| | | // // UnitId = stockBarcode.ItemUnit |
| | | //}).IgnoreColumns(true).ExecuteCommand(); |
| | | |
| | | //// 写入新条码的交易记录 |
| | | //executeCommand += db.Insertable(new MesInvBusiness2 |
| | | //{ |
| | | // Guid = Guid.NewGuid(), |
| | | // Status = 1, |
| | | // BillTypeId = 200, // p_bill_type_id |
| | | // TransactionCode = "209", // p_transaction_no |
| | | // BusinessType = 0, |
| | | // ItemBarcode = newBarcode, |
| | | // ItemNo = stockBarcode.ItemNo, |
| | | // LotNo = stockBarcode.LotNo, |
| | | // EpFlag = true, |
| | | // Quantity = query.Num, |
| | | // FromInvDepotsCode = null, |
| | | // FromInvDepotSectionsCode = null, |
| | | // ToInvDepotsCode = stockBarcode.DepotsCode, |
| | | // ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, |
| | | // Description = query.Type + "拆分生成", |
| | | // CreateBy = query.userName, |
| | | // CreateDate = DateTime.Now, |
| | | // LastupdateBy = query.userName, |
| | | // LastupdateDate = DateTime.Now, |
| | | // Factory = stockBarcode.Factory, |
| | | // Company = stockBarcode.Company, |
| | | // TaskNo = stockBarcode.TaskNo, |
| | | // BillNo = stockBarcode.BillNo, |
| | | // WorkNo = stockBarcode.WorkNo, |
| | | // WorkLine = stockBarcode.WorkLine, |
| | | // SuppNo = stockBarcode.SuppNo, |
| | | // SuppId = stockBarcode.SuppId, |
| | | // ItemId = stockBarcode.ItemId |
| | | // // CkDepot = stockBarcode.DepotsId |
| | | //}).IgnoreColumns(true).ExecuteCommand(); |
| | | } |
| | | else if (totalQty < query.Num) |
| | | { |
| | |
| | | { |
| | | Guid = Guid.NewGuid(), |
| | | ItemOutId = outId, |
| | | ItemBarcode = newBarcode ?? query.barcode, |
| | | ItemBarcode = newBarcode , |
| | | ItemNo = stockBarcode.ItemNo, |
| | | LotNo = stockBarcode.LotNo, |
| | | Quantity = query.Num, |
| | |
| | | BillTypeId = 200, // p_bill_type_id |
| | | TransactionCode = "209", // p_transaction_no |
| | | BusinessType = 1, |
| | | ItemBarcode = newBarcode ?? query.barcode, |
| | | ItemBarcode = newBarcode , |
| | | ItemNo = stockBarcode.ItemNo, |
| | | LotNo = stockBarcode.LotNo, |
| | | EpFlag = true, |
| | |
| | | |
| | | // 创建 插入日志 |
| | | var logService = new LogService(); |
| | | var LogMsg = "[PDA]" + query.Type + "。条码【" + query.barcode + "】 出库单号【" + outNo + "】"; |
| | | var LogMsg = "[PDA]" + query.Type + "。条码【" + newBarcode + "】 出库单号【" + outNo + "】"; |
| | | logService.CreateLog(db, query.userName, womdaa.Guid.ToString(), "WOMDAA", LogMsg, womdaa.Daa001); |
| | | |
| | | |
| | |
| | | }) |
| | | .ToList(); |
| | | |
| | | return (success, pendingList); |
| | | var dto = new ProductionPickDto |
| | | { |
| | | daa001 = query.billNo, |
| | | barcode = query.barcode,//原条码 |
| | | cfBarcode = newBarcode//拆分后条码 |
| | | }; |
| | | |
| | | return dto; |
| | | } |
| | | |
| | | #endregion |
| | |
| | | return (true, pendingList); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据单号获取生产补料单明细 prc_rf_pda_scan_zout_showbl |
| | | /// </summary> |
| | | /// <param name="billNo">补料单号</param> |
| | | /// <returns>补料单明细列表</returns> |
| | | public ProductionPickDto |
| | | GetMesItemWWBlDetailByBillNo( |
| | | WarehouseQuery query) |
| | | { |
| | | if (string.IsNullOrEmpty(query.billNo)) |
| | | throw new Exception("请选单据号!"); |
| | | |
| | | // 检查补料单是否存在且为生产补料类型 |
| | | var mesItemBl = Db.Queryable<MesItemBl>() |
| | | .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true) |
| | | .First(); |
| | | |
| | | if (mesItemBl == null) |
| | | throw new Exception("单据号不存在或未审核!"); |
| | | |
| | | //if (mesItemBl.Bl019 == true) |
| | | // throw new Exception("单据号已完成!"); |
| | | |
| | | //// 获取未完成的补料单明细 |
| | | //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => |
| | | // new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) |
| | | // .Where((a, b) => a.BlNo == query.billNo |
| | | // && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) |
| | | // .Select((a, b) => new MesItemBlDetail |
| | | // { |
| | | // Bld012 = b.Bld012, |
| | | // Bld002 = b.Bld002, |
| | | // Bld003 = b.Bld003, |
| | | // Bld004 = b.Bld004, |
| | | // Bld007 = b.Bld007, |
| | | // Bld008 = b.Bld008 |
| | | // }) |
| | | // .ToList(); |
| | | |
| | | //return (mesItemBl.Bl001, blDetails); |
| | | var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, |
| | | dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 |
| | | fROM MES_ITEM_BL_DETAIL A |
| | | LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID |
| | | LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50)) |
| | | LEFT JOIN WW_GD D ON B.about_guid = D.ID |
| | | WHERE B.bl_no = '{0}'", query.billNo); |
| | | |
| | | var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); |
| | | |
| | | |
| | | var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); |
| | | |
| | | var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | daa001 = womdabs[0].DAA001, |
| | | //PlanNo = womcaa.Caa020, |
| | | items = DS_list, |
| | | Ysitems = YS_list |
| | | }; |
| | | |
| | | return dto; |
| | | } |
| | | |
| | | #endregion |
| | | } |