コード例 #1
0
        private void Save()
        {
            string billIDs = FormatBillIDs();

            if (string.IsNullOrEmpty(billIDs))
            {
                MsgBox.Warn("请将确认后的排序单据拖拽至右边的表格内。");
                return;
            }

            if (MsgBox.AskOK("确定要保存吗?") != DialogResult.OK)
            {
                return;
            }

            try
            {
                // 获取已排序的订单存到 wm_order_sort 表中
                string soNO = DateTime.Now.ToString("SOyyyyMMddHHmmssms");
                List <OrderSortEntity> sortList = new List <OrderSortEntity>();
                for (int i = 0; i < this.gridView2.RowCount; i++)
                {
                    SOSummaryEntity data = this.gridView2.GetRow(i) as SOSummaryEntity;
                    if (data == null)
                    {
                        continue;
                    }
                    sortList.Add(new OrderSortEntity()
                    {
                        VehicleNo     = soNO,
                        BillNo        = data.BillNO,
                        InVehicleSort = (i + 1),
                        PiecesQty     = data.TotalCount,
                        Attri1        = 1
                    });
                }
                Insert(sortList);
                // 更改已排序的订单状态
                string errBillNO = string.Empty;
                bool   result    = SaveSortOrders(billIDs, GlobeSettings.LoginedUser.UserName, out errBillNO);
                if (result)
                {
                    Reload();
                    MsgBox.OK("保存成功。");
                }
                //else if (result == -1)
                //    MsgBox.Warn(string.Format("未找到单据“{0}”,已取消所有的保存。", errBillNO));
                //else if (result == -2)
                //    MsgBox.Warn(string.Format("单据“{0}”已经分组,保存已取消,您可以将单据“{0}”拖拽至左边的表格中,也可以“重新加载未分组的单据”。", errBillNO));
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }
        }
コード例 #2
0
ファイル: FrmSOSortMap.cs プロジェクト: uwitec/wms-1
        /// <summary>
        /// 将选择的订单导入到地图中显示
        /// </summary>
        private void toolInsertMap_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                //Dictionary<string, object> settings = GlobeSettings.SystemSettings;
                //if (settings.ContainsKey("出库方式") && settings["出库方式"].ToString() == "1")
                //{
                //    MsgBox.Warn("出库方式已修改,请直接在【拣货计划】里操作!");
                //    return;
                //}
                if (!this._webIsCompleted)
                {
                    MsgBox.Warn("等待加载地图请稍后...");
                    return;
                }
                int[] bills = this.gridView1.GetSelectedRows();
                if (bills == null || bills.Length == 0)
                {
                    MsgBox.Warn("请选择需要排序的单据!");
                    return;
                }
                using (WaitDialogForm dialog = new WaitDialogForm("正在计算并导入..."))
                {
                    if (!this._webIsCompleted)
                    {
                        return;
                    }
                    this._list.Clear();
                    int findCount = 1;
                    #region 组装选择的订单信息
                    foreach (int rowIndex in bills)
                    {
                        #region
                        SOSummaryEntity bill = this.gridView1.GetRow(rowIndex) as SOSummaryEntity;
                        if (bill == null)
                        {
                            continue;
                        }
                        SortMapSendDataEntity data = new SortMapSendDataEntity()
                        {
                            BillID        = bill.BillID,
                            orderId       = bill.BillNO,
                            marketName    = bill.CustomerName,
                            marketAddress = bill.Address,
                            lat           = bill.Ycoor,
                            lng           = bill.Xcoor,
                            boxNum        = bill.TotalCount
                        };
                        if (!this._list.Contains(data))
                        {
                            this._list.Add(data);
                        }
                        findCount = 1;
                        while (findCount > 0)
                        {
                            SortMapSendDataEntity findData = this._list.Find(u => u.lat == data.lat && u.lng == data.lng && u.BillID != data.BillID);
                            if (findData == null)
                            {
                                findCount = 0;
                                break;
                            }
                            else
                            {
                                data.lng += 0.0005m;
                            }
                        }
                        #endregion
                    }
                    #endregion

                    #region 补单
                    CheckAgionCustomer(bills);
                    #endregion

                    this.SendData();
                    this.toolInsertMap.Enabled = !(this.toolUndo.Enabled = this.toolSubmit.Enabled = true);
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err("错误:" + ex.Message);
            }
        }
コード例 #3
0
ファイル: FrmSOSortMap.cs プロジェクト: uwitec/wms-1
        /// <summary>
        /// 补单,检测是否有遗漏的相同客户不同订单
        /// </summary>
        /// <param name="bills"></param>
        public void CheckAgionCustomer(object bills)
        {
            if (bills == null)
            {
                return;
            }

            try
            {
                #region
                int findCount = 1;
                foreach (int rowIndex in bills as int[])
                {
                    SOSummaryEntity bill = this.gridView1.GetRow(rowIndex) as SOSummaryEntity;
                    if (bill == null)
                    {
                        continue;
                    }

                    #region
                    for (int i = 0; i < gridView1.RowCount; i++)
                    {
                        SOSummaryEntity tmp = gridView1.GetRow(i) as SOSummaryEntity;
                        if (tmp != null && bill.CustomerCode == tmp.CustomerCode && bill.BillNO != tmp.BillNO)
                        {
                            SortMapSendDataEntity data = new SortMapSendDataEntity()
                            {
                                BillID        = tmp.BillID,
                                orderId       = tmp.BillNO,
                                marketName    = tmp.CustomerName,
                                marketAddress = tmp.Address,
                                lat           = tmp.Ycoor,
                                lng           = tmp.Xcoor,
                                boxNum        = tmp.TotalCount
                            };
                            if (!this._list.Contains(data))
                            {
                                gridView1.SelectRow(i);
                                this._list.Add(data);
                            }
                            findCount = 1;

                            #region
                            while (findCount > 0)
                            {
                                SortMapSendDataEntity findData = this._list.Find(u => u.lat == data.lat && u.lng == data.lng && u.BillID != data.BillID);
                                if (findData == null)
                                {
                                    findCount = 0;
                                    break;
                                }
                                else
                                {
                                    data.lng += 0.0005m;
                                }
                            }
                            #endregion
                        }
                    }
                    #endregion
                }
                #endregion
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
ファイル: FrmSOSortMap.cs プロジェクト: uwitec/wms-1
        /// <summary>
        /// 查询未分组的订单
        /// </summary>
        /// <param name="billStates"></param>
        /// <returns></returns>
        public List <SOSummaryEntity> QueryBills(string billStates)
        {
            List <SOSummaryEntity> list = new List <SOSummaryEntity>();

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

                #region 正常错误处理

                JsonQueryBillsSortMap bill = JsonConvert.DeserializeObject <JsonQueryBillsSortMap>(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 (JsonQueryBillsSortMapResult jbr in bill.result)
                {
                    SOSummaryEntity asnEntity = new SOSummaryEntity();
                    #region 0-10
                    asnEntity.Address       = jbr.address;
                    asnEntity.Amount        = Convert.ToDecimal(jbr.amount);
                    asnEntity.BillID        = Convert.ToInt32(jbr.billId);
                    asnEntity.BillNO        = jbr.billNo;
                    asnEntity.BillState     = jbr.billState;
                    asnEntity.BillStateName = jbr.itemDesc;
                    asnEntity.CustomerName  = jbr.cName;
                    asnEntity.Distance      = Convert.ToDecimal(jbr.distance);
                    asnEntity.FromWarehouse = jbr.fromWhCode;
                    asnEntity.OrderSort     = Convert.ToInt32(jbr.sortOrder);
                    #endregion

                    #region 11-20
                    asnEntity.RouteCode  = jbr.rtCode;
                    asnEntity.RouteName  = jbr.rtName;
                    asnEntity.TotalCount = Convert.ToInt32(jbr.totalCount);
                    asnEntity.Volume     = Convert.ToDecimal(jbr.volume);
                    //asnEntity.WarehouseName = jbr.whName;
                    asnEntity.FromWarehouseName = jbr.whName;
                    asnEntity.Xcoor             = Convert.ToDecimal(jbr.xCoor);
                    asnEntity.Ycoor             = Convert.ToDecimal(jbr.yCoor);
                    asnEntity.CustomerCode      = jbr.cCode;
                    #endregion
                    try
                    {
                        if (!string.IsNullOrEmpty(jbr.createDate))
                        {
                            asnEntity.CreateDate = Convert.ToDateTime(jbr.createDate);
                        }
                    }
                    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);
        }