private void btnReexamine_Click(object sender, EventArgs e) { if (m_strDJZTFlag == "已检验") { Service_Manufacture_WorkShop.IWorkShopBasic serviceBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempLnq = serviceBasic.GetWorkShopCodeInfo(tbsDept.Tag.ToString()); if (tempLnq == null) { MessageDialog.ShowPromptMessage("获取车间信息错误"); return; } if (m_findSellIn.RetrialBill(txtSellID.Text, txtRemarkAll.Text, out m_err)) { MessageBox.Show("复审通过!", "提示"); List <string> tempList = GlobalObject.GeneralFunction.ConvertListTypeToStringList <CE_RoleEnum>( UniversalFunction.GetStoreroomKeeperRoleEnumList(tempLnq.WSCode)); m_billMessageServer.PassFlowMessage(txtSellID.Text, string.Format("【退货方式】:{0} 【库房】:{1} ※※※ 等待【下线车间工作人员】处理", cmbTHFS.Text, cmbStorage.Text), BillFlowMessage_ReceivedUserType.角色, tempList); this.Close(); } } else { MessageBox.Show("请重新确认单据状态", "提示"); } }
/// <summary> /// 工具账务操作 /// </summary> /// <param name="ctx">数据上下文</param> /// <param name="billNo">单据号</param> /// <param name="goodsID">物品ID</param> /// <param name="provider">供应商</param> /// <param name="operationCount">操作数量</param> /// <param name="workID">操作人员ID</param> void ToolsOperation(DepotManagementDataContext ctx, string billNo, int goodsID, string provider, decimal operationCount, string workID) { IToolsManage serverTools = ServerModule.ServerModuleFactory.GetServerModule <IToolsManage>(); if (serverTools.IsTools(goodsID)) { Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); IPersonnelInfoServer serverPersonnel = ServerModuleFactory.GetServerModule <IPersonnelInfoServer>(); View_HR_Personnel viewPersonnel = serverPersonnel.GetPersonnelInfo(workID); WS_WorkShopCode tempWSCode = serverWSBasic.GetPersonnelWorkShop(workID); S_MachineAccount_Tools toolsInfo = new S_MachineAccount_Tools(); toolsInfo.GoodsID = goodsID; toolsInfo.Provider = provider; toolsInfo.StockCount = -operationCount; if (tempWSCode != null) { toolsInfo.StorageCode = tempWSCode.WSCode; } else { toolsInfo.StorageCode = viewPersonnel.部门编码; } serverTools.OpertionInfo(ctx, toolsInfo); serverTools.DayToDayAccount(ctx, toolsInfo, billNo); } }
private void customDataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == -1 && e.RowIndex >= 0 && customDataGridView1.CurrentRow.Cells["物品ID"].Value != null && customDataGridView1.CurrentRow.Cells["物品ID"].Value.ToString().Length > 0) { BarCodeInfo barCode = new BarCodeInfo(); barCode.BatchNo = customDataGridView1.CurrentRow.Cells["批次号"].Value == null ? "" : customDataGridView1.CurrentRow.Cells["批次号"].Value.ToString(); barCode.Count = customDataGridView1.CurrentRow.Cells["数量"].Value == null ? 0 : Convert.ToDecimal(customDataGridView1.CurrentRow.Cells["数量"].Value); barCode.GoodsID = Convert.ToInt32(customDataGridView1.CurrentRow.Cells["物品ID"].Value); View_F_GoodsPlanCost goodsInfo = UniversalFunction.GetGoodsInfo(barCode.GoodsID); barCode.GoodsName = goodsInfo.物品名称; barCode.GoodsCode = goodsInfo.图号型号; barCode.Spec = goodsInfo.规格; CE_BusinessType tempType = CE_BusinessType.库房业务; Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempWSCode = serverWSBasic.GetWorkShopCodeInfo(txtApplyingDepartment.Tag.ToString()); Dictionary <string, string> tempDic = new Dictionary <string, string>(); CE_InPutBusinessType inPutType = GlobalObject.GeneralFunction.StringConvertToEnum <CE_InPutBusinessType>(cmbBillType.Text); CE_MarketingType marketType = GlobalObject.EnumOperation.InPutBusinessTypeConvertToMarketingType(inPutType); CE_SubsidiaryOperationType subsdiaryType = GlobalObject.EnumOperation.InPutBusinessTypeConvertToSubsidiaryOperationType(inPutType); tempDic.Add("", marketType.ToString()); if (tempWSCode != null) { tempType = CE_BusinessType.综合业务; tempDic.Add(tempWSCode.WSCode, subsdiaryType.ToString()); } 产品编号 frm = new 产品编号(barCode, tempType, txtBillNo.Text, (lbBillStatus.Text != CE_CommonBillStatus.单据完成.ToString()), tempDic); if (frm.ShowDialog() == DialogResult.OK) { customDataGridView1.Rows[e.RowIndex].Cells["数量"].Value = frm.IntCount; } } }
private void dgv_Main_DoubleClick(object sender, EventArgs e) { if (dgv_Main.CurrentRow == null) { return; } BarCodeInfo tempInfo = new BarCodeInfo(); tempInfo.BatchNo = m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["BatchNo"].ToString(); tempInfo.Count = Convert.ToDecimal(m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["Count"]); tempInfo.GoodsCode = m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["GoodsCode"].ToString(); tempInfo.GoodsID = Convert.ToInt32(m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["CPID"]); tempInfo.GoodsName = m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["GoodsName"].ToString(); tempInfo.Remark = m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["Remark"].ToString(); tempInfo.Spec = m_dtMxRK.Rows[dgv_Main.CurrentRow.Index]["Spec"].ToString(); CE_BusinessType tempType = CE_BusinessType.库房业务; Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); if (tbsDept.Text.Trim().Length == 0 || tbsDept.Tag == null) { throw new Exception("请选择【出货车间】"); } WS_WorkShopCode tempWSCode = serverWSBasic.GetWorkShopCodeInfo(tbsDept.Tag.ToString()); Dictionary <string, string> tempDic = new Dictionary <string, string>(); tempDic.Add(UniversalFunction.GetStorageID(cmbStorage.Text), CE_MarketingType.入库.ToString()); if (tempWSCode != null) { tempType = CE_BusinessType.综合业务; tempDic.Add(tempWSCode.WSCode, CE_SubsidiaryOperationType.营销入库.ToString()); } 产品编号 form = new 产品编号(tempInfo, tempType, txtSellID.Text, !(m_strDJZTFlag != "已保存" && m_strDJZTFlag != ""), tempDic); form.BlAfterServer = cmbRKFS.Text.Contains("售后返修"); form.ShowDialog(); if (form.IntCount != 0) { dgv_Main.CurrentRow.Cells["Count"].Value = form.IntCount; } }
/// <summary> /// 赋值账务信息 /// </summary> /// <param name="dataContxt">数据上下文</param> /// <param name="bill">单据信息</param> /// <param name="item">明细信息</param> /// <returns>返回账务信息</returns> S_FetchGoodsDetailBill AssignDetailInfo(DepotManagementDataContext dataContxt, S_ScrapBill bill, S_ScrapGoods item) { Service_Manufacture_WorkShop.IWorkShopStock serverWSStock = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopStock>(); Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempWSCode = serverWSBasic.GetPersonnelWorkShop(dataContxt, bill.FillInPersonnelCode); S_FetchGoodsDetailBill detailBill = new S_FetchGoodsDetailBill(); string error = ""; if (!m_serverProductCode.UpdateProductStock(dataContxt, bill.Bill_ID, "报废", "05", false, item.GoodsID, out error)) { throw new Exception(error); } detailBill.ID = Guid.NewGuid(); detailBill.FetchBIllID = bill.Bill_ID; detailBill.BillTime = ServerTime.Time; detailBill.FetchCount = -(decimal)item.Quantity; detailBill.GoodsID = item.GoodsID; detailBill.BatchNo = item.BatchNo == "无批次" ? "" : item.BatchNo; WS_WorkShopStock tempWSStock = new WS_WorkShopStock(); if (tempWSCode != null) { tempWSStock = serverWSStock.GetStockSingleInfo(dataContxt, tempWSCode.WSCode, item.GoodsID, item.BatchNo); } detailBill.UnitPrice = tempWSStock == null ? 0 : tempWSStock.UnitPrice; detailBill.Price = detailBill.UnitPrice * (decimal)detailBill.FetchCount; detailBill.Provider = item.Provider; detailBill.FillInPersonnel = bill.FillInPersonnel; detailBill.FinanceSignatory = null; detailBill.DepartDirector = bill.DepartmentDirector; detailBill.DepotManager = bill.DepotManager; detailBill.OperationType = (int)CE_SubsidiaryOperationType.报废; detailBill.Remark = "【报废】"; detailBill.FillInDate = bill.Bill_Time; return(detailBill); }
/// <summary> /// 车间出库业务的处理 /// </summary> /// <param name="ctx">数据上下文</param> /// <param name="fetchGoodsDetailInfo">出库业务对象</param> void FetchWorkShop(DepotManagementDataContext ctx, S_FetchGoodsDetailBill fetchGoodsDetailInfo) { if (fetchGoodsDetailInfo == null) { return; } Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempWSCode = serverWSBasic.GetPersonnelWorkShop(ctx, fetchGoodsDetailInfo.FillInPersonnel); if (Convert.ToBoolean(BasicInfo.BaseSwitchInfo[(int)GlobalObject.CE_SwitchName.开启车间管理模块]) && tempWSCode != null) { WS_Subsidiary tempSubsidiary = new WS_Subsidiary(); tempSubsidiary.BillTime = ServerTime.Time; tempSubsidiary.Applicant = UniversalFunction.GetStorageName(ctx, fetchGoodsDetailInfo.StorageID); tempSubsidiary.Affirm = fetchGoodsDetailInfo.DepotManager; tempSubsidiary.AffirmDate = ServerTime.Time; tempSubsidiary.BatchNo = fetchGoodsDetailInfo.BatchNo; tempSubsidiary.BillNo = fetchGoodsDetailInfo.FetchBIllID; tempSubsidiary.GoodsID = fetchGoodsDetailInfo.GoodsID; tempSubsidiary.Provider = fetchGoodsDetailInfo.Provider; tempSubsidiary.OperationCount = (decimal)fetchGoodsDetailInfo.FetchCount < 0 ? -(decimal)fetchGoodsDetailInfo.FetchCount : (decimal)fetchGoodsDetailInfo.FetchCount; tempSubsidiary.OperationType = fetchGoodsDetailInfo.OperationType; tempSubsidiary.Proposer = fetchGoodsDetailInfo.FillInPersonnel; tempSubsidiary.ProposerDate = fetchGoodsDetailInfo.FillInDate == null ? ServerTime.Time : Convert.ToDateTime(fetchGoodsDetailInfo.FillInDate); tempSubsidiary.UnitPrice = fetchGoodsDetailInfo.UnitPrice; tempSubsidiary.WSCode = tempWSCode.WSCode; tempSubsidiary.Remark = fetchGoodsDetailInfo.Remark; Service_Manufacture_WorkShop.IWorkShopStock serverWSStock = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopStock>(); serverWSStock.OperationSubsidiary(ctx, tempSubsidiary); } }
/// <summary> /// 确认单据 /// </summary> /// <param name="billNo">单据号</param> /// <param name="list">明细信息</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool AffirmBill(string billNo, DataTable list, out string error) { error = null; DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { var varData = from a in ctx.WS_CannibalizeBill where a.BillNo == billNo select a; WS_CannibalizeBill tempBill = new WS_CannibalizeBill(); if (varData.Count() == 1) { tempBill = varData.Single(); if (tempBill.BillStatus != CannibalizeBillStatus.等待确认.ToString()) { throw new Exception("单据状态错误,请重新确认"); } tempBill.BillStatus = CannibalizeBillStatus.单据已完成.ToString(); tempBill.Affirm = BasicInfo.LoginName; tempBill.AffirmDate = ServerTime.Time; } else { throw new Exception("数据不唯一,请重新确认"); } var varCannibalizeWSCode = from a in ctx.WS_CannibalizeWSCode where a.BillNo == tempBill.BillNo select a; ListControl(ctx, tempBill, varCannibalizeWSCode.ToList <WS_CannibalizeWSCode>(), list); ctx.SubmitChanges(); var varOperationType = from a in varCannibalizeWSCode join b in ctx.BASE_SubsidiaryOperationType on a.OperationType equals b.OperationType orderby b.DepartmentType select a; var varGoodsList = from a in ctx.WS_CannibalizeList where a.BillNo == tempBill.BillNo select a; foreach (WS_CannibalizeList tempItem in varGoodsList) { decimal unitPrice = 0; foreach (WS_CannibalizeWSCode item in varOperationType) { WS_Subsidiary tempSubsidiary = new WS_Subsidiary(); tempSubsidiary.BatchNo = tempItem.BatchNo; tempSubsidiary.BillNo = tempBill.BillNo; tempSubsidiary.GoodsID = tempItem.GoodsID; tempSubsidiary.OperationCount = tempItem.OperationCount; tempSubsidiary.OperationType = item.OperationType; tempSubsidiary.Remark = tempItem.Remark; tempSubsidiary.WSCode = item.WSCode; tempSubsidiary.Proposer = tempBill.Proposer; tempSubsidiary.ProposerDate = (DateTime)tempBill.ProposerDate; tempSubsidiary.Affirm = BasicInfo.LoginName; tempSubsidiary.AffirmDate = ServerTime.Time; tempSubsidiary.BillTime = ServerTime.Time; WS_CannibalizeWSCode tempCanWSCode = new WS_CannibalizeWSCode(); tempCanWSCode.BillNo = tempSubsidiary.BillNo; Service_Manufacture_WorkShop.IWorkShopStock serverStock = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopStock>(); switch (item.OperationType) { case (int)CE_SubsidiaryOperationType.车间调出: tempCanWSCode.OperationType = (int)CE_SubsidiaryOperationType.车间调入; WS_WorkShopStock tempWSStock = serverStock.GetStockSingleInfo(tempSubsidiary.WSCode, tempSubsidiary.GoodsID, tempSubsidiary.BatchNo); unitPrice = tempWSStock == null ? 0 : tempWSStock.UnitPrice; tempSubsidiary.UnitPrice = unitPrice; break; case (int)CE_SubsidiaryOperationType.车间调入: tempCanWSCode.OperationType = (int)CE_SubsidiaryOperationType.车间调出; tempSubsidiary.UnitPrice = unitPrice; break; default: break; } tempCanWSCode = GetCannibalizeWSCode(tempCanWSCode); if (tempCanWSCode == null) { throw new Exception("调运车间信息错误"); } Service_Manufacture_WorkShop.IWorkShopBasic serverBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempCode = serverBasic.GetWorkShopCodeInfo(tempCanWSCode.WSCode); if (tempCode == null) { throw new Exception("获取车间名称失败"); } tempSubsidiary.Applicant = tempCode.WSName; serverStock.OperationSubsidiary(ctx, tempSubsidiary); } } ctx.SubmitChanges(); ctx.Transaction.Commit(); return(true); } catch (Exception ex) { ctx.Transaction.Rollback(); error = ex.Message; return(false); } }
/// <summary> /// 获得序号 /// </summary> /// <param name="Dt">数据集</param> /// <returns>返回获得序号后的数据集</returns> //DataTable GetCountNumber(DataTable Dt) //{ // for (int i = 0; i < Dt.Rows.Count; i++) // { // Dt.Rows[i]["序号"] = i + 1; // } // return Dt; //} private void btnAdd_Click(object sender, EventArgs e) { try { txtProductCode.Text = txtProductCode.Text.ToUpper(); if (!CheckForm()) { return; } //获得入库方式 cmbRKFS.Text = m_findSellIn.GetInStockWay(cmbProduct.Text.ToString(), txtProductCode.Text.ToString()); //检测钢印规则 if (!m_serverProductCode.VerifyProductCodesInfo(Convert.ToInt32(cmbProduct.Tag), txtProductCode.Text.Trim(), GlobalObject.CE_BarCodeType.内部钢印码, out m_err)) { MessageDialog.ShowPromptMessage(m_err); return; } if (!m_findSellIn.IsProductCodeOperationStandard(CE_MarketingType.入库.ToString(), typeof(CE_MarketingType), Convert.ToInt32(cmbProduct.Tag), txtProductCode.Text, cmbStorage.Tag.ToString(), out m_err)) { MessageDialog.ShowPromptMessage(m_err); return; } Service_Manufacture_WorkShop.IWorkShopBasic serverWorkShopBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempWorkCode = serverWorkShopBasic.GetPersonnelWorkShop(BasicInfo.LoginID); if (tempWorkCode == null) { throw new Exception("您不是车间人员,无法执行产品入库业务"); } if (!m_findSellIn.IsProductCodeOperationStandard(CE_SubsidiaryOperationType.营销入库.ToString(), typeof(CE_SubsidiaryOperationType), Convert.ToInt32(cmbProduct.Tag), txtProductCode.Text, tempWorkCode.WSCode, out m_err)) { MessageDialog.ShowPromptMessage(m_err); return; } if (dataGridView1.DataSource != null) { m_dtProductCodes = (DataTable)dataGridView1.DataSource; } DataRow dr = m_dtProductCodes.NewRow(); dr["产品名称"] = cmbProduct.Text.ToString(); dr["箱体编号"] = txtProductCode.Text; dr["入库方式"] = cmbRKFS.Text.ToString(); dr["入库库房"] = cmbStorage.Text.ToString(); dr["物品ID"] = Convert.ToInt32(cmbProduct.Tag); dr["库房ID"] = cmbStorage.Tag.ToString(); ProductCode_AutoCreatePutIn_Subsidiary lnqTemp = new ProductCode_AutoCreatePutIn_Subsidiary(); lnqTemp.GoodsID = Convert.ToInt32(dr["物品ID"]); lnqTemp.ProductCode = dr["箱体编号"].ToString(); lnqTemp.PutInType = dr["入库方式"].ToString(); lnqTemp.StorageID = dr["库房ID"].ToString(); if (!CheckSameGoods(dr)) { return; } m_dtProductCodes.Rows.Add(dr); dataGridView1.DataSource = m_dtProductCodes; m_serverProductCode.Add_AutoCreatePutIn_Subsidiary(lnqTemp); PositioningRecord(dr); } catch (Exception ex) { MessageDialog.ShowPromptMessage(ex.Message); } }
private void dataGridView1_DoubleClick(object sender, EventArgs e) { if (dataGridView1.CurrentRow == null) { return; } View_S_MaterialReturnedInTheDepot lnqMaterialReturn = m_goodsServer.GetBillView(m_billNo); int intGoodsID = Convert.ToInt32(dataGridView1.CurrentRow.Cells["物品ID"].Value); switch (UniversalFunction.GetGoodsType(intGoodsID, m_strStorage)) { case CE_GoodsType.CVT: case CE_GoodsType.TCU: BarCodeInfo tempInfo = new BarCodeInfo(); tempInfo.BatchNo = dataGridView1.CurrentRow.Cells["批次号"].Value.ToString(); tempInfo.Count = Convert.ToDecimal(dataGridView1.CurrentRow.Cells["退库数"].Value); tempInfo.GoodsCode = dataGridView1.CurrentRow.Cells["图号型号"].Value.ToString(); tempInfo.GoodsID = intGoodsID; tempInfo.GoodsName = dataGridView1.CurrentRow.Cells["物品名称"].Value.ToString(); tempInfo.Remark = dataGridView1.CurrentRow.Cells["备注"].Value.ToString(); tempInfo.Spec = dataGridView1.CurrentRow.Cells["规格"].Value.ToString(); bool blCheck = true; if (m_operateMode == CE_BusinessOperateMode.查看) { blCheck = false; } else { if (lnqMaterialReturn.单据状态 != "等待仓管退库") { blCheck = false; } } IMaterialReturnedInTheDepot serverBill = ServerModuleFactory.GetServerModule <IMaterialReturnedInTheDepot>(); View_S_MaterialReturnedInTheDepot tempLnq = serverBill.GetBillView(m_billNo); CE_BusinessType tempType = CE_BusinessType.库房业务; Service_Manufacture_WorkShop.IWorkShopBasic serverWSBasic = Service_Manufacture_WorkShop.ServerModuleFactory.GetServerModule <Service_Manufacture_WorkShop.IWorkShopBasic>(); WS_WorkShopCode tempWSCode = serverWSBasic.GetPersonnelWorkShop(tempLnq.申请人编码); Dictionary <string, string> tempDic = new Dictionary <string, string>(); tempDic.Add(m_strStorage, CE_MarketingType.领料退库.ToString()); if (tempWSCode != null) { tempType = CE_BusinessType.综合业务; tempDic.Add(tempWSCode.WSCode, CE_SubsidiaryOperationType.领料退库.ToString()); } 产品编号 formCode = new 产品编号(tempInfo, tempType, m_billNo, blCheck, tempDic); if (m_strStorage == "05") { if (dataGridView1.CurrentRow.Cells["返修状态"].Value == null || dataGridView1.CurrentRow.Cells["返修状态"].Value.ToString() == "") { MessageDialog.ShowPromptMessage("请选择产品的返修状态"); return; } else { formCode.BlIsRepaired = (bool)dataGridView1.CurrentRow.Cells["返修状态"].Value; } } formCode.ShowDialog(); break; case CE_GoodsType.工装: 工装编号录入窗体 form = new 工装编号录入窗体(m_billNo, intGoodsID, CE_BusinessBillType.领料退库, lnqMaterialReturn.单据状态 == "等待仓管退库" ? true : false); form.StartPosition = FormStartPosition.CenterScreen; form.ShowDialog(); break; case CE_GoodsType.量检具: 量检具编号录入窗体 formLJY = new 量检具编号录入窗体(m_billNo, intGoodsID, Convert.ToDecimal(dataGridView1.CurrentRow.Cells["退库数"].Value), CE_BusinessBillType.领料退库, m_operateMode == CE_BusinessOperateMode.仓库核实 ? true : false); formLJY.ShowDialog(); break; case CE_GoodsType.零件: break; case CE_GoodsType.未知物品: break; default: break; } }