SelectDressReservationQuerySmallForm.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. using LYFZ.ComponentLibrary;
  2. using LYFZ.Helper;
  3. using System;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Windows.Forms;
  12. namespace LYFZ.Software.MainBusiness.CameraControlBook.SmallForm
  13. {
  14. public partial class SelectDressReservationQuerySmallForm : LYFZ.Software.UI.CameraControlBook.SmallForm.SelectDressReservationQuerySmallForm
  15. {
  16. LYFZ.BLL.BLL_ErpOrderDigital dbll = new BLL.BLL_ErpOrderDigital();
  17. public SelectDressReservationQuerySmallForm()
  18. {
  19. this.Shown += SelectDressReservationQuerySmallForm_Shown;
  20. this.Load += SelectDressReservationQuerySmallForm_Load;
  21. this.cmbQueryText.KeyDown += cmbTextQuery_KeyDown;
  22. this.btnQuery.Click += btnQuery_Click;
  23. this.rdoAll.Click += rdoAll_Click;
  24. this.rdoNo.Click += rdoNo_Click;
  25. this.rdoOK.Click += rdoOK_Click;
  26. this.chkWedding.Click += chkWedding_Click;
  27. this.chkKids.Click += chkKids_Click;
  28. this.chkPortrait.Click += chkPortrait_Click;
  29. this.btnReservation.Click += btnReservation_Click;
  30. this.btnSameDate.Click += btnSameDate_Click;
  31. this.btnClose.Click += btnClose_Click;
  32. this.Resize += SelectDressReservationQuerySmallForm_Resize;
  33. this.dgvData.CellDoubleClick += dgvData_CellDoubleClick;
  34. this.dgvData.ColumnHeaderMouseClick += dgvData_ColumnHeaderMouseClick;
  35. this.dgvData.CellMouseDown += dgvData_CellMouseDown;
  36. }
  37. /// <summary>
  38. /// 是否保存
  39. /// </summary>
  40. public bool IsSaveed = false;
  41. /// <summary>
  42. /// 员工编号
  43. /// </summary>
  44. string StrUserID = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID;
  45. /// <summary>
  46. /// 窗体加载事件
  47. /// </summary>
  48. /// <param name="sender"></param>
  49. /// <param name="e"></param>
  50. void SelectDressReservationQuerySmallForm_Shown(object sender, EventArgs e)
  51. {
  52. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetSystemVersion(this.chkPortrait, this.chkWedding, this.chkKids);
  53. this.PublicFunctionRows();
  54. if (!LYFZ.BLL.BLL_ErpUser.GetRights(LYFZ.BLL.BLL_ErpUser.CurrentUserRights.CameraControlBook, LYFZ.CustomAttributes.OperatingAuthority.CameraControlBook_SelectDressClientAnPai))
  55. { this.btnSameDate.Enabled = false; }
  56. }
  57. /// <summary>
  58. /// 窗体加载事件
  59. /// </summary>
  60. /// <param name="sender"></param>
  61. /// <param name="e"></param>
  62. void SelectDressReservationQuerySmallForm_Load(object sender, EventArgs e)
  63. {
  64. if (this.dgvData.Columns.Count <= 0)
  65. {
  66. string strColumn = "订单号,订单类型,客户姓名,客户电话,客户性别,接单人,套系名称,套系价格,拍摄名称,选礼服状态,选礼服师,选礼服时间,安排人,安排时间";
  67. this.dgvData.DataColumns(strColumn, LYFZ.Software.MainBusiness.CommonLogical.CacheData.StrOrderReportHideField);
  68. }
  69. }
  70. /// <summary>
  71. /// 回车
  72. /// </summary>
  73. /// <param name="sender"></param>
  74. /// <param name="e"></param>
  75. void cmbTextQuery_KeyDown(object sender, KeyEventArgs e)
  76. {
  77. if (e.KeyCode == Keys.Enter)
  78. { this.btnQuery_Click(this, null); }
  79. }
  80. /// <summary>
  81. /// 查询
  82. /// </summary>
  83. /// <param name="sender"></param>
  84. /// <param name="e"></param>
  85. void btnQuery_Click(object sender, EventArgs e)
  86. { this.PublicFunctionRows(); }
  87. /// <summary>
  88. /// 全部
  89. /// </summary>
  90. /// <param name="sender"></param>
  91. /// <param name="e"></param>
  92. void rdoAll_Click(object sender, EventArgs e)
  93. {
  94. this.rdoNo.Checked = false;
  95. this.rdoOK.Checked = false;
  96. this.PublicFunctionRows();
  97. }
  98. /// <summary>
  99. /// 未拍
  100. /// </summary>
  101. /// <param name="sender"></param>
  102. /// <param name="e"></param>
  103. void rdoNo_Click(object sender, EventArgs e)
  104. {
  105. this.rdoAll.Checked = false;
  106. this.rdoOK.Checked = false;
  107. this.PublicFunctionRows();
  108. }
  109. /// <summary>
  110. /// 已选
  111. /// </summary>
  112. /// <param name="sender"></param>
  113. /// <param name="e"></param>
  114. void rdoOK_Click(object sender, EventArgs e)
  115. {
  116. this.rdoAll.Checked = false;
  117. this.rdoNo.Checked = false;
  118. this.PublicFunctionRows();
  119. }
  120. /// <summary>
  121. /// 婚纱版
  122. /// </summary>
  123. /// <param name="sender"></param>
  124. /// <param name="e"></param>
  125. void chkWedding_Click(object sender, EventArgs e)
  126. {
  127. if (this.chkWedding.Checked)
  128. { this.chkPortrait.Checked = false; this.chkKids.Checked = false; this.chkWedding.Checked = true; }
  129. this.PublicFunctionRows();
  130. }
  131. /// <summary>
  132. /// 儿童版
  133. /// </summary>
  134. /// <param name="sender"></param>
  135. /// <param name="e"></param>
  136. void chkKids_Click(object sender, EventArgs e)
  137. {
  138. if (this.chkKids.Checked)
  139. { this.chkPortrait.Checked = false; this.chkKids.Checked = true; this.chkWedding.Checked = false; }
  140. this.PublicFunctionRows();
  141. }
  142. /// <summary>
  143. /// 写真版
  144. /// </summary>
  145. /// <param name="sender"></param>
  146. /// <param name="e"></param>
  147. void chkPortrait_Click(object sender, EventArgs e)
  148. {
  149. if (this.chkPortrait.Checked)
  150. { this.chkPortrait.Checked = true; this.chkKids.Checked = false; this.chkWedding.Checked = false; }
  151. this.PublicFunctionRows();
  152. }
  153. /// <summary>
  154. /// 预约
  155. /// </summary>
  156. /// <param name="sender"></param>
  157. /// <param name="e"></param>
  158. void btnReservation_Click(object sender, EventArgs e)
  159. {
  160. if (this.dgvData.Rows.Count > 0)
  161. {
  162. if (this.dgvData.CurrentRow != null)
  163. {
  164. if (this.dgvData.CurrentRow.Index >= 0)
  165. {
  166. LYFZ.Software.MainBusiness.CameraControlBook.SmallForm.SelectDressReservationSmallForm frm = new SelectDressReservationSmallForm();
  167. frm.OrdViceNumber = this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  168. frm.ShowDialog();
  169. if (frm.IsSave)
  170. { this.IsSaveed = frm.IsSave; this.PublicFunctionRows(); }
  171. }
  172. else { MessageBoxCustom.Show("请选择你要安排的客人"); return; }
  173. }
  174. else { MessageBoxCustom.Show("请选择你要安排的客人"); return; }
  175. }
  176. }
  177. /// <summary>
  178. /// 同一日期
  179. /// </summary>
  180. /// <param name="sender"></param>
  181. /// <param name="e"></param>
  182. void btnSameDate_Click(object sender, EventArgs e)
  183. {
  184. if (this.dgvData.Rows.Count > 0)
  185. {
  186. if (this.dgvData.SelectedRows.Count > 1)
  187. {
  188. List<LYFZ.Model.Model_ErpOrderDigital> mlist = new List<Model.Model_ErpOrderDigital>();
  189. bool isFurn = false;
  190. string StrWhere = " Ordv_ViceNumber in (";
  191. for (int i = 0; i < this.dgvData.SelectedRows.Count; i++)
  192. {
  193. if (this.dgvData.SelectedRows[i].Visible)
  194. {
  195. StrWhere += "'" + this.dgvData.SelectedRows[i].Cells["Ordv_ViceNumber"].Value.ToString().Trim() + "',";
  196. isFurn = true;
  197. }
  198. }
  199. StrWhere = StrWhere.TrimEnd(',') + ")";
  200. System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(delegate()
  201. {
  202. mlist = dbll.GetModelList(strWhere: StrWhere);
  203. }));
  204. t.Start();
  205. LYFZ.Software.MainBusiness.CameraControlBook.SuperSmallForm.UnityArrangeWorkSuperSmallForm frm = new SuperSmallForm.UnityArrangeWorkSuperSmallForm();
  206. frm.UnityArrangeWorkType = LYFZ.EnumPublic.EnumUnityArrangeWorkType.选礼服客人;
  207. frm.ShowDialog();
  208. if (frm.IsSaveed)
  209. {
  210. string strName = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID;
  211. DateTime StrTime = SDateTime.Now;
  212. List<CommandInfo> clist = new List<CommandInfo>();
  213. if (MessageBoxCustom.Show("您确定要保存安排吗?", "温馨提示", MessageBoxButtons.YesNo) == DialogResult.No)
  214. { return; }
  215. while (isFurn)
  216. {
  217. if (mlist.Count > 0)
  218. { isFurn = false; }
  219. }
  220. for (int i = 0; i < this.dgvData.SelectedRows.Count; i++)
  221. {
  222. if (this.dgvData.SelectedRows[i].Visible)
  223. {
  224. for (int j = 0; j < mlist.Count; j++)
  225. {
  226. if (mlist[j].Ordv_ViceNumber.Trim() == this.dgvData.SelectedRows[i].Cells["Ordv_ViceNumber"].Value.ToString().Trim())
  227. {
  228. LYFZ.Model.Model_ErpOrderDigital model = mlist[j];
  229. //LYFZ.Model.Model_ErpOrderDigital model = dbll.GetModel("Ordv_ViceNumber", this.dgvData.SelectedRows[i].Cells["Ordv_ViceNumber"].Value.ToString().Trim());
  230. if (frm.UnityArrangeWorkModel.IsDateTime)
  231. {
  232. this.dgvData.SelectedRows[i].Cells["选礼服时间"].Value = frm.UnityArrangeWorkModel.StrDateTime;
  233. model.Ordv_ReservationClothingTime = Convert.ToDateTime(frm.UnityArrangeWorkModel.StrDateTime);
  234. }
  235. if (frm.UnityArrangeWorkModel.IsClothingName)
  236. {
  237. this.dgvData.SelectedRows[i].Cells["选礼服师"].Value = frm.UnityArrangeWorkModel.ClothingName;
  238. model.Ordv_ReservationClothingName = frm.UnityArrangeWorkModel.ClothingTag;
  239. }
  240. model.Ordv_ClothingDispatcher = strName;
  241. model.Ordv_ClothingDispatchTime = StrTime;
  242. model.Ordv_UpdateDateTime = StrTime;
  243. model.Ordv_UpdateName = strName;
  244. clist.Add(dbll.GetUpdateCommandInfo(model));
  245. mlist.RemoveAt(j);
  246. break;
  247. }
  248. }
  249. }
  250. }
  251. if (clist.Count > 0)
  252. {
  253. if (LYFZ.BLL.BaseBllOperate.ExecuteSqlTran(clist) > 0)
  254. { this.IsSaveed = true; MessageBoxCustom.Show("保存成功"); }
  255. else
  256. { MessageBoxCustom.Show("保存失败"); }
  257. }
  258. }
  259. }
  260. else
  261. { MessageBoxCustom.Show("请选择多条数据进行安排"); return; }
  262. }
  263. }
  264. /// <summary>
  265. /// 关闭
  266. /// </summary>
  267. /// <param name="sender"></param>
  268. /// <param name="e"></param>
  269. void btnClose_Click(object sender, EventArgs e)
  270. { this.Close(); }
  271. /// <summary>
  272. /// 窗体大小发生变化
  273. /// </summary>
  274. /// <param name="sender"></param>
  275. /// <param name="e"></param>
  276. void SelectDressReservationQuerySmallForm_Resize(object sender, EventArgs e)
  277. {
  278. switch (this.panelPortrait.Location.Y)
  279. {
  280. case 3: this.flowLayoutPanel1.Height = 36; break;
  281. case 37: this.flowLayoutPanel1.Height = 70; break;
  282. }
  283. }
  284. /// <summary>
  285. /// 数据列表双击事件
  286. /// </summary>
  287. /// <param name="sender"></param>
  288. /// <param name="e"></param>
  289. void dgvData_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  290. {
  291. if (this.dgvData.Rows.Count > 0)
  292. {
  293. if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
  294. { this.btnReservation_Click(null, null); }
  295. }
  296. }
  297. /// <summary>
  298. /// 右键菜单
  299. /// </summary>
  300. /// <param name="sender"></param>
  301. /// <param name="e"></param>
  302. void dgvData_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
  303. {
  304. if (e.Button == MouseButtons.Right)
  305. {
  306. if (e.RowIndex == -1)
  307. {
  308. this.dgvData.conMenu.Items.Clear();
  309. ToolStripMenuItem item = new ToolStripMenuItem();
  310. item.Text = "设置标题";
  311. item.Tag = "SetColumnShow";
  312. item.Name = "SetColumnShow";
  313. this.dgvData.conMenu.Items.Add(item);
  314. // this.dgvData.conMenu.Show(MousePosition.X, MousePosition.Y);//弹出操作菜单
  315. this.dgvData.conMenu.ItemClicked -= dgvData_DataGridViewConMenu_ItemClicked;
  316. this.dgvData.conMenu.ItemClicked += dgvData_DataGridViewConMenu_ItemClicked;
  317. // this.dgvData.conMenu.Show();
  318. }
  319. }
  320. }
  321. /// <summary>
  322. /// 右键菜单选择项事件
  323. /// </summary>
  324. /// <param name="sender"></param>
  325. /// <param name="e"></param>
  326. void dgvData_DataGridViewConMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  327. {
  328. ToolStripItem item = e.ClickedItem;
  329. if (item.Name.Trim() == "SetColumnShow")
  330. {
  331. if (LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.ShowDataGridViewSetColumn(this.dgvData, StrEnabled: "选礼服时间,选礼服师"))
  332. { this.PublicFunctionRows(); }
  333. }
  334. }
  335. /// <summary>
  336. /// 点击列标头排序
  337. /// </summary>
  338. /// <param name="sender"></param>
  339. /// <param name="e"></param>
  340. void dgvData_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  341. {
  342. if (e.Button == MouseButtons.Left)
  343. {
  344. string StrColumnName = this.dgvData.Columns[e.ColumnIndex].Name.Trim();
  345. if (StrColumnName == this.StrCurrentClickField || string.IsNullOrEmpty(this.StrCurrentClickField))
  346. {
  347. if (this.StrSortOrder == "ASC")
  348. { this.StrSortOrder = "DESC"; }
  349. else
  350. { this.StrSortOrder = "ASC"; }
  351. }
  352. else
  353. { this.StrSortOrder = "DESC"; }
  354. if (!StrColumnName.Equals("订单号"))//this.dgvData.StrValueNullColumn.Trim().IndexOf(StrColumnName) == -1)
  355. { this.StrSortField = StrColumnName + " " + this.StrSortOrder + ",Ord_CreateDateTime,Ordv_DigitalNumber"; }
  356. else
  357. { this.StrSortField = "Ord_CreateDateTime " + this.StrSortOrder + ",Ordv_DigitalNumber"; }
  358. this.StrCurrentClickField = StrColumnName;
  359. this.PublicFunctionRows();
  360. }
  361. }
  362. /// <summary>
  363. /// 当前点击的字段
  364. /// </summary>
  365. string StrCurrentClickField = "";
  366. /// <summary>
  367. /// 排序字段
  368. /// </summary>
  369. string StrSortField = "Ord_CreateDateTime ASC,Ordv_DigitalNumber";
  370. /// <summary>
  371. /// 排序顺序
  372. /// </summary>
  373. string StrSortOrder = "ASC";
  374. /// <summary>
  375. /// 创建行
  376. /// </summary>
  377. void PublicFunctionRows()
  378. {
  379. this.dgvData.dgvCurrentColumnOriginalSet = "Ord_Number,Ordv_ViceNumber,订单号,客户姓名,客户性别,客户电话,订单类型,接单人,套系名称,套系价格,婚期,拍摄名称,选礼服状态,选礼服师,选礼服时间,安排人员,安排时间";
  380. string StrGuidName = LYFZ.EnumPublic.dgvGuidName.E_FormAll_A0031.ToString().Trim();
  381. this.dgvData.dgvFixedHideColumn = "Ord_Number,Ordv_ViceNumber";
  382. this.dgvData.dgvGuidName = StrGuidName;
  383. this.dgvData.dgvUserEmployeeID = this.StrUserID;
  384. this.dgvData.StrValueNullColumn = "订单号,客户姓名,客户性别,客户电话,订单类型,接单人,套系名称,套系价格,婚期";
  385. Dictionary<string, string> dictColumns = LYFZ.DAL.DAL_GridViewDisplayIndex.GetGridViewShowColumns(this.StrUserID, StrGuidName, this.dgvData.dgvCurrentColumnOriginalSet);
  386. this.dgvData.dictShowColumName = dictColumns;
  387. string StrQueryCondition = this.GetWhereStr();
  388. int intTopCount = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.GetPageSize();
  389. Hashtable htData = LYFZ.ComponentLibrary.DataGridOrderView.GetData_CameraControlBookSelectDressNot(this.dgvData, dictColumns, StrQueryCondition, intTopCount, this.StrSortField);
  390. this.dataGridViewStatisticsCount1.CurrenQuantity = Convert.ToInt32(htData["CurrentCount"]);
  391. this.dataGridViewStatisticsCount1.TotalQuantity = Convert.ToInt32(htData["TotalCount"]);
  392. }
  393. /// <summary>
  394. /// 返回要操作的条件
  395. /// </summary>
  396. /// <returns></returns>
  397. string GetWhereStr()
  398. {
  399. string StrWhere = " Where 1 = 1 " + LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetQueryTextQueryCondition(this.cmbQueryText.Text.Trim());
  400. if (this.rdoNo.Checked)
  401. { StrWhere += " and Ordv_ClothingStatus = '0'"; }
  402. if (this.rdoOK.Checked)
  403. { StrWhere += " and Ordv_ClothingStatus = '1'"; }
  404. StrWhere += LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetVersionQuerySQL(this.chkPortrait, this.chkWedding, this.chkKids);
  405. return StrWhere;
  406. }
  407. }
  408. }