/// <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); }
/// <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); }
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); } } }
/// <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); }
/// <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; } }
/// <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(); }