FilmsSelectionReservationQuerySmallForm.cs 20 KB

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