/// <summary> /// 插入变化后的商品信息 /// </summary> /// <param name="baseDataCommodityCode">所有数据</param> /// <param name="sourceBill">业务类型</param> /// <returns></returns> public bool InsertLocalCommodityCodeInfo(BaseData <CommodityCode> baseDataCommodityCode, string sourceBill) { var result = false; //校验是否含有数据,如果含有数据,有就继续下一步 baseDataCommodityCode = HttpHelper.GetInstance().ResultCheck(baseDataCommodityCode, out bool isSuccess); if (isSuccess) { List <LocalCommodityCode> localCommodityCodes = baseDataCommodityCode.body.objects.MapToListIgnoreId <CommodityCode, LocalCommodityCode>(); var createTime = DateTime.Now; var operater = ApplicationState.GetUserInfo().name; localCommodityCodes.ForEach(it => { it.sourceBill = sourceBill; it.create_time = createTime; it.operater = operater; }); //事务防止多插入产生脏数据 result = SqlSugarHelper.GetInstance().Db.Ado.UseTran(() => { SqlSugarHelper.GetInstance().Db.Insertable(localCommodityCodes).ExecuteCommand(); }).IsSuccess; } if (!result) { LogUtils.Warn("InsertLocalCommodityCodeInfo" + sourceBill); } return(result); }
/// <summary> /// 根据拣货单号获取任务单详情 /// </summary> /// <param name="pickTaskName"></param> /// <returns></returns> public BaseData <PickTask> GetPickTask(string pickTaskName) { //获取待完成拣货工单 return(HttpHelper.GetInstance().Get <PickTask>(new QueryParam { view_filter = { filter = { logical_relation = "1 AND 2 AND 3", expressions = { new QueryParam.Expressions { field = "name", @operator = "==", operands ={ $"'{ HttpUtility.UrlEncode(pickTaskName) }'" } }, new QueryParam.Expressions { field = "BillStatus", @operator = "==", operands ={ $"'{ HttpUtility.UrlEncode(PickTaskStatus.待拣货.ToString()) }'" } }, new QueryParam.Expressions { field = "Operator", @operator = "==", operands ={ $"'{ HttpUtility.UrlEncode(ApplicationState.GetUserInfo().id)}'" } } } } } })); }
/// <summary> /// 根据上架单号获取任务单详情 /// </summary> /// <param name="shelfTaskName"></param> /// <returns></returns> public BaseData <AllotShelf> GetAllotShelfTask() { //获取待完成上架工单 BaseData <AllotShelf> baseDataShelfTask = HttpHelper.GetInstance().Get <AllotShelf>(new QueryParam { view_filter = { filter = { //logical_relation = "1 AND 2", logical_relation = "1", expressions = { //new QueryParam.Expressions //{ // field = "Status", // @operator = "==", // operands = {$"'{ HttpUtility.UrlEncode(ShelfTaskStatus.待上架.ToString()) }'" } //}, new QueryParam.Expressions { field = "Operator", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(ApplicationState.GetUserInfo().id) }'" } } } } } }); BaseData <AllotShelfCommodity> baseDataShelfTaskCommodityDetail = GetShelfTaskCommodityDetail(baseDataShelfTask); //校验是否含有数据 HttpHelper.GetInstance().ResultCheck(baseDataShelfTaskCommodityDetail, out bool isSuccess); if (isSuccess) { //WARING 这种做法只在单柜下才是完全正确,在多柜中需要修改 string id = ApplicationState.GetAllCabIds().ToList().First(); List <AllotShelf> taskList = new List <AllotShelf>(); var shelfTasks = baseDataShelfTask.body.objects.Where(item => item.Status != ShelfTaskStatus.已完成.ToString() && item.Status != ShelfTaskStatus.异常.ToString()).ToList(); var shelfTaskCommodityDetails = baseDataShelfTaskCommodityDetail.body.objects.Where(item => item.GoodsLocationId == id); shelfTasks.ForEach(it => { it.ShelfNumber = shelfTaskCommodityDetails.Where(sit => sit.AllotShelfId == it.id).Count(); if (it.ShelfNumber != 0) { it.GoodLocationName = ApplicationState.GetCabNameById(id); taskList.Add(it); } }); baseDataShelfTask.body.objects = taskList; } return(baseDataShelfTask); }
/// <summary> /// 新增盘点记录 /// </summary> public int NewInventory(List <GoodsDto> list, InventoryType type) { InventoryOrderLDB inventoryOrder = new InventoryOrderLDB(); var ran = new Random(); inventoryOrder.create_time = System.DateTime.Now; inventoryOrder.type = (int)type; //设置状态为待确认 inventoryOrder.status = (int)InventoryStatus.Unconfirm; if (type == InventoryType.Manual) { inventoryOrder.operator_id = 1; inventoryOrder.operator_name = ApplicationState.GetUserInfo().name; inventoryOrder.type = (int)InventoryType.Manual; } else { inventoryOrder.type = (int)InventoryType.Auto; } inventoryOrder.code = "INV" + DateTime.Now.ToString("yyyyMMddHHmm") + ran.Next(9999); //生成记录 int id = inventoryDal.NewInventory(inventoryOrder); InsertInventoryDetails(list, id); return(id); }
/// <summary> /// 根据盘点任务单号查询盘点任务信息 /// </summary> /// <param name="taskName"></param> /// <returns></returns> public BaseData <InventoryTask> GetInventoryTaskByInventoryTaskName(string taskName) { if (null == taskName) { return(new BaseData <InventoryTask>() { code = (int)ResultCode.Parameter_Exception, message = ResultCode.Parameter_Exception.ToString() }); } //获取待盘点列表 var task = HttpHelper.GetInstance().Get <InventoryTask>(new QueryParam { view_filter = { filter = { logical_relation = "1 AND 2 AND (3 OR 4) ", expressions = { new QueryParam.Expressions { field = "name", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(taskName) }'" } }, new QueryParam.Expressions { field = "Operator", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(ApplicationState.GetUserInfo().id)}'" } }, new QueryParam.Expressions { field = "Status", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(InventoryTaskStatus.待盘点.ToString()) }'" } }, new QueryParam.Expressions { field = "Status", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(InventoryTaskStatus.盘点中.ToString()) }'" } } } } } }); //校验是否含有数据,如果含有数据,拼接具体字段 HttpHelper.GetInstance().ResultCheck(task, out bool isSuccess); return(task); }
/// <summary> /// 更新盘点记录 /// </summary> public void ConfirmInventory(InventoryOrderLDB inventoryOrder) { //设置状态为已确认 inventoryOrder.status = (int)InventoryStatus.Confirm; //设置当前时间 inventoryOrder.confirm_time = DateTime.Now; //设置当前盘点确认人姓名和id inventoryOrder.inspector_id = 1; inventoryOrder.inspector_name = ApplicationState.GetUserInfo().name; inventoryDal.ConfirmInventory(inventoryOrder); }
public ReplenishmentDetailOpen(ShelfTask model) { InitializeComponent(); operatorName.Content = ApplicationState.GetUserInfo().name; orderNum.Content = model.name; shelfTask = model; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public GerFetchView(HashSet <CommodityEps> afterEps) { InitializeComponent(); time.Content = DateTime.Now.ToString("yyyy年MM月dd日");; operatorName.Content = ApplicationState.GetUserInfo().name; after = afterEps; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
/// <summary> /// 通过【调拨上架任务单 and 操作人(Operator)】从表格 【调拨上架】中查询获取上架任务 /// </summary> /// <param name="allotShelfName"></param> /// <returns></returns> public BaseData <AllotShelf> GetAllotShelfTask(string allotShelfName) { //获取待完成上架工单 BaseData <AllotShelf> allotShelf = HttpHelper.GetInstance().Get <AllotShelf>(new QueryParam { view_filter = { filter = { logical_relation = "1 AND 2", expressions = { new QueryParam.Expressions { field = "name", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(allotShelfName) }'" } }, new QueryParam.Expressions { field = "Operator", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(ApplicationState.GetUserInfo().id) }'" } } } } } }); allotShelf = HttpHelper.GetInstance().ResultCheck(allotShelf, out bool isSuccess); if (!isSuccess) { allotShelf.code = (int)ResultCode.Result_Exception; allotShelf.message = ResultCode.Result_Exception.ToString(); } else { //如果领⽤单作废标识为【是】则弹窗提醒手术单作废,跳转回前⻚ if ("已完成".Equals(allotShelf.body.objects[0].Status) || "已撤销".Equals(allotShelf.body.objects[0].Status)) { allotShelf.code = (int)ResultCode.Result_Exception; allotShelf.message = ResultCode.Result_Exception.ToString(); } } return(allotShelf); }
public ReturnGoodsDetail(PickTask task) { InitializeComponent(); pickTask = task; //操作人 operatorName.Content = ApplicationState.GetUserInfo().name; //工单号 orderNum.Content = task.name; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public SurgeryNumClose(FetchParam param, HashSet <CommodityEps> afterEps) { InitializeComponent(); fetchParam = param; operatorName.Content = ApplicationState.GetUserInfo().name; time.Content = DateTime.Now.ToString("yyyy年MM月dd日"); surgeryNum.Content = param.bdConsumingOrder.body.objects[0].name; after = afterEps; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public AllotShelfDetailOpen(AllotShelf task) { InitializeComponent(); //操作人 operatorName.Content = ApplicationState.GetUserInfo().name; //工单号 orderNum.Content = task.name; allotShelf = task; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public ReturnClose(HashSet <CommodityEps> afterEps, CommodityRecovery order) { InitializeComponent(); time.Content = DateTime.Now.ToString("yyyy年MM月dd日"); operatorName.Content = ApplicationState.GetUserInfo().name; lbTypeContent.Content = order == null ? "库存调整" : "回收下架"; commodityRecovery = order; after = afterEps; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public SurgeryNoNumClose(HashSet <CommodityEps> afterEps, ConsumingOrderType type, ConsumingOrder order) { InitializeComponent(); consumingOrder = order; consumingOrderType = type; time.Content = DateTime.Now.ToString("yyyy年MM月dd日"); operatorName.Content = ApplicationState.GetUserInfo().name; lbTypeContent.Content = type; after = afterEps; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
public ReturnGoodsClose(PickTask task, HashSet <CommodityEps> hs) { InitializeComponent(); pickTask = task; //操作人 operatorName.Content = ApplicationState.GetUserInfo().name; ////工单号 orderNum.Content = task.name; time.Content = DateTime.Now.ToString("yyyy年MM月dd日"); after = hs; Timer iniTimer = new Timer(100); iniTimer.AutoReset = false; iniTimer.Enabled = true; iniTimer.Elapsed += new ElapsedEventHandler(onInitData); }
/// <summary> /// 根据拣货单号获取任务单详情 /// </summary> /// <param name="pickTaskName"></param> /// <returns></returns> public BaseData <PickTask> GetPickTask() { //获取待完成拣货工单 BaseData <PickTask> baseDataPickTask = HttpHelper.GetInstance().Get <PickTask>(new QueryParam { view_filter = { filter = { logical_relation = "1 AND 2", expressions = { new QueryParam.Expressions { field = "BillStatus", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(PickTaskStatus.待拣货.ToString()) }'" } }, new QueryParam.Expressions { field = "Operator", @operator = "==", operands = { $"'{ HttpUtility.UrlEncode(ApplicationState.GetUserInfo().id) }'" } } } } } }); //校验是否含有数据 HttpHelper.GetInstance().ResultCheck(baseDataPickTask, out bool isSuccess0); if (isSuccess0) { BaseData <PickCommodity> baseDataPickTaskCommodityDetail = GetPickTaskCommodityDetail(baseDataPickTask); //校验是否含有数据 HttpHelper.GetInstance().ResultCheck(baseDataPickTaskCommodityDetail, out bool isSuccess); if (isSuccess) { //WARING 这种做法只在单柜下才是完全正确,在多柜中需要修改 string id = ApplicationState.GetAllCabIds().ToList().First(); List <PickTask> taskList = new List <PickTask>(); var pickTasks = baseDataPickTask.body.objects; var pickTaskCommodityDetails = baseDataPickTaskCommodityDetail.body.objects.Where(item => item.GoodsLocationId == id); pickTasks.ForEach(it => { //ids.ForEach(id => { // it.NeedPickTotalNumber = pickTaskCommodityDetails.Where(sit => sit.PickTaskId == it.id && sit.GoodsLocationId == id).GroupBy(sit => new { sit.PickTaskId, sit.GoodsLocationId }).Select(group => group.Sum(sit => (sit.Number - sit.PickNumber))).Single(); // if (it.NeedPickTotalNumber != 0) // { // it.GoodLocationName = ApplicationState.GetCabNameById(id); // taskList.Add(it); // } //}); it.NeedPickTotalNumber = pickTaskCommodityDetails.Where(sit => sit.PickTaskId == it.id).GroupBy(sit => sit.PickTaskId).Select(group => group.Sum(sit => (sit.Number - sit.PickNumber))).FirstOrDefault(); if (it.NeedPickTotalNumber != 0) { it.GoodLocationName = ApplicationState.GetCabNameById(id); taskList.Add(it); } }); baseDataPickTask.body.objects = taskList; } } return(baseDataPickTask); }