FrmPayment.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. namespace LYFZ.Software.MainBusiness.Dresses.DressManagement.Rental
  11. {
  12. public partial class FrmPayment : LYFZ.Software.UI.Dresses.DressManagement.Rental.FrmPayment
  13. {
  14. LYFZ.BLL.BLL_ErpOrder orbll = new BLL.BLL_ErpOrder();
  15. LYFZ.BLL.BLL_ErpPayment paybll = new BLL.BLL_ErpPayment();
  16. LYFZ.BLL.BLL_ErpDressSaleRentalOrder dsrobll = new BLL.BLL_ErpDressSaleRentalOrder();
  17. LYFZ.BLL.BLL_ErpDressDepositReceivables ddrbll = new BLL.BLL_ErpDressDepositReceivables();
  18. public FrmPayment()
  19. {
  20. }
  21. /// <summary>
  22. /// 订单号
  23. /// </summary>
  24. public string StrOrderNumber;
  25. /// <summary>
  26. /// 是否保存
  27. /// </summary>
  28. public bool IsSaveed = false;
  29. /// <summary>
  30. /// 登录者姓名
  31. /// </summary>
  32. string StrUserName = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_Name;
  33. /// <summary>
  34. /// 登录者ID
  35. /// </summary>
  36. string StrUserID = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID;
  37. /// <summary>
  38. /// 订单类型
  39. /// </summary>
  40. string OrderType;
  41. public string guid = "";
  42. LYFZ.BLL.MemberCardPaymentModel modelpm = null;
  43. /// <summary>
  44. /// 窗体加载事件
  45. /// </summary>
  46. /// <param name="sender"></param>
  47. /// <param name="e"></param>
  48. protected override void FrmPayment_Shown(object sender, EventArgs e)
  49. {
  50. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.HidePhoneControls(this.txtTsorder_Telephone);
  51. this.btnDelete.Enabled = LYFZ.BLL.BLL_ErpUser.GetRights(LYFZ.BLL.BLL_ErpUser.CurrentUserRights.DressManagement, CustomAttributes.OperatingAuthority.Delete);
  52. DataTable dt = orbll.GetView_Custom("BView_DressOrderReport", StrWhere: "订单号 = '" + this.StrOrderNumber + "'", ShowColumnName: "*").Tables[0];
  53. if (dt.Rows.Count > 0)
  54. {
  55. this.txtCope.Text = dt.Rows[0]["应付金额"].ToString().Trim();
  56. this.txtPaid.Text = dt.Rows[0]["已付金额"].ToString().Trim();
  57. this.txtArrears.Text = dt.Rows[0]["欠款金额"].ToString().Trim();
  58. this.txtDsro_MortgageAmount.Text = (Convert.ToDecimal(dt.Rows[0]["应收押金"]) - Convert.ToDecimal(dt.Rows[0]["已收押金"])).ToString();
  59. this.txtTsorder_Number.Text = this.StrOrderNumber;
  60. this.txtTsorder_CustomerName.Text = dt.Rows[0]["客户姓名"].ToString().Trim();
  61. this.txtTsorder_Telephone.Text = dt.Rows[0]["客户电话"].ToString().Trim();
  62. this.OrderType = dt.Rows[0]["订单类型"].ToString().Trim();
  63. if (this.OrderType == "出售")
  64. {
  65. this.txtTsorder_Name.Text = "礼服出售";
  66. this.lblDsro_MortgageAmount.Visible = false;
  67. this.txtDsro_MortgageAmount.Visible = false;
  68. this.lblType.Visible = false;
  69. this.cmbType.Visible = false;
  70. }
  71. else
  72. { this.txtTsorder_Name.Text = "礼服出租"; }
  73. // 获取收款详情
  74. this.txtPay_ThePayee.Text = this.StrUserName;
  75. this.txtPay_CreateDatetime.Text = SDateTime.Now.ToString("yyyy-MM-dd");
  76. }
  77. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_PaymentMethod(this.cmbPay_PaymentMethod, StrWhere: " ");
  78. this.cmbPay_PaymentMethod.ComboBoxTree_NodeMouseClick += CmbPay_PaymentMethod_ComboBoxTree_NodeMouseClick;
  79. this.PublicFunctionRows();
  80. }
  81. private void CmbPay_PaymentMethod_ComboBoxTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
  82. {
  83. if (cmbType.Text != "押金")
  84. {
  85. guid = Guid.NewGuid().ToString().Replace("-", "").ToUpper();
  86. if (this.cmbPay_PaymentMethod.Text != "")
  87. {
  88. if (this.cmbPay_PaymentMethod.Tag.ToString() == "BEBACCAFEGECFBJFD")
  89. {
  90. if (!string.IsNullOrEmpty(this.txtPay_AmountOf.Text))
  91. {
  92. LYFZ.Software.MainBusiness.DoorCityProcess.SuperSmallForm.MemberCardDeductAmountSuperSmallForm frm = new DoorCityProcess.SuperSmallForm.MemberCardDeductAmountSuperSmallForm();
  93. frm.strOrdNumber = StrOrderNumber;//订单编号
  94. frm.PaymentAmount = Convert.ToDecimal(txtPay_AmountOf.Text);//支付金额
  95. frm.StrReturnType = "clist";
  96. frm.ShowDialog();
  97. if (frm.IsSaveed)
  98. {
  99. modelpm = frm.model;
  100. this.btnSave_Click(this, null);
  101. }
  102. else
  103. { this.cmbPay_PaymentMethod.SetTextAndTag_ValueNull(); }
  104. }
  105. else
  106. { this.cmbPay_PaymentMethod.SetTextAndTag_ValueNull(); MessageBoxCustom.Show("请输入金额!"); }
  107. }
  108. else
  109. { modelpm = null; }
  110. }
  111. }
  112. else if (this.cmbPay_PaymentMethod.Tag.ToString() == "BEBACCAFEGECFBJFD")
  113. {
  114. this.cmbPay_PaymentMethod.SetTextAndTag_ValueNull(); MessageBoxCustom.Show("押金不能通过储值卡扣款支付!");
  115. }
  116. }
  117. /// <summary>
  118. /// 全部历史收款
  119. /// </summary>
  120. public void PublicFunctionRows()
  121. {
  122. this.dgv.Rows.Clear();
  123. string StrTableName = "(select tb_ErpPayment.ID," +
  124. "Pay_OrdNumber AS 订单号," +
  125. "(case when Dsro_Type = '0' then '租金' else '出售' end) AS 收款类型," +
  126. "Pay_AmountOf AS 收款金额," +
  127. "Pay_ReceivableProject AS 收款项目," +
  128. "dbo.fn_CheckDateTime(Pay_CreateDatetime) AS 收款时间," +
  129. "tb_OrderPerson.User_Name AS 接单人," +
  130. "tb_Payee.User_Name AS 收款人," +
  131. "(case when Sc_ClassName is null then Pay_PaymentMethod else Sc_ClassName end) AS 付款方式," +
  132. "Pay_Remark AS 收款备注 " +
  133. "FROM tb_ErpPayment " +
  134. "Left Join tb_ErpUser AS tb_Payee on tb_Payee.User_EmployeeID = Pay_ThePayee " +
  135. "Left Join tb_ErpUser AS tb_OrderPerson on tb_OrderPerson.User_EmployeeID = Pay_OpenSingle " +
  136. "Left Join tb_ErpSystemCategory on Sc_ClassCode = Pay_PaymentMethod " +
  137. "Left Join tb_ErpDressSaleRentalOrder on Pay_OrdNumber = Dsro_Number " +
  138. "UNION ALL " +
  139. "select tb_ErpDressDepositReceivables.ID," +
  140. "DDR_Number AS 订单号," +
  141. "'押金' AS 收款类型," +
  142. "DDR_Money AS 收款金额," +
  143. "DDR_ProjectTitle AS 收款项目," +
  144. "dbo.fn_CheckDateTime(DRR_CreateDatetime) AS 收款时间," +
  145. "User_Name AS 接单人," +
  146. "User_Name AS 收款人," +
  147. "(case when Sc_ClassName is null then DDR_Payments else Sc_ClassName end) AS 付款方式," +
  148. "DRR_Remark AS 收款备注 " +
  149. "from tb_ErpDressDepositReceivables " +
  150. "Left Join tb_ErpUser on User_EmployeeID = DRR_CreateName " +
  151. "Left Join tb_ErpSystemCategory on Sc_ClassCode = DDR_Payments) AS tb";
  152. DataTable dt = orbll.GetView_Custom(StrTableName, StrWhere: "订单号 = '" + this.StrOrderNumber + "'", ShowColumnName: "ID,收款类型,收款金额,收款项目,收款时间,接单人,收款人,付款方式,收款备注").Tables[0];
  153. for (int i = 0; i < dt.Rows.Count; i++)
  154. {
  155. DataGridViewRow dgvr = new DataGridViewRow();
  156. DataGridViewCell cell = null;
  157. for (int j = 0; j < dt.Columns.Count; j++)
  158. {
  159. cell = new DataGridViewTextBoxCell();
  160. cell.Value = dt.Rows[i][j].ToString();
  161. dgvr.Cells.Add(cell);
  162. }
  163. this.dgv.Rows.Add(dgvr);
  164. }
  165. this.dgv.ClearSelection();
  166. }
  167. /// <summary>
  168. /// 时间控件
  169. /// </summary>
  170. /// <param name="sender"></param>
  171. /// <param name="e"></param>
  172. protected override void txtPay_CreateDatetime_Enter(object sender, EventArgs e)
  173. {
  174. if (this.txtPay_CreateDatetime.Text == "")
  175. { this.txtPay_CreateDatetime.Text = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.GetServerDateTime().ToString("yyyy-MM-dd"); }
  176. }
  177. /// <summary>
  178. /// 时间控件
  179. /// </summary>
  180. /// <param name="sender"></param>
  181. /// <param name="e"></param>
  182. protected override void txtPay_CreateDatetime_Leave(object sender, EventArgs e)
  183. {
  184. if (this.txtPay_CreateDatetime.Text.Trim() != "")
  185. {
  186. if (LYFZ.Command.Command_Validate.IsDateTime(this.txtPay_CreateDatetime.Text.Trim()) == false)
  187. {
  188. this.txtPay_CreateDatetime.Text = "";
  189. MessageBoxCustom.Show("收款时间格式输入错误");
  190. }
  191. }
  192. }
  193. /// <summary>
  194. /// 输入框设置
  195. /// </summary>
  196. /// <param name="sender"></param>
  197. /// <param name="e"></param>
  198. protected override void txtPay_AmountOf_KeyPress(object sender, KeyPressEventArgs e)
  199. {
  200. if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
  201. { e.Handled = true; }
  202. else if (Char.IsPunctuation(e.KeyChar))
  203. {
  204. if (e.KeyChar == '.')
  205. {
  206. if (((System.Windows.Forms.TextBox)sender).Text.LastIndexOf('.') != -1)
  207. { e.Handled = true; }
  208. }
  209. else if (e.KeyChar == '-')
  210. {
  211. if (txtPay_AmountOf.Text != "")
  212. {
  213. e.Handled = true;
  214. }
  215. }
  216. else
  217. { e.Handled = true; }
  218. }
  219. }
  220. /// <summary>
  221. /// 支付方式设置
  222. /// </summary>
  223. /// <param name="sender"></param>
  224. /// <param name="e"></param>
  225. protected override void btnSet_Click(object sender, EventArgs e)
  226. {
  227. LYFZ.Software.MainBusiness.InitialSet.FrmSystemSet set = new InitialSet.FrmSystemSet();
  228. set.TypeName = "BEBACCAFCCEAGAIHH";
  229. set.Version = "Version";
  230. if (set.ShowDialog() == DialogResult.OK)
  231. { LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_PaymentMethod(this.cmbPay_PaymentMethod, StrWhere: "Sc_ClassCode!='BEBACCAFEGECFBJFD'"); }
  232. }
  233. /// <summary>
  234. /// 修改时间
  235. /// </summary>
  236. /// <param name="sender"></param>
  237. /// <param name="e"></param>
  238. protected override void btnUpdateTime_Click(object sender, EventArgs e)
  239. {
  240. if (LYFZ.BLL.BLL_ErpUser.GetRights(LYFZ.BLL.BLL_ErpUser.CurrentUserRights.DressManagement, CustomAttributes.OperatingAuthority.UpdatePaymentTime))
  241. { this.txtPay_CreateDatetime.Enabled = true; }
  242. else
  243. {
  244. LYFZ.Software.MainBusiness.DoorCityProcess.SuperSmallForm.AuthorizeLoginSuperSmallForm frm = new DoorCityProcess.SuperSmallForm.AuthorizeLoginSuperSmallForm("DressManagement", CustomAttributes.OperatingAuthority.UpdatePaymentTime);
  245. if (frm.ShowDialog() == DialogResult.OK)
  246. {
  247. if (LYFZ.BLL.BLL_ErpUser.GetRights(frm.CurrentAuthorizeUserRights.DressManagement, CustomAttributes.OperatingAuthority.UpdatePaymentTime, frm.User_BelongRoles))
  248. {
  249. frm.SetAuthorizationResult();
  250. this.txtPay_CreateDatetime.Enabled = true; }
  251. else {
  252. frm.SetAuthorizationResult(String.Format("授权失败,授权人没有'{0}'权限", LYFZ.Software.MainBusiness.DoorCityProcess.SuperSmallForm.AuthorizeLoginSuperSmallForm.ConvertEnumToDescription(CustomAttributes.OperatingAuthority.UpdatePaymentTime).ToString()));
  253. }
  254. }
  255. }
  256. }
  257. /// <summary>
  258. /// 保存
  259. /// </summary>
  260. /// <param name="sender"></param>
  261. /// <param name="e"></param>
  262. protected override void btnSave_Click(object sender, EventArgs e)
  263. {
  264. try
  265. {
  266. #region 判断不能为空
  267. if (string.IsNullOrEmpty(this.txtTsorder_Number.Text.Trim()))
  268. { MessageBoxCustom.Show("订单单号不能为空!"); return; }
  269. if (this.OrderType != "出售")
  270. {
  271. if (string.IsNullOrEmpty(this.cmbType.Text.Trim()))
  272. { MessageBoxCustom.Show("收款类型不能为空!"); return; }
  273. }
  274. if (string.IsNullOrEmpty(this.txtPay_AmountOf.Text.Trim()))
  275. { MessageBoxCustom.Show("收款" + this.cmbType.Text.Trim() + "不能为空!"); return; }
  276. //if (Convert.ToDecimal(this.txtPay_AmountOf.Text.Trim()) == 0)
  277. //{ MessageBoxCustom.Show("收款" + this.cmbType.Text.Trim() + "不能为0!"); return; }
  278. if (string.IsNullOrEmpty(this.cmbPay_PaymentMethod.Text.Trim()))
  279. { MessageBoxCustom.Show("支付方式不能为空!"); return; }
  280. if (string.IsNullOrEmpty(this.txtPay_ThePayee.Text.Trim()))
  281. { MessageBoxCustom.Show("收款人不能为空!"); return; }
  282. if (string.IsNullOrEmpty(this.txtPay_CreateDatetime.DateValue.Trim()))
  283. { MessageBoxCustom.Show("收款时间不能为空!"); return; }
  284. #endregion
  285. #region 2017-03-24 杨云奕 添加 判断是否接入微信支付宝的接口
  286. LYFZ.Software.MainBusiness.FinancialManagement.FinancialPayApiControl PayApi = new LYFZ.Software.MainBusiness.FinancialManagement.FinancialPayApiControl();
  287. int intCode = PayApi.PayApiControl(this.txtTsorder_Number.Text, this.cmbPay_PaymentMethod.Text.Trim(), Convert.ToDecimal(this.txtPay_AmountOf.Text));
  288. string serialnumber = "";
  289. if (intCode == 1)
  290. {
  291. serialnumber = PayApi.SerialNumber;
  292. }
  293. else if (intCode == -1)
  294. {
  295. //MessageBoxCustom.Show("取消微信刷卡支付,保存取消");
  296. return;
  297. }
  298. #endregion
  299. #region 保存
  300. List<Helper.CommandInfo> clist = new List<Helper.CommandInfo>();
  301. bool IsFind = false;
  302. if (this.OrderType != "出售")
  303. {
  304. if (this.cmbType.Text == "押金")
  305. {
  306. IsFind = true;
  307. LYFZ.Model.Model_ErpDressDepositReceivables modelDeposit = new Model.Model_ErpDressDepositReceivables();
  308. modelDeposit.DDR_DividedShop = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.GetLocalCompanyInfoID();
  309. modelDeposit.DDR_Money = Convert.ToDecimal(txtPay_AmountOf.Text.ToString());
  310. modelDeposit.DDR_DepositAmountAudit = "";
  311. modelDeposit.DDR_DepositAmountAuditName = "";
  312. modelDeposit.DDR_DepositAmountAuditRemark = "";
  313. modelDeposit.DDR_Number = this.txtTsorder_Number.Text;
  314. modelDeposit.DDR_PaymentMethod = this.cmbPay_PaymentMethod.Tag.ToString().Trim();
  315. modelDeposit.DDR_Payments = this.cmbPay_PaymentMethod.Text.ToString();
  316. modelDeposit.DDR_ProjectTitle = this.txtTsorder_Name.Text;
  317. modelDeposit.DRR_Remark = this.txtPay_Remark.Text;
  318. modelDeposit.DRR_CreateDatetime = Convert.ToDateTime(this.txtPay_CreateDatetime.DateTimeValue.Trim());
  319. modelDeposit.DRR_CreateName = this.StrUserID;
  320. clist.Add(ddrbll.GetAddCommandInfo(modelDeposit));
  321. MessageBoxCustom.Show("保存成功!");
  322. }
  323. }
  324. if (!IsFind)
  325. {
  326. DataTable dt = orbll.GetView_Custom("tb_ErpDressSaleRentalOrder", StrWhere: "Dsro_Number='" + this.StrOrderNumber + "'", ShowColumnName: "Dsro_CreateName").Tables[0];
  327. LYFZ.Model.Model_ErpPayment model = new Model.Model_ErpPayment();
  328. model.pay_SerialNumber = serialnumber;
  329. model.Pay_DividedShop = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.GetLocalCompanyInfoID();
  330. model.Pay_OrdNumber = this.txtTsorder_Number.Text.Trim();
  331. model.Pay_ViceNumber = "";
  332. model.Pay_AmountOf = Convert.ToDecimal(this.txtPay_AmountOf.Text);
  333. model.Pay_OpenSingle = dt.Rows[0]["Dsro_CreateName"].ToString();
  334. model.Pay_ThePayee = this.StrUserID;
  335. model.Pay_PaymentMethod = this.cmbPay_PaymentMethod.Tag.ToString();
  336. model.Pay_OrdersLocation = "";
  337. model.Pay_ReceivableProject = this.txtTsorder_Name.Text;
  338. model.Pay_Remark = this.txtPay_Remark.Text;
  339. model.Pay_CreateDatetime = Convert.ToDateTime(this.txtPay_CreateDatetime.DateTimeValue.Trim());
  340. model.Pay_Category = "后期收款";
  341. if (modelpm == null)
  342. {
  343. modelpm = new BLL.MemberCardPaymentModel();
  344. modelpm.PaymentAmount = Convert.ToDecimal(this.txtPay_AmountOf.Text);
  345. modelpm.RechargeDiscount = 0;
  346. modelpm.DiscountAmount = 0;
  347. modelpm.StrOrdNumber = this.StrOrderNumber;
  348. modelpm.StrPaymentMethod = "其他";
  349. modelpm.StrReturnType = "clist";
  350. }
  351. //if (modelpm.RechargeDiscount>0)
  352. //{
  353. // model.Pay_AmountOf = model.Pay_AmountOf * modelpm.RechargeDiscount;
  354. //}
  355. //if (modelpm.PaymentAmount != model.Pay_AmountOf)
  356. //{
  357. // MessageBoxCustom.Show("储值卡扣款金额:“" + modelpm.PaymentAmount + "”和订单收款金额:“" + model.Pay_AmountOf + "”不一致,请重新收款!");
  358. // cmbPay_PaymentMethod.Text = "";
  359. // return;
  360. //}
  361. model.Pay_PaymentDiscount = modelpm.RechargeDiscount;
  362. model.Pay_DiscountAmount = modelpm.DiscountAmount;
  363. model.Pay_McNumber = modelpm.StrCardNumber;
  364. model.Pay_Type = 2;
  365. clist.Add(paybll.GetAddCommandInfo(model));
  366. }
  367. if (clist.Count > 0)
  368. {
  369. if (LYFZ.BLL.BaseBllOperate.ExecuteSqlTran(clist) > 0)
  370. {
  371. if (!IsFind)
  372. {
  373. #region 获取金额
  374. //应收款
  375. this.txtCope.Text = Convert.ToDecimal(this.txtCope.Text).ToString();
  376. //已付款
  377. decimal Paid = 0;
  378. DataTable DaPayment = paybll.GetSum(" Pay_OrdNumber='" + StrOrderNumber + "'").Tables[0];
  379. if (!string.IsNullOrEmpty(DaPayment.Rows[0]["Pay_AmountOf"].ToString()))
  380. { Paid = Convert.ToDecimal(DaPayment.Rows[0]["Pay_AmountOf"]); }
  381. this.txtPaid.Text = Paid.ToString();
  382. //欠款
  383. this.txtArrears.Text = (Convert.ToDecimal(this.txtCope.Text) - Convert.ToDecimal(Paid)).ToString();
  384. if (this.cmbType.Text == "押金")
  385. { this.txtDsro_MortgageAmount.Text = (Convert.ToDecimal(this.txtDsro_MortgageAmount.Text) - Convert.ToDecimal(this.txtPay_AmountOf.Text)).ToString(); }
  386. #endregion
  387. }
  388. MessageBoxCustom.Show("保存成功!");
  389. this.txtPay_AmountOf.Text = "";
  390. this.cmbPay_PaymentMethod.Text = "";
  391. this.txtPay_Remark.Text = "";
  392. this.IsSaveed = true;
  393. this.txtPay_CreateDatetime.Enabled = false;
  394. this.cmbType.Text = "";
  395. this.PublicFunctionRows();
  396. }
  397. else
  398. { MessageBoxCustom.Show("保存失败!"); }
  399. }
  400. #endregion
  401. }
  402. catch (Exception ex)
  403. { MessageBoxCustom.Show(ex.Message); }
  404. }
  405. /// <summary>
  406. /// 删除
  407. /// </summary>
  408. /// <param name="sender"></param>
  409. /// <param name="e"></param>
  410. protected override void btnDelete_Click(object sender, EventArgs e)
  411. {
  412. try
  413. {
  414. if (this.dgv.SelectedRows.Count == 0)
  415. { MessageBoxCustom.Show("请选中你要删除的数据!"); return; }
  416. if (MessageBoxCustom.Show("你确定要删除吗?", "删除提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
  417. {
  418. bool IsDelete = false;
  419. int StrID = Convert.ToInt32(this.dgv.CurrentRow.Cells["ID"].Value);
  420. if (this.dgv.CurrentRow.Cells["type"].Value.ToString() == "押金")
  421. {
  422. DataTable dt = ddrbll.GetList("ID=" + StrID + "").Tables[0];
  423. if (dt.Rows.Count > 0)
  424. {
  425. if (dt.Rows[0]["DDR_DepositAmountAudit"].ToString().Trim() == "已审核")
  426. { MessageBoxCustom.Show("收款已审核,不能删除!"); return; }
  427. }
  428. IsDelete = ddrbll.Delete(StrID);
  429. }
  430. else
  431. {
  432. DataTable dt = paybll.GetList("ID=" + StrID + "").Tables[0];
  433. if (dt.Rows.Count > 0)
  434. {
  435. if (dt.Rows[0]["Pay_FinancialAudit"].ToString().Trim() == "已审核")
  436. { MessageBoxCustom.Show("收款已审核,不能删除!"); return; }
  437. }
  438. IsDelete = paybll.Delete(StrID);
  439. }
  440. if (IsDelete)
  441. {
  442. #region 写入操作日志
  443. string logsContent = "删除订单号:" + StrOrderNumber;
  444. LYFZ.BLL.BLL_ErpSystemLogs.WriteSystemLog(LYFZ.EnumPublic.SystemLogsType.删除收款记录, logsContent, LYFZ.BLL.BLL_ErpUser.UsersModel.User_EmployeeID, LYFZ.BLL.BLL_ErpUser.UsersModel.User_Name);
  445. #endregion
  446. MessageBoxCustom.Show("删除成功!");
  447. #region 获取金额
  448. //应收款
  449. this.txtCope.Text = Convert.ToDecimal(this.txtCope.Text).ToString();
  450. //已付款
  451. decimal Paid = 0;
  452. DataTable DaPayment = paybll.GetSum(" Pay_OrdNumber='" + StrOrderNumber + "'").Tables[0];
  453. if (!string.IsNullOrEmpty(DaPayment.Rows[0]["Pay_AmountOf"].ToString()))
  454. { Paid = Convert.ToDecimal(DaPayment.Rows[0]["Pay_AmountOf"]); }
  455. this.txtPaid.Text = Paid.ToString();
  456. //欠款
  457. this.txtArrears.Text = (Convert.ToDecimal(this.txtCope.Text) - Convert.ToDecimal(Paid)).ToString();
  458. #endregion
  459. this.PublicFunctionRows();
  460. this.IsSaveed = true;
  461. }
  462. }
  463. }
  464. catch (Exception ex)
  465. { MessageBoxCustom.Show(ex.Message); }
  466. }
  467. /// <summary>
  468. /// 打印收据
  469. /// </summary>
  470. /// <param name="sender"></param>
  471. /// <param name="e"></param>
  472. protected override void btnHitSingle_Click(object sender, EventArgs e)
  473. {
  474. try
  475. {
  476. if (this.dgv.SelectedRows.Count == 0)
  477. {
  478. MessageBoxCustom.Show("请选择你要打印的数据!");
  479. return;
  480. }
  481. Hashtable htData = new Hashtable();
  482. htData["dgvData"] = this.dgv;
  483. htData["ordNumber"] = this.txtTsorder_Number.Text.Trim();
  484. htData["CustomerName"] = this.txtTsorder_CustomerName.Text.Trim();
  485. htData["Telephone"] = this.txtTsorder_Telephone.Text.Trim();
  486. htData["StrCope"] = this.txtCope.Text.Trim();
  487. htData["StrArrears"] = this.txtArrears.Text.Trim();
  488. if (this.txtDsro_MortgageAmount.Visible)
  489. {
  490. htData["StrDetain"] = this.txtDsro_MortgageAmount.Text.Trim();
  491. LYFZ.Software.MainBusiness.ReportPrint.ReportFixedFormat.PrintFixedFormat(LYFZ.EnumPublic.PrintTypeEnum.礼服出租收款, htData);
  492. }
  493. else
  494. { LYFZ.Software.MainBusiness.ReportPrint.ReportFixedFormat.PrintFixedFormat(LYFZ.EnumPublic.PrintTypeEnum.礼服出售收款, htData); }
  495. }
  496. catch (Exception ex)
  497. { MessageBoxCustom.Show(ex.Message); }
  498. }
  499. /// <summary>
  500. /// 选择收款类别
  501. /// </summary>
  502. /// <param name="sender"></param>
  503. /// <param name="e"></param>
  504. protected override void cmbType_SelectedValueChanged(object sender, EventArgs e)
  505. {
  506. if (!string.IsNullOrEmpty(this.cmbType.Text))
  507. {
  508. if (this.cmbType.Text == "押金")
  509. {
  510. this.txtPay_AmountOf.Text = this.txtDsro_MortgageAmount.Text.Trim();
  511. this.txtPay_AmountOf.ReadOnly = true;
  512. }
  513. else
  514. {
  515. this.txtPay_AmountOf.ReadOnly = false;
  516. this.txtPay_AmountOf.Text = txtArrears.Text.Trim();
  517. }
  518. }
  519. else
  520. {
  521. this.txtPay_AmountOf.ReadOnly = false;
  522. this.txtPay_AmountOf.Text = "";
  523. }
  524. }
  525. }
  526. }