static public bool AssignMO(SqlConnection connect, Log log, AppConfig config, ProductInfo prodInfo, CDSIPO poInfo) { bool selectedMo = false; List<MO> moList= GetAvailableMO(connect, log, prodInfo, config.MOStartDateOffSetDay, config.MOUdtOffSetDay); if (moList.Count == 0) return selectedMo; int availableQty=0; foreach (MO mo in moList) { availableQty = mo.Qty- GetAssignMOQty(connect, log, mo.MOId); if (availableQty > 0) { poInfo.MOId = mo.MOId; selectedMo = true; break; } } return selectedMo; }
static public bool AssignPO(SqlConnection connect, Log log, AppConfig config, ProductInfo prodInfo, CDSIPO poInfo) { bool selectedPo = false; List<Delivery> poList = GetAvailableDelivery(connect, log, prodInfo, config.ShipDateOffSetDay); if (poList.Count == 0) { poList = GetAvailableDeliveryByCustPo(connect, log, prodInfo, config.ShipDateOffSetDay); } if (poList.Count == 0) return selectedPo; int availableQty = 0; foreach (Delivery po in poList) { availableQty = po.Qty - GetAssignPOQty(connect, log, po.DeliveryNo, po.PO); if (availableQty > 0) { poInfo.PO= po.PO; poInfo.DeliveryNo = po.DeliveryNo; poInfo.DeliveryQty = po.Qty; poInfo.RemainQty = availableQty; poInfo.CustPo = po.CustPo; poInfo.HpPo = po.HpPo; poInfo.isCustPo = po.isCustPo; selectedPo = true; break; } } return selectedPo; }
static public void InsertCNRSPoMo(SqlConnection connect, Log log, CDSIPO poInfo) { SqlCommand dbCmd = connect.CreateCommand(); dbCmd.CommandType = CommandType.Text; dbCmd.CommandText = @"insert dbo.SnoDet_PoMo(SnoId, Mo, PO, POItem, Delivery, PLT, BoxId, Remark, Editor, Cdt, Udt) values(@SnoId, @Mo, @PO, '00001', @Delivery, '', '', '', 'CNRS', GETDATE(), GETDATE())"; SQLHelper.createInputSqlParameter(dbCmd, "@SnoId", 15, poInfo.ProductID); SQLHelper.createInputSqlParameter(dbCmd, "@Mo", 32, poInfo.MOId); SQLHelper.createInputSqlParameter(dbCmd, "@PO", 32, poInfo.PO); SQLHelper.createInputSqlParameter(dbCmd, "@Delivery", 32, poInfo.DeliveryNo); log.write(LogType.Info, 0, "SQL", "InsertCNRSPoMo", dbCmd.CommandText); log.write(LogType.Info, 0, "SQL", "@SnoId", poInfo.ProductID); log.write(LogType.Info, 0, "SQL", "@Mo", poInfo.MOId); log.write(LogType.Info, 0, "SQL", "@PO", poInfo.PO); log.write(LogType.Info, 0, "SQL", "@Delivery", poInfo.DeliveryNo); dbCmd.ExecuteNonQuery(); }