/// <summary> /// 根据箱号和发运日期获取箱号和下架单对应关系 /// </summary> /// <param name="HU"></param> /// <returns></returns> public static List <BoxPickTaskMapInfo> GetBoxPickTaskMapInfoByHU(string HU, DateTime SHIP_DATE) { try { string sql = "SELECT HU, PICK_TASK, PARTNER, LOUCENG, SHIP_DATE, PACKMAT, QUAN, IS_SCAN FROM BoxPickTaskMap WHERE HU = @HU AND SHIP_DATE = @SHIP_DATE"; SqlParameter p1 = DBHelper.CreateParameter("@HU", HU); SqlParameter p2 = DBHelper.CreateParameter("@SHIP_DATE", SHIP_DATE); DataTable table = DBHelper.GetTable(sql, false, p1, p2); if (table != null && table.Rows.Count > 0) { List <BoxPickTaskMapInfo> list = new List <BoxPickTaskMapInfo>(); foreach (DataRow row in table.Rows) { BoxPickTaskMapInfo item = new BoxPickTaskMapInfo(); item.HU = row["HU"] == null ? null : row["HU"].ToString(); item.PICK_TASK = row["PICK_TASK"] == null ? null : row["PICK_TASK"].ToString(); item.PARTNER = row["PARTNER"] == null ? null : row["PARTNER"].ToString(); item.LOUCENG = row["LOUCENG"] == null ? null : row["LOUCENG"].ToString(); try { item.SHIP_DATE = DateTime.Parse(row["SHIP_DATE"].ToString()); } catch { item.SHIP_DATE = (DateTime?)null; } item.PACKMAT = row["PACKMAT"] == null ? null : row["PACKMAT"].ToString(); try { item.QUAN = float.Parse(row["QUAN"].ToString()); } catch { item.QUAN = 0; } try { item.IS_SCAN = bool.Parse(row["IS_SCAN"].ToString()); } catch { item.IS_SCAN = false; } list.Add(item); } return(list); } return(null); } catch (Exception ex) { //LogHelper.WriteLine(ex.Message + "\r\n" + ex.StackTrace); return(null); } }
public bool SIO_EWM_RFID019(string HU, string SHIP_DATE) { HU = !string.IsNullOrEmpty(HU) ? HU.TrimStart('0') : ""; LogHelp.LogDebug(string.Format("调用绑定函数[SIO_EWM_RFID010],参数=>HU:[{0}],SHIP_DATE:[{1}]", HU, SHIP_DATE)); DateTime?sd = null; try { sd = DateTime.ParseExact(SHIP_DATE, "yyyyMMdd", CultureInfo.InvariantCulture); } catch { } if (sd == null) { LogHelp.LogDebug(string.Format("调用绑定函数[SIO_EWM_RFID010],结果=>[{0}]", "false,发运日期格式错误")); return(false); } //根据HU和发运日期到表BoxPickTaskMap获取箱号和下架单号关系列表 List <BoxPickTaskMapInfo> boxPickTaskMapInfoList = LocalDataService.GetBoxPickTaskMapInfoByHU(HU, sd.Value); if (boxPickTaskMapInfoList == null) { LogHelp.LogDebug(string.Format("调用绑定函数[SIO_EWM_RFID010],结果=>[{0}]", "false,箱码下架单绑定关系不存在")); return(false); } BoxPickTaskMapInfo boxPartnerMapInfo = boxPickTaskMapInfoList.Count > 0 ? boxPickTaskMapInfoList[0] : null; if (boxPartnerMapInfo != null) { //根据PARTNER,LOUCENG,ship_date,hu,result到表DeliverBox获取Guid PKDeliverBox deliverBox = LocalDataService.GetDeliverBox(boxPartnerMapInfo.LOUCENG, boxPartnerMapInfo.PARTNER, sd.Value, HU, "S"); if (deliverBox != null) { //start edit by wuxw //通过Guid到表delivererrorbox获取扫描记录 List <PKDeliverErrorBox> deliverErrorBoxList = LocalDataService.GetDeliverErrorBoxListByBoxGuid(deliverBox.GUID); //到下架单表扣除相应数量 if (deliverErrorBoxList != null && deliverErrorBoxList.Count > 0) { foreach (PKDeliverErrorBox errorbox in deliverErrorBoxList) { //更改下架单的实发数量 LocalDataService.RemovePickTaskRealNum(errorbox.PICK_TASK, errorbox.PICK_TASK_ITEM, errorbox.MATNR, (int)errorbox.REAL, (int)errorbox.ADD_REAL); } } //end edit by wuxw } //删除BoxPartnerMap对应记录 bool result = LocalDataService.DeleteBoxPickTaskMapInfo(HU, sd.Value); if (deliverBox != null) { //删除DeliverBox对应记录 LocalDataService.DeleteDeliverBox(HU, sd.Value); //删除DeliverErrorBox对应记录 LocalDataService.DeleteDeliverErrorBox(HU, sd.Value); //删除deliverepcdetail对应记录 LocalDataService.DeleteDeliverEpcDetail(HU, sd.Value); } } LogHelp.LogDebug(string.Format("调用绑定函数[SIO_EWM_RFID010],结果=>[{0}]", true)); return(true); }