/// <summary>
        /// 修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (SelectedNode == null || SelectedNode.Tag == null)
            {
                MessageDialog.ShowPromptMessage("请选择需要删除的信息!");
                return;
            }

            View_Department viewDept = SelectedNode.Tag as View_Department;

            if (viewDept.部门代码 != txtCode.Text)
            {
                MessageDialog.ShowPromptMessage("部门编码不允许修改!");
                txtCode.Text = viewDept.部门代码;
                return;
            }

            Department dept = CreateDeptObjectFromForm();

            if (!m_departmentServer.UpdataDepartment(dept, out m_err))
            {
                MessageDialog.ShowErrorMessage(m_err);
                return;
            }

            SelectedNode.Text = string.Format("({0}) {1}", dept.DepartmentCode, dept.DepartmentName);
            SelectedNode.Tag  = m_departmentServer.GetDepartments(dept.DepartmentCode);
        }
Esempio n. 2
0
        /// <summary>
        /// 刷新树视图
        /// </summary>
        /// <param name="findDepartmentBill">部门信息</param>
        void RefreshTreeView(IQueryable <View_Department> findDepartmentBill)
        {
            if (findDepartmentBill.Count() == 0)
            {
                return;
            }

            treeView1.Nodes[0].Nodes.Clear();

            List <View_Department> deptInfo = findDepartmentBill.ToList();

            for (int i = 0; deptInfo.Count > 0;)
            {
                View_Department curDept = deptInfo[i];
                TreeNode        node    = GenerateTreeNode(curDept);

                this.treeView1.Nodes[0].Nodes.Add(node);
                deptInfo.RemoveAt(i);

                if (deptInfo.Count > 0 && deptInfo[i].部门代码.Length > curDept.部门代码.Length)
                {
                    RecursionGenerateTree(node, deptInfo);
                }
            }
        }
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (!CheckDataItem())
            {
                return;
            }

            Department dept = CreateDeptObjectFromForm();

            if (!m_departmentServer.AddDepartment(dept, out m_err))
            {
                MessageDialog.ShowErrorMessage(m_err);
                return;
            }

            View_Department viewDept = m_departmentServer.GetDepartments(dept.DepartmentCode);

            if (txtCode.Text.Length == 2)
            {
                treeView1.Nodes.Add(GenerateTreeNode(viewDept));
            }
            else
            {
                string parentCode = txtCode.Text.Substring(0, txtCode.Text.Length - 2);
                treeView1.Nodes.Find(parentCode, true)[0].Nodes.Add(GenerateTreeNode(viewDept));
            }
        }
        /// <summary>
        /// 生成树节点
        /// </summary>
        /// <param name="dept">部门信息</param>
        /// <returns>返回生成的树节点</returns>
        TreeNode GenerateTreeNode(View_Department dept)
        {
            TreeNode node = new TreeNode();

            node.Name = dept.部门代码;
            node.Text = string.Format("({0}) {1}", dept.部门代码, dept.部门名称);
            node.Tag  = dept;

            return(node);
        }
        /// <summary>
        /// 刷新控件
        /// </summary>
        void RefreshControl()
        {
            ClearControl();

            if (SelectedNode == null || SelectedNode.Tag == null || SelectedNode.Tag.ToString() == "system")
            {
                return;
            }

            View_Department dept = SelectedNode.Tag as View_Department;

            txtCode.Text = dept.部门代码;
            txtName.Text = dept.部门名称;

            // 获取部门负责人

            cmbDeptType.Text = dept.部门类型;

            if (dept.电话 != null)
            {
                txtTelephone.Text = dept.电话;
            }

            if (dept.真 != null)
            {
                txtFax.Text = dept.真;
            }

            if (dept.备注 != null)
            {
                txtRemark.Text = dept.备注;
            }

            IQueryable <View_HR_Personnel> directorGroup = m_personnelServer.GetDeptDirector(dept.部门代码);

            if (directorGroup != null && directorGroup.Count() > 0)
            {
                foreach (var item in directorGroup)
                {
                    cmbPrincipal.Items.Add(item.姓名);
                }

                cmbPrincipal.SelectedIndex = 0;
                cmbPrincipal.Tag           = directorGroup.ToList();
            }
        }
        /// <summary>
        /// 赋值账务信息
        /// </summary>
        /// <param name="context">数据上下文</param>
        /// <param name="bill">单据信息</param>
        /// <param name="item">明细信息</param>
        /// <returns>返回账务信息对象</returns>
        public S_FetchGoodsDetailBill AssignDetailInfo(DepotManagementDataContext context, S_MaterialReturnedInTheDepot bill,
                                                       S_MaterialListReturnedInTheDepot item)
        {
            IBillTypeServer server   = ServerModuleFactory.GetServerModule <IBillTypeServer>();
            BASE_BillType   billType = server.GetBillTypeFromName("领料退库单");

            if (billType == null)
            {
                throw new Exception("获取不到单据类型信息");
            }

            View_Department department = UniversalFunction.GetDeptInfo(context, bill.Department);

            //单价设置
            decimal dcStockUnitPrice = m_serverStore.GetGoodsUnitPrice(context, item.GoodsID, item.BatchNo, bill.StorageID);

            //S_FetchGoodsDetailBill用于存放每次领料、领料退库的明细信息
            S_FetchGoodsDetailBill detailBill = new S_FetchGoodsDetailBill();

            detailBill.ID               = Guid.NewGuid();
            detailBill.FetchBIllID      = bill.Bill_ID;
            detailBill.BillTime         = ServerTime.Time;
            detailBill.FetchCount       = -item.ReturnedAmount;
            detailBill.GoodsID          = item.GoodsID;
            detailBill.BatchNo          = item.BatchNo;
            detailBill.ProviderBatchNo  = item.ProviderBatchNo;
            detailBill.Provider         = item.Provider;
            detailBill.Price            = -dcStockUnitPrice * (decimal)item.ReturnedAmount;
            detailBill.UnitPrice        = dcStockUnitPrice;
            detailBill.Department       = department.部门名称;
            detailBill.FillInPersonnel  = bill.FillInPersonnel;
            detailBill.FinanceSignatory = null;
            detailBill.DepartDirector   = bill.DepartmentDirector;
            detailBill.DepotManager     = bill.DepotManager;
            detailBill.OperationType    = (int)CE_SubsidiaryOperationType.领料退库;
            detailBill.StorageID        = bill.StorageID;
            detailBill.Remark           = "退库原因:" + bill.ReturnReason + ";备注:" + item.Remark;
            detailBill.FillInDate       = bill.Bill_Time;

            IMaterialRequisitionPurposeServer purposeServer =
                ServerModuleFactory.GetServerModule <IMaterialRequisitionPurposeServer>();

            detailBill.Using = string.Format("领料退库,初始用途:{0}", purposeServer.GetBillPurpose(context, bill.PurposeCode).Purpose);

            return(detailBill);
        }
Esempio n. 7
0
        public void GenDepart(View_Department CurrentDepart, List <View_Department> departments)
        {
            if (CurrentDepart != null)
            {
                int id = CurrentDepart.Id;

                var list = departments.Where(x => x.ParentID == id);

                if (list != null && list.Count() > 0)
                {
                    CurrentDepart.SubDepartments = list.ToList();

                    foreach (var entity in list)
                    {
                        GenDepart(entity, departments);
                    }
                }
            }
        }
        /// <summary>
        /// 递归生成树
        /// </summary>
        /// <param name="parent">父节点</param>
        /// <param name="deptInfo">部门信息</param>
        void RecursionGenerateTree(TreeNode parent, List <View_Department> deptInfo)
        {
            for (; deptInfo.Count > 0;)
            {
                View_Department curDept = deptInfo[0];

                if ((parent.Tag as View_Department).部门代码.Length >= curDept.部门代码.Length)
                {
                    break;
                }

                TreeNode node = GenerateTreeNode(curDept);
                parent.Nodes.Add(node);
                deptInfo.RemoveAt(0);

                if (deptInfo.Count > 0 && deptInfo[0].部门代码.Length > curDept.部门代码.Length)
                {
                    RecursionGenerateTree(node, deptInfo);
                }
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 赋值账务信息
        /// </summary>
        /// <param name="context">数据上下文</param>
        /// <param name="bill">单据信息</param>
        /// <param name="item">明细信息</param>
        /// <returns>返回账务信息对象</returns>
        public S_FetchGoodsDetailBill AssignDetailInfo(DepotManagementDataContext context, S_MaterialRequisition bill,
                                                       S_MaterialRequisitionGoods item)
        {
            IBillTypeServer server   = ServerModuleFactory.GetServerModule <IBillTypeServer>();
            BASE_BillType   billType = server.GetBillTypeFromName("领料单");

            if (billType == null)
            {
                throw new Exception("获取不到单据类型信息");
            }

            View_Department           department       = UniversalFunction.GetDeptInfo(context, bill.Department);
            IStoreServer              storeServer      = ServerModuleFactory.GetServerModule <IStoreServer>();
            IProductLendReturnService serverLendReturn = ServerModuleFactory.GetServerModule <IProductLendReturnService>();
            F_GoodsPlanCost           basicGoods       = m_basicGoodsServer.GetGoodsInfo(context, item.GoodsID);

            if (basicGoods == null)
            {
                throw new Exception(string.Format("物品ID [{0}] 的物品在基础物品表中没有查到,请与系统管理员联系!", item.GoodsID));
            }

            StoreQueryCondition condition = new StoreQueryCondition();

            condition.GoodsID   = item.GoodsID;
            condition.Provider  = item.ProviderCode;
            condition.BatchNo   = item.BatchNo;
            condition.StorageID = bill.StorageID;

            S_Stock stock = storeServer.GetStockInfoOverLoad(context, condition);

            if (stock == null && GlobalObject.GeneralFunction.IsNullOrEmpty(basicGoods.GoodsType))
            {
                throw new Exception(string.Format("图号:{0}, 名称:{1}, 规格:{2}, 供应商:{3}, 批次号:{4} 的物品在库存中没有查到相关物品,请仓管员核实!",
                                                  basicGoods.GoodsCode, basicGoods.GoodsName, basicGoods.Spec, item.ProviderCode, item.BatchNo));
            }

            //S_FetchGoodsDetailBill用于存放每次领料、领料退库的明细信息
            decimal dcRealCount = item.RealCount;
            decimal dcSumCount  = 0;

            var varData = from a in context.View_S_MaterialRequisitionProductReturnList
                          where a.单据号 == item.Bill_ID &&
                          a.还账物品ID == item.GoodsID &&
                          a.还账物品批次号 == item.BatchNo &&
                          a.还账物品供应商 == item.ProviderCode
                          select a;

            if (varData.Count() > 0)
            {
                dcSumCount = varData.Sum(a => a.还账数量);

                if (dcRealCount < dcSumCount)
                {
                    throw new Exception("实际领用数量不能大于还货数量,请重新核对");
                }
            }

            S_FetchGoodsDetailBill detailBill = new S_FetchGoodsDetailBill();

            detailBill.ID                 = Guid.NewGuid();
            detailBill.FetchBIllID        = bill.Bill_ID;
            detailBill.BillTime           = (DateTime)bill.OutDepotDate;
            detailBill.AssociatedBillType = bill.AssociatedBillType;
            detailBill.AssociatedBillNo   = bill.AssociatedBillNo;
            detailBill.Department         = department.部门名称;
            detailBill.FetchCount         = item.RealCount;
            detailBill.GoodsID            = item.GoodsID;
            detailBill.StorageID          = bill.StorageID;
            detailBill.Price              = dcSumCount;
            detailBill.UnitPrice          = stock == null ? 0 : stock.UnitPrice;
            detailBill.OperationType      = (int)CE_SubsidiaryOperationType.领料;
            detailBill.Provider           = item.ProviderCode;

            if (stock != null)
            {
                detailBill.ProviderBatchNo = stock.ProviderBatchNo;
            }
            else
            {
                detailBill.ProviderBatchNo = "";
            }

            detailBill.BatchNo = item.BatchNo;

            detailBill.FillInPersonnel  = bill.FillInPersonnel;
            detailBill.FinanceSignatory = null;
            detailBill.DepartDirector   = bill.DepartmentDirector;
            detailBill.DepotManager     = bill.DepotManager;
            detailBill.Remark           = (bill.Remark == null ? "" : bill.Remark.Trim()) + (item.Remark == null ? "" : item.Remark.Trim());
            detailBill.FillInDate       = bill.Bill_Time;

            IMaterialRequisitionPurposeServer purposeServer =
                ServerModuleFactory.GetServerModule <IMaterialRequisitionPurposeServer>();

            detailBill.Using = purposeServer.GetBillPurpose(context, bill.PurposeCode).Purpose;

            return(detailBill);
        }
Esempio n. 10
0
        /// <summary>
        /// 界面初始化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 营销入库明细单_Load(object sender, EventArgs e)
        {
            DataTable dt = m_findSellIn.GetBill(m_strDJH, m_intDJID);

            m_drZdRK = dt.NewRow();

            if (m_intDJID != 0)
            {
                View_HR_Personnel lnqPersonnel = m_findPersonnel.GetPersonnelInfo(dt.Rows[0]["LRRY"].ToString());

                m_strDJZTFlag   = dt.Rows[0]["DJZT_Flag"].ToString();
                lbUserName.Text = lnqPersonnel.姓名.ToString();
                lbUserName.Tag  = lnqPersonnel.工号.ToString();
                lbKS.Text       = lnqPersonnel.部门名称.ToString();
                lbKS.Tag        = lnqPersonnel.部门编码.ToString();
                m_dtMxRK        = m_findSellIn.GetList(m_intDJID);
                tbsDept.Tag     = dt.Rows[0]["ObjectDept"].ToString();
                txtSellID.Text  = dt.Rows[0]["DJH"].ToString();

                View_Department linVdepartment = m_findDepartmentServer.GetDepartments(dt.Rows[0]["ObjectDept"].ToString());

                tbsDept.Text      = linVdepartment.部门名称;
                txtPrice.Text     = dt.Rows[0]["Price"].ToString();
                txtRemarkAll.Text = dt.Rows[0]["Remark"].ToString();
                cmbRKFS.Text      = dt.Rows[0]["YWFS"].ToString();
                cmbStorage.Text   = UniversalFunction.GetStorageName(dt.Rows[0]["StorageID"].ToString());
                m_lnqWSCode       = m_serverWSBasic.GetWorkShopCodeInfo(tbsDept.Tag.ToString());
            }
            else
            {
                m_strDJZTFlag   = "已保存";
                lbUserName.Text = BasicInfo.LoginName;
                lbUserName.Tag  = BasicInfo.LoginID;
                lbKS.Text       = BasicInfo.DeptName;
                lbKS.Tag        = BasicInfo.DeptCode;

                WS_WorkShopCode tempWorkCodeInfo = m_serverWSBasic.GetPersonnelWorkShop(BasicInfo.LoginID);

                if (tempWorkCodeInfo != null)
                {
                    tbsDept.Text = tempWorkCodeInfo.WSName;
                    tbsDept.Tag  = tempWorkCodeInfo.DeptCode;
                }

                txtSellID.Text = m_billNoControl.GetNewBillNo();

                CreateDateTableStyle();
            }

            if (!Convert.ToBoolean(BasicInfo.BaseSwitchInfo[(int)GlobalObject.CE_SwitchName.开启车间管理模块]))
            {
                txtBatchNo.Enabled = false;
            }

            if (m_strDJZTFlag != "已保存" && m_strDJZTFlag != "")
            {
                cmbRKFS.Enabled    = false;
                tbsDept.Enabled    = false;
                cmbStorage.Enabled = false;

                if (UniversalFunction.CheckStorageAndPersonnel(dt.Rows[0]["StorageID"].ToString()) == false)
                {
                    btnAffirm.Visible = false;
                }
            }

            OperationbtnCheckIsVisible(m_dtMxRK);

            //DataRow drDept = m_serverDepartment.GetPersonnelAffiliatedTopFunction(lbUserName.Text).Rows[0];

            //tbsDept.Enabled = false;
            //tbsDept.Text = drDept["DepartmentName"].ToString();
            //tbsDept.Tag = drDept["DepartmentCode"].ToString();
            dgv_Main.DataSource = m_dtMxRK;

            m_strDJH = txtSellID.Text.Trim();
        }
        /// <summary>
        /// 界面初始化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 营销退货明细单_Load(object sender, EventArgs e)
        {
            DataTable dt = m_findSellIn.GetBill(m_strDJH, m_intDJID);

            m_drZdRK = dt.NewRow();

            if (m_intDJID != 0)
            {
                m_strDJZTFlag = dt.Rows[0]["DJZT_Flag"].ToString();

                View_HR_Personnel lnqPersonnel = m_findPersonnel.GetPersonnelInfo(dt.Rows[0]["LRRY"].ToString());

                lbUserName.Text = lnqPersonnel.姓名.ToString();
                lbUserName.Tag  = lnqPersonnel.工号.ToString();
                lbKS.Text       = lnqPersonnel.部门名称.ToString();
                lbKS.Tag        = lnqPersonnel.部门编码.ToString();
                m_dtMxRK        = m_findSellIn.GetList(m_intDJID);
                tbsDept.Tag     = dt.Rows[0]["ObjectDept"].ToString();

                View_Department linVdepartment = m_findDepartmentServer.GetDepartments(dt.Rows[0]["ObjectDept"].ToString());

                tbsDept.Text      = linVdepartment.部门名称;
                txtSellID.Text    = dt.Rows[0]["DJH"].ToString();
                txtPrice.Text     = dt.Rows[0]["Price"].ToString();
                cmbTHFS.Text      = dt.Rows[0]["YWFS"].ToString();
                txtRemarkAll.Text = dt.Rows[0]["Remark"].ToString();
                cmbStorage.Text   = UniversalFunction.GetStorageName(dt.Rows[0]["StorageID"].ToString());
            }
            else
            {
                m_strDJZTFlag   = "已保存";
                lbUserName.Text = BasicInfo.LoginName;
                lbUserName.Tag  = BasicInfo.LoginID;
                lbKS.Text       = BasicInfo.DeptName;
                lbKS.Tag        = BasicInfo.DeptCode;
                txtSellID.Text  = m_billNoControl.GetNewBillNo();

                CreateDateTableStyle();
            }

            if (m_strDJZTFlag != "已保存" && m_strDJZTFlag != "")
            {
                cmbTHFS.Enabled    = false;
                tbsDept.Enabled    = false;
                cmbStorage.Enabled = false;
            }

            dgv_Main.DataSource = m_dtMxRK;
            m_strDJH            = txtSellID.Text.Trim();


            if (cmbStorage.Text == "售后库房")
            {
                label11.Visible         = true;
                cmbRepairStatus.Visible = true;
                dgv_Main.Columns["RepairStatus"].Visible = true;
            }
            else
            {
                label11.Visible         = false;
                cmbRepairStatus.Visible = false;
                dgv_Main.Columns["RepairStatus"].Visible = false;
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 刷新控件
        /// </summary>
        void RefreshControl()
        {
            ClearControl();

            if (SelectedNode == null)
            {
                return;
            }

            if (SelectedNode.Text == "部门分类")
            {
                m_findPersonnel = m_personnelInfo.GetAllInfo();
            }
            else
            {
                View_Department dept = SelectedNode.Tag as View_Department;

                m_findPersonnel = m_personnelInfo.GetAllInfo(dept.部门代码);
                cmbDepot.Text   = dept.部门名称;
                cmbDepot.Tag    = dept.部门代码;
            }

            string strSelect = "";

            if (cmbPositionStatus.Text != "全部")
            {
                if (cmbPositionStatus.Text == "在职")
                {
                    strSelect += " and 是否在职 = 1 ";
                }
                else
                {
                    strSelect += " and 是否在职 = 0 ";
                }
            }

            if (cmbUseStatus.Text != "全  部")
            {
                if (cmbUseStatus.Text == "已停用")
                {
                    strSelect += " and DeleteFlag = 1";
                }
                else
                {
                    strSelect += " and DeleteFlag = 0";
                }
            }

            if (cmbUserStatus.Text != "全    部")
            {
                if (cmbUserStatus.Text == "操作用户")
                {
                    strSelect += " and 是否操作用户 = 1";
                }
                else
                {
                    strSelect += " and 是否操作用户 = 0";
                }
            }

            DataTable dt = GlobalObject.GeneralFunction.ConvertToDataTable <View_HR_Personnel>(m_findPersonnel);

            DataTable dtHR = new DataTable();

            if (strSelect.Trim().Length > 0 && dt.Rows.Count > 0)
            {
                dtHR = dt.Clone();

                strSelect = strSelect.Substring(5, strSelect.Length - 5);

                DataRow[] dr = dt.Select(strSelect);

                for (int i = 0; i < dr.Length; i++)
                {
                    dtHR.ImportRow(dr[i]);
                }
            }
            else
            {
                dtHR = dt;
            }

            dataGridView1.DataSource = dtHR;

            this.dataGridView1.ColumnWidthChanged -= new System.Windows.Forms.DataGridViewColumnEventHandler(
                this.dataGridView1_ColumnWidthChanged);

            ColumnWidthControl.SetDataGridView(labelTitle.Text, dataGridView1);

            this.dataGridView1.ColumnWidthChanged += new System.Windows.Forms.DataGridViewColumnEventHandler(
                this.dataGridView1_ColumnWidthChanged);

            if (m_dataLocalizer == null)
            {
                m_dataLocalizer = new UserControlDataLocalizer(dataGridView1, this.Name,
                                                               UniversalFunction.SelectHideFields(this.Name, dataGridView1.Name, BasicInfo.LoginID));

                panelTop.Controls.Add(m_dataLocalizer);
                m_dataLocalizer.Dock = DockStyle.Bottom;
            }

            if (dataGridView1.Rows.Count == 0)
            {
                panelTop.Visible = false;
            }
            else
            {
                panelTop.Visible = true;
            }


            dataGridView1.Refresh();
        }