示例#1
0
        /// <summary>
        /// 获取选择车辆的所有装车编号
        /// </summary>
        /// <param name="vehicleID"></param>
        /// <returns></returns>
        public List <LoadingHeaderEntity> GetLoadingHeaderByVehicleID(int vehicleID)
        {
            List <LoadingHeaderEntity> list = new List <LoadingHeaderEntity>();

            try
            {
                #region 请求数据
                System.Text.StringBuilder loStr = new System.Text.StringBuilder();
                loStr.Append("vehicleID=").Append(vehicleID);
                string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_GetLoadingHeaderByVehicleID);
                if (string.IsNullOrEmpty(jsonQuery))
                {
                    MsgBox.Warn(WebWork.RESULT_NULL);
                    //LogHelper.InfoLog(WebWork.RESULT_NULL);
                    return(list);
                }
                #endregion

                #region 正常错误处理

                JsonGetLoadingHeaderByVehicleID bill = JsonConvert.DeserializeObject <JsonGetLoadingHeaderByVehicleID>(jsonQuery);
                if (bill == null)
                {
                    //MsgBox.Warn(WebWork.JSON_DATA_NULL);
                    return(list);
                }
                if (bill.flag != 0)
                {
                    MsgBox.Warn(bill.error);
                    return(list);
                }
                #endregion

                #region 赋值数据
                foreach (JsonGetLoadingHeaderByVehicleIDResult jbr in bill.result)
                {
                    LoadingHeaderEntity asnEntity = new LoadingHeaderEntity();
                    asnEntity.LoadingNO = jbr.vhTrain;
                    try
                    {
                        //if (!string.IsNullOrEmpty(jbr.updateDate))
                        //    asnEntity.UpdateDate = Convert.ToDateTime(jbr.updateDate);
                    }
                    catch (Exception msg)
                    {
                        MsgBox.Warn(msg.Message);
                        //LogHelper.errorLog("FrmVehicle+QueryNotRelatedBills", msg);
                    }
                    list.Add(asnEntity);
                }
                return(list);

                #endregion
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }
            return(list);
        }
示例#2
0
        private void searchLookUpEdit2_EditValueChanged(object sender, EventArgs e)
        {
            LoadingHeaderEntity loadingHeader = this.searchLookUpEdit2.EditValue as LoadingHeaderEntity;
            if (loadingHeader == null)
                return;

            DoQuery();
        }
示例#3
0
        /// <summary>
        /// 存储排序记录
        /// </summary>
        /// <param name="header"></param>
        /// <returns></returns>
        public bool CreateLoadingInfo(LoadingHeaderEntity header)
        {
            try
            {
                #region 请求数据
                System.Text.StringBuilder loStr = new System.Text.StringBuilder();
                loStr.Append("warehouseCode=").Append(header.WarehouseCode).Append("&");
                loStr.Append("loadingNO=").Append(header.LoadingNO).Append("&");
                loStr.Append("vehicleID=").Append(header.VehicleID).Append("&");
                loStr.Append("updateDate=").Append(header.UpdateDate).Append("&");
                loStr.Append("userName="******"&");
                #region list 转 json
                List <string> prop = new List <string>()
                {
                    "LoadingNO", "BillNO", "InVehicleSort", "UpdateDate", "BillID"
                };
                string soHeaderEntity = GetRes <LoadingDetailEntity>(header.Details, prop);
                loStr.Append("jsonDetail=").Append(soHeaderEntity).Append("&");
                List <string> user = new List <string>()
                {
                    "LoadingNO", "UserName", "UserCode", "UpdateDate", "TaskType"
                };
                string loadingUserEntity = GetRes <LoadingUserEntity>(header.Users, user);
                loStr.Append("jsonUser=").Append(loadingUserEntity);
                #endregion
                string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_CreateLoadingInfo);
                if (string.IsNullOrEmpty(jsonQuery))
                {
                    MsgBox.Warn(WebWork.RESULT_NULL);
                    //LogHelper.InfoLog(WebWork.RESULT_NULL);
                    return(false);
                }
                #endregion

                #region 正常错误处理

                Sucess bill = JsonConvert.DeserializeObject <Sucess>(jsonQuery);
                if (bill == null)
                {
                    MsgBox.Warn(WebWork.JSON_DATA_NULL);
                    return(false);
                }
                if (bill.flag != 0)
                {
                    MsgBox.Warn(bill.error);
                    return(false);
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }

            return(false);
        }
示例#4
0
 private void DoQuery()
 {
     try
     {
         if (row == null)
         {
             MsgBox.Warn("请选择车辆信息。");
             return;
         }
         int vehicleID = ConvertUtil.ToInt(row["ID"]);
         if (vehicleID <= 0)
         {
             MsgBox.Warn("请选择车辆信息。");
             return;
         }
         LoadingHeaderEntity loadingHeader = this.searchLookUpEdit2.EditValue as LoadingHeaderEntity;
         if (loadingHeader == null)
         {
             MsgBox.Warn("请选择装车编号!");
             return;
         }
         List = GetVhicleHeadersInfoByBillID(vehicleID, loadingHeader.LoadingNO);
         #region #差异# D04 使用此段代码
         // 找到二次发货的订单重置运单编号
         //List.ForEach(u =>
         //{
         //    if (u.DelayMark == 1)
         //    {
         //        SOHeaderEntity entity = List.Find(h => !string.IsNullOrEmpty(h.ShipNO) && h.VehicleNO == u.VehicleNO);
         //        if (entity != null)
         //        {
         //            u.ShipNO = entity.ShipNO;
         //            this.soDal.JoinBillNOAndVehicle(entity.ShipNO, u.BillID);
         //        }
         //    }
         //});
         #endregion
         gridControl1.DataSource = List;
     }
     catch (Exception ex)
     {
         MsgBox.Err(ex.Message);
     }
 }
示例#5
0
        /// <summary>
        /// 引用第一次排序的顺序
        /// </summary>
        private void btnLoadingSort_Click(object sender, EventArgs e)
        {
            try
            {
                if (listPersonnel.CheckedItems.Count < 1)
                {
                    MsgBox.Warn("请选择装车人员!");
                    return;
                }
                if (listTransPersonal.CheckedItems.Count < 1)
                {
                    MsgBox.Warn("请选称重人员!");
                    return;
                }
                if (this.SelectedBills.Count == 0)
                {
                    MsgBox.Warn("请选择订单!");
                    return;
                }
                VehicleEntity vehicle = this.searchLookUpEdit1.EditValue as VehicleEntity;
                if (vehicle == null)
                {
                    MsgBox.Warn("请选择车辆!");
                    return;
                }
                // 如果选择的是第三方车辆,验证散货信息
                if (vehicle.VhType == "191")
                {
                    string errorMsg = string.Empty;
                    this.ValidateContainerState(out errorMsg);
                    if (!string.IsNullOrEmpty(errorMsg))
                    {
                        MsgBox.Warn(errorMsg);
                        return;
                    }
                }
                using (WaitDialogForm waitDialog = new WaitDialogForm())
                {
                    List <SOHeaderEntity> headerList = this.SelectedBills;
                    SOHeaderEntity        tempHeader = headerList[0];
                    if (headerList.Exists(u => u.VehicleNO != tempHeader.VehicleNO))
                    {
                        MsgBox.Warn("选择的订单必须为同一车次!");
                        return;
                    }
                    List <UserEntity> userLoadingList = new List <UserEntity>();
                    foreach (var obj in this.listPersonnel.CheckedItems)
                    {
                        if (obj is UserEntity)
                        {
                            UserEntity user = obj as UserEntity;
                            userLoadingList.Add(user);
                        }
                    }

                    List <UserEntity> userTransList = new List <UserEntity>();
                    foreach (var obj in this.listTransPersonal.CheckedItems)
                    {
                        if (obj is UserEntity)
                        {
                            UserEntity user = obj as UserEntity;
                            userTransList.Add(user);
                        }
                    }

                    LoadingHeaderEntity header = new LoadingHeaderEntity()
                    {
                        WarehouseCode = GlobeSettings.LoginedUser.WarehouseCode,
                        LoadingNO     = DateTime.Now.ToString("yyyyMMddHHmmssms"),
                        VehicleID     = vehicle.ID,
                        UserName      = GlobeSettings.LoginedUser.UserName,
                        UpdateDate    = DateTime.Now,
                        VehicleNO     = vehicle.VehicleNO
                    };
                    List <LoadingDetailEntity> details = new List <LoadingDetailEntity>();
                    foreach (SOHeaderEntity data in headerList)
                    {
                        details.Add(new LoadingDetailEntity()
                        {
                            LoadingNO     = header.LoadingNO,
                            BillNO        = data.BillNO,
                            InVehicleSort = ConvertUtil.ToInt(data.OrderSort),
                            UpdateDate    = DateTime.Now
                        });
                    }

                    List <LoadingUserEntity> loadingUsers = new List <LoadingUserEntity>();
                    foreach (UserEntity item in userLoadingList)
                    {
                        loadingUsers.Add(new LoadingUserEntity()
                        {
                            LoadingNO  = header.LoadingNO,
                            UserName   = item.UserName,
                            UserCode   = item.UserCode,
                            UpdateDate = DateTime.Now,
                            TaskType   = "145"
                        });
                    }

                    List <LoadingUserEntity> transUsers = new List <LoadingUserEntity>();
                    foreach (UserEntity item in userTransList)
                    {
                        transUsers.Add(new LoadingUserEntity()
                        {
                            LoadingNO  = header.LoadingNO,
                            UserName   = item.UserName,
                            UserCode   = item.UserCode,
                            UpdateDate = DateTime.Now,
                            TaskType   = "148"
                        });
                    }

                    header.Details = details;
                    loadingUsers.AddRange(transUsers);
                    header.Users = loadingUsers;
                    // 存储排序记录
                    CreateLoadingInfo(header);

                    ///生成和分配装车任务
                    foreach (SOHeaderEntity data in headerList)
                    {
                        CreateTask(data.BillID, "148");
                        AutoAssignTask();
                    }
                    //生成叫号信息
                    foreach (LoadingUserEntity user in header.Users)
                    {
                        CreateCalling(BaseCodeConstant.TASK_LOADING, header.VehicleNO, user.UserName, user.UserCode, -1);
                    }
                    this.DialogResult = DialogResult.OK;
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }
        }
示例#6
0
        /// <summary>
        /// 打印销售发货单
        /// </summary>
        public void PrintSO()
        {
            if (this.List == null || this.List.Count == 0)
            {
                MsgBox.Warn("请查询要打印的车辆信息。");
                return;
            }

            LoadingHeaderEntity loadingHeader = this.searchLookUpEdit2.EditValue as LoadingHeaderEntity;

            if (GlobeSettings.LoginedUser.WarehouseType == EWarehouseType.整货仓)
            {
                if (!GetSyncCodeCanT(ConvertUtil.ToInt(row["ID"]), loadingHeader.LoadingNO))
                    return;
            }

            DataTable ctCanTDT = GetCtCodeCanT(ConvertUtil.ToInt(row["ID"]), loadingHeader.LoadingNO);
            if (ctCanTDT.Rows.Count > 0)
            {
                FrmSoWeightCanT frmsoWeigheCant = new FrmSoWeightCanT(ctCanTDT);
                frmsoWeigheCant.StartPosition = FormStartPosition.CenterScreen;
                frmsoWeigheCant.Show();
                return;
            }

            if (loadingHeader == null)
            {
                MsgBox.Warn("未找到装车信息,请联系技术人员!");
                return;
            }
            // 验证当前选择的装车信息是否有选择人员
            List<LoadingUserEntity> loadingUsers = GetLoadingInfoByNonChooseUser(loadingHeader.LoadingNO);
            if (loadingUsers == null || loadingUsers.Count == 0)
            {
                MsgBox.Warn(string.Format("装车编号:{0} 未选择装车人员,请选择装车人员后再打印销售发货单;", loadingHeader.LoadingNO));
                return;
            }
            if (MsgBox.AskOK(string.Format("确定打印该车辆的销售发货单?")) != DialogResult.OK)
                return;
            // 选择司机和助理信息
            //FrmChoosePersonnel frm = new FrmChoosePersonnel(true);
            FrmPersonChoosen frm = new FrmPersonChoosen();
            if (frm.ShowDialog() != DialogResult.OK)
                return;

            bool ret = CreateTrain(
                GlobeSettings.LoginedUser.WarehouseCode,
                GlobeSettings.LoginedUser.UserName,
                row["VH_NO"].ToString(),
                frm.SelectedPersonnel.UserName,
                frm.SelectedPersonnel.MobilePhone,
                this.List,
                frm.SelectedPersonnelList,
                GlobeSettings.LoginedUser.WarehouseType,
                loadingHeader.LoadingNO);
            if(!ret)
            {
                MsgBox.Warn("生成车次信息失败,请重新生成!!!");
                return;
            }

            List<int> tempBillIDs = new List<int>();
            try
            {
                using (WaitDialogForm wait = new WaitDialogForm("正在打印,请稍侯..."))
                {

                    int pick_suit_type = ConvertUtil.ToInt(GlobeSettings.SystemSettings["套餐分拣方式"]);
                    string module = "打印销售发货单";
                    //sb = new StringBuilder();
                    NewPrint.sellorder sellOrder = new NewPrint.sellorder();
                    foreach (SOHeaderEntity header in this.List)
                    {
                        int printInt = 2;
                        try
                        {
                            for (int i = 0; i < printInt; i++)
                            {
                                sellOrder.printorder(string.Format("{0}#{1}",
                                    GlobeSettings.LoginedUser.WarehouseName, header.BillNO));
                                Thread.Sleep(200);
                            }
                        }
                        catch
                        {
                            // 屏蔽打印时的错误
                        }
                        Insert(ELogType.打印, GlobeSettings.LoginedUser.UserName, header.BillNO, header.BillTypeName, this.Text, row["VH_NO"].ToString());
                        InsertSOLog(header.BillID, ESOOperationType.已打印销售发货单.ToString(), GlobeSettings.LoginedUser.UserName);
                        //List<ReturnHeaderEntity> listReturn = this.returnDal.GetReturnBill(header.CustomerCode);
                        //foreach (ReturnHeaderEntity entity in listReturn)
                        //{
                        //    RepReturn repReturn = new RepReturn(entity.BillID, 1, module);
                        //    //repReturn.ShowPreviewDialog();
                        //    for (int i = 0; i < 3; i++)
                        //    {
                        //        Thread.Sleep(50);
                        //        repReturn.Print();
                        //    }
                        //    //更新打印标记为已打印、把对应的送货单号写入退货单
                        //    this.returnDal.UpdatePrintedFlag(entity.BillID, header.BillNO, header.ShipNO);
                        //}
                        //更新打印标记为已打印
                        UpdatePrintedFlag(header.BillID, GlobeSettings.LoginedUser.UserName, header.BillNO, printInt);
                        header.Printed = 1;
                        UpdateContainerState(header.BillID);
                    }
                    // 打印完成以后,修改车次的同步状态为1、更新整散数量
                    //LoadingDal.UpdateTrainInfo(trainNo, StringUtil.JoinBySign<int>(tempBillIDs, ""), GlobeSettings.LoginedUser.WarehouseType);
                    //CreateTrainLoading();
                }
                //OnbtnQueryClick(null, null);
            }
            catch (Exception ex)
            {
                MsgBox.Err("打印时遇到错误:" + ex.Message);
            }
            this.searchLookUpEdit1_EditValueChanged(this.searchLookUpEdit1, EventArgs.Empty);
        }
示例#7
0
        /// <summary>
        /// 打印销售发货单
        /// </summary>
        public void PrintSO()
        {
            if (this.List == null || this.List.Count == 0)
            {
                MsgBox.Warn("请查询要打印的车辆信息。");
                return;
            }
            string billNOs = GetBillNOS(ConvertUtil.ToInt(row["ID"]));

            if (!string.IsNullOrEmpty(billNOs))
            {
                MsgBox.Warn("订单:" + billNOs + " 拣货任务未完成!");
                return;
            }
            DataTable ctCanTDT = GetCtCodeCanT(ConvertUtil.ToInt(row["ID"]));

            if (ctCanTDT.Rows.Count > 0)
            {
                FrmSoWeightCanT frmsoWeigheCant = new FrmSoWeightCanT(ctCanTDT);
                frmsoWeigheCant.StartPosition = FormStartPosition.CenterScreen;
                frmsoWeigheCant.Show();
                return;
            }
            //if (GlobeSettings.LoginedUser.WarehouseType == EWarehouseType.整货仓 &&
            //    this.List.Exists(u => u.SyncState < 5 && u.CaseBoxNum > 0))
            //{
            //    MsgBox.Warn("当前车次还有订单的物流箱未接收!");
            //    return;
            //}
            //if (this.List.Exists(u => u.Status != "66" && u.Status != "691"))
            //{
            //    MsgBox.Warn("当前装车信息中包含未称重的订单,请先称重后再执行此操作!");
            //    return;
            //}
            LoadingHeaderEntity loadingHeader = this.searchLookUpEdit2.EditValue as LoadingHeaderEntity;

            if (loadingHeader == null)
            {
                MsgBox.Warn("未找到装车信息,请联系技术人员!");
                return;
            }
            // 验证当前选择的装车信息是否有选择人员
            List <LoadingUserEntity> loadingUsers = GetLoadingInfoByNonChooseUser(loadingHeader.LoadingNO);

            if (loadingUsers == null || loadingUsers.Count == 0)
            {
                MsgBox.Warn(string.Format("装车编号:{0} 未选择装车人员,请选择装车人员后再打印销售发货单;", loadingHeader.LoadingNO));
                return;
            }
            if (MsgBox.AskOK(string.Format("确定打印该车辆的销售发货单?")) != DialogResult.OK)
            {
                return;
            }
            // 选择司机和助理信息
            //FrmChoosePersonnel frm = new FrmChoosePersonnel(true);
            FrmPersonChoosen frm = new FrmPersonChoosen();

            if (frm.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            CreateTrain(
                GlobeSettings.LoginedUser.WarehouseCode,
                GlobeSettings.LoginedUser.UserName,
                row["VH_NO"].ToString(),
                frm.SelectedPersonnel.UserName,
                frm.SelectedPersonnel.MobilePhone,
                this.List,
                frm.SelectedPersonnelList,
                GlobeSettings.LoginedUser.WarehouseType,
                loadingHeader.LoadingNO);
            List <int> tempBillIDs = new List <int>();

            try
            {
                using (WaitDialogForm wait = new WaitDialogForm("正在打印,请稍侯..."))
                {
                    int    pick_suit_type = ConvertUtil.ToInt(GlobeSettings.SystemSettings["套餐分拣方式"]);
                    string module         = "打印销售发货单";
                    //sb = new StringBuilder();
                    Print.sellorder sellOrder = new Print.sellorder();

                    foreach (SOHeaderEntity header in this.List)
                    {
                        try
                        {
                            //更新打印标记为已打印
                            UpdatePrintedFlag(header.BillID, GlobeSettings.LoginedUser.UserName, header.BillNO, 2);
                            for (int i = 0; i < 2; i++)
                            {
                                sellOrder.printorder(string.Format("{0}#{1}",
                                                                   GlobeSettings.LoginedUser.WarehouseName, header.BillNO));
                                Thread.Sleep(200);
                            }
                        }
                        catch (Exception exp)
                        {
                            // 屏蔽打印时的错误
                            MsgBox.Err(string.Format(
                                           @"订单:{0} 打印过程中出现错误,请将错误信息提交给供应链相关同事!\r\n异常信息:{1} ",
                                           header.BillNO, string.Format("{0}\r\n{1}", exp.Message, exp.StackTrace)));
                        }
                        InsertSOLog(header.BillID, ESOOperationType.已打印销售发货单.ToString(), GlobeSettings.LoginedUser.UserName);
                        //List<ReturnHeaderEntity> listReturn = this.returnDal.GetReturnBill(header.CustomerCode);
                        //foreach (ReturnHeaderEntity entity in listReturn)
                        //{
                        //    RepReturn repReturn = new RepReturn(entity.BillID, 1, module);
                        //    //repReturn.ShowPreviewDialog();
                        //    for (int i = 0; i < 3; i++)
                        //    {
                        //        Thread.Sleep(50);
                        //        repReturn.Print();
                        //    }
                        //    //更新打印标记为已打印、把对应的送货单号写入退货单
                        //    this.returnDal.UpdatePrintedFlag(entity.BillID, header.BillNO, header.ShipNO);
                        //}

                        header.Printed = 1;
                        UpdateContainerState(header.BillID);
                    }
                    // 打印完成以后,修改车次的同步状态为1、更新整散数量
                    //LoadingDal.UpdateTrainInfo(trainNo, StringUtil.JoinBySign<int>(tempBillIDs, ""), GlobeSettings.LoginedUser.WarehouseType);
                    //CreateTrainLoading();
                }
                OnbtnQueryClick(null, null);
            }
            catch (Exception ex)
            {
                MsgBox.Err("打印时遇到错误:" + ex.Message);
            }
            this.searchLookUpEdit1_EditValueChanged(this.searchLookUpEdit1, EventArgs.Empty);
        }
示例#8
0
        /// <summary>
        /// 生成装车任务
        /// </summary>
        private void btnCreateTask_Click(object sender, EventArgs e)
        {
            try
            {
                using (WaitDialogForm waitDialog = new WaitDialogForm("提示", "正在存储装车信息,请稍后..."))
                {
                    int    outType = 0;
                    object obj     = null;

                    Dictionary <string, object> settings = GlobeSettings.SystemSettings;
                    if (settings.ContainsKey("出库方式") && settings["出库方式"].ToString() == "1")
                    {
                        outType = 1;
                    }

                    #region
                    if (!IsOldMap)//表示调用李奇才的方法
                    {
                        if ((obj = this.InvokeScript("submit")) == null)
                        {
                            MsgBox.Warn("未找到已排序订单!");
                            return;
                        }
                    }
                    else
                    {
                        if ((obj = this.InvokeScript(this.Submit)) == null)
                        {
                            MsgBox.Warn("未找到已排序订单!");
                            return;
                        }
                    }
                    #endregion

                    List <SortMapReceiveDataEntity> list = JsonConvert.DeserializeObject <List <SortMapReceiveDataEntity> >(obj.ToString());
                    if (list == null || list.Count == 0)
                    {
                        MsgBox.Warn("未找到已排序订单");
                        return;
                    }
                    if (list.Count == this._list.Count ||
                        MsgBox.AskOK("还有未排序的订单,是否继续提交?") == DialogResult.OK)
                    {
                        LoadingHeaderEntity header = new LoadingHeaderEntity()
                        {
                            WarehouseCode = GlobeSettings.LoginedUser.WarehouseCode,
                            LoadingNO     = outType == 1 ? this._loadingNo : DateTime.Now.ToString("yyyyMMddHHmmssms"),
                            VehicleID     = this._vehicle == null ? 0 : this._vehicle.ID,
                            UserName      = GlobeSettings.LoginedUser.UserName,
                            UpdateDate    = DateTime.Now
                        };
                        List <LoadingDetailEntity> details = new List <LoadingDetailEntity>();
                        foreach (SortMapReceiveDataEntity data in list)
                        {
                            SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>(
                                                                          (item) =>
                            {
                                return(item.BillNO == data.orderId);
                            }));
                            if (soHeader == null)
                            {
                                continue;
                            }
                            details.Add(new LoadingDetailEntity()
                            {
                                LoadingNO     = header.LoadingNO,
                                BillNO        = soHeader.BillNO,
                                InVehicleSort = ConvertUtil.ToInt(data.paixu),
                                UpdateDate    = DateTime.Now,
                                BillID        = soHeader.BillID
                            });
                        }
                        List <LoadingUserEntity> users = new List <LoadingUserEntity>();
                        if (this._loadingUsers != null && this._loadingUsers.Count > 0)
                        {
                            foreach (UserEntity item in this._loadingUsers)
                            {
                                users.Add(new LoadingUserEntity()
                                {
                                    LoadingNO  = header.LoadingNO,
                                    UserName   = item.UserName,
                                    UserCode   = item.UserCode,
                                    UpdateDate = DateTime.Now,
                                    TaskType   = "145"
                                });
                            }
                        }

                        List <LoadingUserEntity> transUsers = new List <LoadingUserEntity>();
                        if (this._transUsers != null && this._transUsers.Count > 0)
                        {
                            foreach (UserEntity item in this._transUsers)
                            {
                                transUsers.Add(new LoadingUserEntity()
                                {
                                    LoadingNO  = header.LoadingNO,
                                    UserName   = item.UserName,
                                    UserCode   = item.UserCode,
                                    UpdateDate = DateTime.Now,
                                    TaskType   = "148"
                                });
                            }
                        }

                        header.Details = details;
                        users.AddRange(transUsers);
                        header.Users = users;
                        // 存储排序记录
                        CreateLoadingInfo(header);
                        //返回没有排序的订单
                        if (!string.IsNullOrEmpty(this._loadingNo))
                        {
                            List <SortMapReceiveDataEntity> billsUnSelected = GetLoadingNOUnSelected(this._loadingNo);
                            if (billsUnSelected.Count > 0)
                            {
                                foreach (SortMapReceiveDataEntity item in billsUnSelected)
                                {
                                    RequestPackage request = new RequestPackage("removeOrderid.php");
                                    request.Method = EHttpMethod.Get.ToString();
                                    request.Params.Add("orderid", item.orderId);

                                    ResponsePackage response = _httpContext.Request(request);

                                    if (response.Result == EResponseResult.成功)
                                    {
                                        string jsonData = Encoding.Default.GetString(response.ResultData as byte[]);
                                        if (jsonData == "NULL")
                                        {
                                            MsgBox.Warn("网络环境异常,请检查网络!");
                                        }
                                    }
                                }
                            }
                        }


                        ///装车重新分任务
                        foreach (SortMapReceiveDataEntity data in list)
                        {
                            SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>(
                                                                          (item) =>
                            {
                                return(item.BillNO == data.orderId);
                            }));
                            CreateTask(soHeader.BillID, "148");
                        }
                        AutoAssignTask();
                        this.DialogResult = DialogResult.OK;
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err("错误:" + ex.Message);
            }
        }
示例#9
0
        /// <summary>
        /// 装车
        /// </summary>
        private void btnCreateTask_Click(object sender, EventArgs e)
        {
            try
            {
                TMSDataHeader header = this.cboGroup.EditValue as TMSDataHeader;
                if (header == null)
                {
                    MsgBox.Warn("请选择组别!");
                    return;
                }

                if (listPersonnel.CheckedItems.Count < 1)
                {
                    MsgBox.Warn("请选择装车人员!");
                    return;
                }

                if (listTransPersonal.CheckedItems.Count < 1)
                {
                    MsgBox.Warn("请选称重人员!");
                    return;
                }

                VehicleEntity vehicle = this.searchLookUpEdit1.EditValue as VehicleEntity;
                if (vehicle == null)
                {
                    MsgBox.Warn("请选择车辆!");
                    return;
                }
                List <SOHeaderEntity> soHeaderList = this.gridHeader.DataSource as List <SOHeaderEntity>;
                if (soHeaderList == null || soHeaderList.Count == 0)
                {
                    MsgBox.Warn("当前组别未找到任何订单!");
                    return;
                }

                //装车人员
                List <UserEntity> userLoadingList = new List <UserEntity>();
                foreach (var obj in this.listPersonnel.CheckedItems)
                {
                    if (obj is UserEntity)
                    {
                        UserEntity user = obj as UserEntity;
                        userLoadingList.Add(user);
                    }
                }

                //称重人员
                List <UserEntity> userTransList = new List <UserEntity>();
                foreach (var obj in this.listTransPersonal.CheckedItems)
                {
                    if (obj is UserEntity)
                    {
                        UserEntity user = obj as UserEntity;
                        userTransList.Add(user);
                    }
                }

                LoadingHeaderEntity loadingHeader = new LoadingHeaderEntity()
                {
                    WarehouseCode = GlobeSettings.LoginedUser.WarehouseCode,
                    LoadingNO     = DateTime.Now.ToString("yyyyMMddHHmmssms"),
                    VehicleID     = vehicle.ID,
                    UserName      = GlobeSettings.LoginedUser.UserName,
                    UpdateDate    = DateTime.Now
                };

                List <LoadingDetailEntity> details = new List <LoadingDetailEntity>();
                foreach (SOHeaderEntity data in soHeaderList)
                {
                    details.Add(new LoadingDetailEntity()
                    {
                        LoadingNO     = loadingHeader.LoadingNO,
                        BillNO        = data.BillNO,
                        InVehicleSort = ConvertUtil.ToInt(data.OrderSort),
                        UpdateDate    = DateTime.Now,
                        BillID        = data.BillID
                    });
                }

                List <LoadingUserEntity> users = new List <LoadingUserEntity>();
                foreach (UserEntity item in userLoadingList)
                {
                    users.Add(new LoadingUserEntity()
                    {
                        LoadingNO  = loadingHeader.LoadingNO,
                        UserName   = item.UserName,
                        UserCode   = item.UserCode,
                        UpdateDate = DateTime.Now
                    });
                }

                //规定排序
                TMSDataHeader tmsDataHeader = this.cboGroup.EditValue as TMSDataHeader;
                if (tmsDataHeader == null)
                {
                    return;
                }
                using (FrmLoadingSortMap frmSOSortMap = new FrmLoadingSortMap(this.SelectedBills, vehicle, userLoadingList, userTransList, tmsDataHeader.id))
                {
                    if (frmSOSortMap.ShowDialog() == DialogResult.OK)
                    {
                        //生成叫号信息
                        foreach (UserEntity user in userLoadingList)
                        {
                            CreateCalling(BaseCodeConstant.TASK_LOADING, vehicle.VehicleNO, user.UserName, user.UserCode, -1);
                        }

                        // 修改TMS表头的本地状态
                        UpdateLocState(header.HeaderID, 1);
                    }
                }

                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MsgBox.Err("错误:" + ex.Message);
            }
        }