/// <summary> /// 新增 /// </summary> /// <param name="sender">控件</param> /// <param name="e">参数</param> private void btnNew_Click(object sender, EventArgs e) { currConfig = new Basic_SystemConfig(); currConfig.SystemType = Convert.ToInt32(cbSysType.SelectedValue); CurrConfig = currConfig; SetbtnState(OperType.新增); }
public ServiceResponseData SaveBill() { string belongSys = requestData.GetData <string>(0); string busiType = requestData.GetData <string>(1); IMwBill iProcess = NewObject <MwBillFactory>().GetBillProcess(busiType); MWBillResult result = new MWBillResult(); MW_InStoreHead head = requestData.GetData <MW_InStoreHead>(2); List <MW_InStoreDetail> details = requestData.GetData <List <MW_InStoreDetail> >(3); List <int> deleteDetails = requestData.GetData <List <int> >(4); oleDb.BeginTransaction(); try { foreach (int detailID in deleteDetails) { NewObject <MW_InStoreDetail>().delete(detailID); } iProcess.SaveBill(head, details); Basic_SystemConfig config = NewObject <IMWDao>().GetDeptParameters(head.DeptID, "AutoAuditInstore"); if (config != null) { if (config.Value == "1") { result = iProcess.AuditBill(head.InHeadID, LoginUserInfo.EmpId, LoginUserInfo.EmpName); } } if (result.Result == 0) { oleDb.CommitTransaction(); } else { oleDb.RollbackTransaction(); } responseData.AddData(result); } catch (Exception error) { oleDb.RollbackTransaction(); result.Result = 1; result.ErrMsg = error.Message; } responseData.AddData(result); return(responseData); }
/// <summary> /// 获取月结日 /// </summary> /// <param name="deptId">月结库房ID</param> /// <returns>月结日</returns> public int GetAccountDay(int deptId) { Basic_SystemConfig sc = NewDao <IMWDao>().GetDeptParameters(deptId, "BalanceDay"); if (sc != null && sc.Value != null) { int result; int.TryParse(sc.Value, out result); return(result); } else { return(0); } }
public ServiceResponseData SaveSystemConfig() { int workId = requestData.GetData <int>(0); Basic_SystemConfig config = requestData.GetData <Basic_SystemConfig>(1); //新增参数才验证 if (config.ID == 0 && NewDao <IBasicDataParameterDao>().ExistSystemConfig(config.ParaID, workId, config.DeptID, config.SystemType) == true) { throw new Exception("同机构、同业务系统、同科室的系统参数不能相同!"); } SetWorkId(workId); this.BindDb(config); config.save(); responseData.AddData(true); return(responseData); }
/// <summary> /// 选中系统参数 /// </summary> /// <param name="sender">控件</param> /// <param name="e">参数</param> private void gridSysConfig_CurrentCellChanged(object sender, EventArgs e) { if (gridConfig.CurrentCell != null) { DataTable dt = gridConfig.DataSource as DataTable; currConfig = EFWCoreLib.CoreFrame.Common.ConvertExtend.ToObject <Basic_SystemConfig>(dt, gridConfig.CurrentCell.RowIndex); CurrConfig = currConfig; if (currConfig.DelFlag == 1) { btnDel.Text = "启用"; } else { btnDel.Text = "停用"; } } else { frmFormConfig.Clear(); } SetbtnState(OperType.默认); }
/// <summary> /// 取得物资参数 /// </summary> /// <returns>参数实体列表</returns> private List <Basic_SystemConfig> GetDrugParameters() { int deptId = Convert.ToInt32(lstDrugRoom.SelectedItems[0].Tag); Basic_SystemConfig model = new Basic_SystemConfig(); parameterList.Clear(); //加载通用参数 //物资材料利润百分比 string pm016 = iip_wzcl.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = 0, ParaID = "MWPricePercent", ParaName = "物资利润率", Value = pm016, DataType = 0, Prompt = string.Empty, Memo = "物资利润率(百分比)" }); //加载部门参数 //出库单自动审核 string pm021 = "0"; if (chk_out_chexk.Checked) { pm021 = "1"; } else { pm021 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "AutoAuditOutStore", ParaName = "出库单自动审核", Value = pm021, DataType = 0, Prompt = string.Empty, Memo = "出库单自动审核:0手动;1自动" }); //入库单自动审核 chk_input_check string pm020 = "0"; if (chk_input_check.Checked) { pm020 = "1"; } else { pm020 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "AutoAuditInstore", ParaName = "入库单自动审核", Value = pm020, DataType = 0, Prompt = string.Empty, Memo = "入库单自动审核:0手动;1自动" }); //月结时间为每月 iip_banlance_day string pm008 = iip_banlance_day.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "BalanceDay", ParaName = "默认月结时间", Value = pm008, DataType = 0, Prompt = string.Empty, Memo = "默认月结时间(每月多少号)" }); //强制控制库存 chk_qzkc string pm010 = "0"; if (chk_qzkc.Checked) { pm010 = "1"; } else { pm010 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "ControlStore", ParaName = "是否允许库存为负数", Value = pm010, DataType = 0, Prompt = string.Empty, Memo = "是否允许库存为负数:0不强制控制;1强制控制" }); //允许强制平账 chk_qzpz string pm011 = "1"; if (chk_qzpz.Checked) { pm011 = "1"; } else { pm011 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "AllowModifyAccount", ParaName = "允许强制平账", Value = pm011, DataType = 0, Prompt = string.Empty, Memo = "是否允许自动平账:0不允许;1允许" }); //月结前必须对账 chk_dz string pm012 = "0"; if (chk_dz.Checked) { pm012 = "1"; } else { pm012 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "CheckAccountWhenBalance", ParaName = "月结前必须对账", Value = pm012, DataType = 0, Prompt = string.Empty, Memo = "月结时是否对账:0不对账;1对账" }); //对账误差范围 iip_wzfw string pm013 = iip_wzfw.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 4, DeptID = deptId, ParaID = "ErrorRange", ParaName = "对账误差范围", Value = pm013, DataType = 0, Prompt = string.Empty, Memo = "金额允许误差范围(0.1元为单位)" }); return(parameterList); }
/// <summary> /// 审核药库出库单 /// </summary> /// <param name="headID">药库出库单表头ID</param> /// <param name="auditEmpID">审核人ID</param> /// <param name="auditEmpName">审核人姓名</param> /// <returns>单据处理结果</returns> public override DGBillResult AuditBill(int headID, int auditEmpID, string auditEmpName) { DW_OutStoreHead outHead = (DW_OutStoreHead)NewObject <DW_OutStoreHead>().getmodel(headID); outHead.AuditEmpID = auditEmpID; outHead.AuditEmpName = auditEmpName; outHead.AuditTime = System.DateTime.Now; outHead.AuditFlag = 1; outHead.save(); List <DW_OutStoreDetail> lstDetails = NewObject <DW_OutStoreDetail>().getlist <DW_OutStoreDetail>("OutHeadID=" + headID); DGBillResult result = new DGBillResult(); foreach (var outDeatils in lstDetails) { StoreParam storeParam = new StoreParam(); storeParam.Amount = outDeatils.Amount; storeParam.BatchNO = outDeatils.BatchNO; storeParam.DeptID = outDeatils.DeptID; storeParam.DrugID = outDeatils.DrugID; storeParam.RetailPrice = outDeatils.RetailPrice; storeParam.StockPrice = outDeatils.StockPrice; storeParam.UnitID = outDeatils.UnitID; storeParam.UnitName = outDeatils.UnitName; storeParam.ValidityTime = outDeatils.ValidityDate; DGStoreResult storeRtn = iStore.ReduceStore(storeParam); if (storeRtn.Result != 0) { result.Result = 1; if (storeRtn.Result == 1) { result.LstNotEnough = new List <DGNotEnough>(); DGNotEnough notEnough = new DGNotEnough(); notEnough.DeptID = outHead.DeptID; notEnough.DrugID = outDeatils.DrugID; notEnough.LackAmount = outDeatils.Amount - storeRtn.StoreAmount; notEnough.DrugInfo = "药品批次号:" + outDeatils.BatchNO; result.LstNotEnough.Add(notEnough); result.ErrMsg = "【" + notEnough.DrugInfo + "】库存不足"; } else { result.ErrMsg = "药品更新库存出错"; } return(result); } else { WriteAccount(outHead, outDeatils, storeRtn); } } if (outHead.BusiType == DGConstant.OP_DW_CIRCULATEOUT || outHead.BusiType == DGConstant.OP_DW_RETURNSTORE) { //流通出库业务和退库业务 var t = outHead.BusiType == DGConstant.OP_DW_CIRCULATEOUT ? DGConstant.OP_DS_CIRCULATEIN:DGConstant.OP_DS_RETURNSOTRE; DS_InstoreHead dshead = NewObject <DGBillConverter>().ConvertInFromDWOutHead(outHead, auditEmpID, auditEmpName, t); IDGBill iProcess = NewObject <DGBillFactory>().GetBillProcess(t); List <DS_InStoreDetail> dsInStore = NewObject <DGBillConverter>().ConvertInFromDwStoreDetail(headID); iProcess.SaveBill(dshead, dsInStore);//药房入库 Basic_SystemConfig config = NewObject <IDGDao>().GetDeptParameters(dshead.DeptID, "AutoAuditInstore"); if (config != null) { //药房是否需要审核 if (config.Value == "1") { result = iProcess.AuditBill(dshead.InHeadID, auditEmpID, auditEmpName); } } } return(result); }
public ServiceResponseData SaveBillFromApply() { string belongSys = requestData.GetData <string>(0); string busiType = requestData.GetData <string>(1); IDGBill iProcess = NewObject <DGBillFactory>().GetBillProcess(busiType); DGBillResult result = new DGBillResult(); DW_OutStoreHead head = requestData.GetData <DW_OutStoreHead>(2); List <DW_OutStoreDetail> details = requestData.GetData <List <DW_OutStoreDetail> >(3); List <int> deleteDetails = requestData.GetData <List <int> >(4); oleDb.BeginTransaction(); try { foreach (int detailID in deleteDetails) { NewObject <DW_OutStoreDetail>().delete(detailID); } iProcess.SaveBill(head, details); DS_ApplyHead applyHead = (DS_ApplyHead)NewObject <DS_ApplyHead>().getmodel(head.ApplyHeadId); applyHead.OutStoreHeadID = head.OutStoreHeadID; applyHead.AuditFlag = 1; applyHead.AuditEmpID = LoginUserInfo.EmpId; applyHead.AuditEmpName = LoginUserInfo.EmpName; applyHead.AuditTime = DateTime.Now; applyHead.save(); foreach (var s in details) { DS_ApplyDetail detailApply = NewObject <DS_ApplyDetail>().getlist <DS_ApplyDetail>("ApplyHeadId = " + applyHead.ApplyHeadID + " and DrugID=" + s.DrugID + " and BatchNO= '" + s.BatchNO + " '").FirstOrDefault(); if (detailApply != null) { detailApply.FactAmount = s.Amount; detailApply.save(); } } Basic_SystemConfig config = NewObject <IDGDao>().GetDeptParameters(head.DeptID, "AutoAuditOutStore"); if (config != null) { //是否配置需要审核 if (config.Value == "1") { result = iProcess.AuditBill(head.OutStoreHeadID, LoginUserInfo.EmpId, LoginUserInfo.EmpName, LoginUserInfo.WorkId); } } if (result.Result == 0) { oleDb.CommitTransaction(); } else { oleDb.RollbackTransaction(); } responseData.AddData(result); } catch (Exception error) { oleDb.RollbackTransaction(); responseData.AddData(false); responseData.AddData(error.Message); } return(responseData); }
public ServiceResponseData SaveBill() { string belongSys = requestData.GetData <string>(0); string busiType = requestData.GetData <string>(1); IDGBill iProcess = NewObject <DGBillFactory>().GetBillProcess(busiType); DGBillResult result = new DGBillResult(); if (belongSys == DGConstant.OP_DW_SYSTEM) { DW_OutStoreHead head = requestData.GetData <DW_OutStoreHead>(2); List <DW_OutStoreDetail> details = requestData.GetData <List <DW_OutStoreDetail> >(3); List <int> deleteDetails = requestData.GetData <List <int> >(4); //oleDb.BeginTransaction(); try { foreach (int detailID in deleteDetails) { NewObject <DW_OutStoreDetail>().delete(detailID); } iProcess.SaveBill(head, details); Basic_SystemConfig config = NewObject <IDGDao>().GetDeptParameters(head.DeptID, "AutoAuditOutStore"); if (config != null) { //是否配置需要审核 if (config.Value == "1") { result = iProcess.AuditBill(head.OutStoreHeadID, LoginUserInfo.EmpId, LoginUserInfo.EmpName, LoginUserInfo.WorkId); } } /*if (result.Result == 0) * { * oleDb.CommitTransaction(); * } * else * { * oleDb.RollbackTransaction(); * }*/ if (result.Result != 0) { throw new Exception(result.ErrMsg); } responseData.AddData(result); //oleDb.CommitTransaction(); //responseData.AddData(true); } catch (Exception error) { throw error; //oleDb.RollbackTransaction(); //responseData.AddData(false); //responseData.AddData(error.Message); } } else { //药房 DS_OutStoreHead head = requestData.GetData <DS_OutStoreHead>(2); List <DS_OutStoreDetail> details = requestData.GetData <List <DS_OutStoreDetail> >(3); List <int> deleteDetails = requestData.GetData <List <int> >(4); //oleDb.BeginTransaction(); try { foreach (int detailID in deleteDetails) { NewObject <DS_OutStoreDetail>().delete(detailID); } iProcess.SaveBill(head, details); Basic_SystemConfig config = NewObject <IDGDao>().GetDeptParameters(head.DeptID, "AutoAuditOutStore"); if (config != null) { //是否需要审核 if (config.Value == "1") { result = iProcess.AuditBill(head.OutStoreHeadID, LoginUserInfo.EmpId, LoginUserInfo.EmpName, LoginUserInfo.WorkId); } } /*if (result.Result == 0) * { * oleDb.CommitTransaction(); * } * else * { * oleDb.RollbackTransaction(); * }*/ if (result.Result != 0) { throw new Exception(result.ErrMsg); } responseData.AddData(result); } catch (Exception error) { throw error; //oleDb.RollbackTransaction(); //responseData.AddData(false); //responseData.AddData(error.Message); } } return(responseData); }
/// <summary> /// 取得药品参数 /// </summary> /// <returns>参数实体列表</returns> private List <Basic_SystemConfig> GetDrugParameters() { int deptId = Convert.ToInt32(lstDrugRoom.SelectedItems[0].Tag); Basic_SystemConfig model = new Basic_SystemConfig(); parameterList.Clear(); //加载通用参数 //发药模式 string pm014 = "0"; if (rd_jgfy.Checked) { pm014 = "0"; } if (rd_tlfy.Checked) { pm014 = "1"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "DispModel", ParaName = "发药模式", Value = pm014, DataType = 0, Prompt = string.Empty, Memo = "发药模式:0经管发药(不含频次、用法等);1临床发药(含频次、用法等)" }); //需要药房确认接收 string pm009 = "0"; if (ckb_receive.Checked) { pm009 = "1"; } else { pm009 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "NeedInstoreConfirm", ParaName = "是否需要药房确认接收", Value = pm009, DataType = 0, Prompt = string.Empty, Memo = "药品流通出库时是否需要药房确认接收。" }); //西药利润百分比 string pm015 = iip_xy.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "WMPricePercent", ParaName = "西药利润率", Value = pm015, DataType = 0, Prompt = string.Empty, Memo = "西药利润率(百分比)" }); //中成药利润百分比 string pm016 = iip_zcy.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "CPMPricePercent", ParaName = "中成药利润率", Value = pm016, DataType = 0, Prompt = string.Empty, Memo = "中成药利润率(百分比)" }); //中药利润百分比 string pm017 = iip_zcaoy.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "TCMPricePercent", ParaName = "中药利润率(百分比)", Value = pm017, DataType = 0, Prompt = string.Empty, Memo = "中药利润率(百分比)" }); //摆药单打印药品类型 string pm018 = "1"; if (rb_byqb.Checked) { pm018 = "0"; } if (rb_kfy.Checked) { pm018 = "1"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "PrintPutBillType", ParaName = "摆药单打印药品类型", Value = pm018, DataType = 0, Prompt = string.Empty, Memo = "摆药单打印药品类型:0全部类型;1口服药" }); //统领单打印药品类型 string pm019 = "1"; if (rb_tl_all.Checked) { pm019 = "0"; } if (rb_zj.Checked) { pm019 = "1"; } if (rb_zjdsy.Checked) { pm019 = "2"; } if (rb_dsy.Checked) { pm019 = "3"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = 0, ParaID = "PrintReceiveBillType", ParaName = "统领单打印药品类型", Value = pm019, DataType = 0, Prompt = string.Empty, Memo = "统领单打印药品类型:0全部;1针剂;2针剂+大输液;3仅打印大输液" }); //加载部门参数 //出库单自动审核 string pm021 = "0"; if (chk_out_chexk.Checked) { pm021 = "1"; } else { pm021 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "AutoAuditOutStore", ParaName = "出库单自动审核", Value = pm021, DataType = 0, Prompt = string.Empty, Memo = "出库单自动审核:0手动;1自动" }); //入库单自动审核 chk_input_check string pm020 = "0"; if (chk_input_check.Checked) { pm020 = "1"; } else { pm020 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "AutoAuditInstore", ParaName = "入库单自动审核", Value = pm020, DataType = 0, Prompt = string.Empty, Memo = "入库单自动审核:0手动;1自动" }); //月结时间为每月 iip_banlance_day string pm008 = iip_banlance_day.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "BalanceDay", ParaName = "默认月结时间", Value = pm008, DataType = 0, Prompt = string.Empty, Memo = "默认月结时间(每月多少号)" }); //强制控制库存 chk_qzkc string pm010 = "0"; if (chk_qzkc.Checked) { pm010 = "1"; } else { pm010 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "ControlStore", ParaName = "是否允许库存为负数", Value = pm010, DataType = 0, Prompt = string.Empty, Memo = "是否允许库存为负数:0不强制控制;1强制控制" }); //允许强制平账 chk_qzpz string pm011 = "1"; if (chk_qzpz.Checked) { pm011 = "1"; } else { pm011 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "AllowModifyAccount", ParaName = "允许强制平账", Value = pm011, DataType = 0, Prompt = string.Empty, Memo = "是否允许自动平账:0不允许;1允许" }); //月结前必须对账 chk_dz string pm012 = "0"; if (chk_dz.Checked) { pm012 = "1"; } else { pm012 = "0"; } parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "CheckAccountWhenBalance", ParaName = "月结前必须对账", Value = pm012, DataType = 0, Prompt = string.Empty, Memo = "月结时是否对账:0不对账;1对账" }); //对账误差范围 iip_wzfw string pm013 = iip_wzfw.Text; parameterList.Add(new Basic_SystemConfig() { SystemType = 3, DeptID = deptId, ParaID = "ErrorRange", ParaName = "对账误差范围", Value = pm013, DataType = 0, Prompt = string.Empty, Memo = "金额允许误差范围(0.1元为单位)" }); return(parameterList); }