RefinedRepairFormMain.cs 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325
  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 System.IO;
  11. using LYFZ.ComponentLibrary;
  12. using LYFZ.Helper;
  13. using LYFZ.Model;
  14. using System.Diagnostics;
  15. namespace LYFZ.Software.MainBusiness.DoorCityProcess
  16. {
  17. public partial class RefinedRepairFormMain : LYFZ.Software.UI.DoorCityProcess.RefinedRepairFormMain
  18. {
  19. LYFZ.BLL.BLL_ErpOrder obll = new BLL.BLL_ErpOrder();
  20. LYFZ.BLL.BLL_ErpSystemLogs slogbll = new BLL.BLL_ErpSystemLogs();
  21. LYFZ.BLL.BLL_ErpOrderDigital dbll = new LYFZ.BLL.BLL_ErpOrderDigital();
  22. LYFZ.BLL.BLL_ErpOrderDigitalStatus orsbll = new BLL.BLL_ErpOrderDigitalStatus();
  23. #region OSS云传片
  24. bool useOss = false;
  25. List<AliyunOssLibrary.Model.SimplifyBranch> listbranch = null;
  26. #endregion
  27. #region 2017-03-18 杨云奕 添加 获取门店配置的ftp情况
  28. BLL.BaseBLL.BaseBLL_FTPServiceUserAccount ftpbll = new BLL.BaseBLL.BaseBLL_FTPServiceUserAccount();
  29. DataSet ftpData;
  30. #endregion
  31. #region 2017-03-18 杨云奕 添加 如果有定义ftp则将上传功能显示
  32. /// <summary>
  33. /// 右键添加上传功能
  34. /// </summary>
  35. /// <param name="orNumber"></param>
  36. void BindContextMenu( DataGridViewRow dataGridViewRow )
  37. {
  38. #region 获取OSS信息;
  39. //if (LYFZ.Network.OssOperation.OssProcess.GetOssBranchList(LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.TcpClient.Client, out this.listbranch, ref this.useOss))
  40. if ( LYFZ.Network.OssOperation.OssProcess.GetOssStatus( LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.TcpClient.Client, ref this.useOss ) )
  41. {
  42. if ( this.useOss )
  43. {
  44. Network.OssOperation.OssProcess.GetOssBranchList( out this.listbranch, ref this.useOss );
  45. }
  46. }
  47. #endregion
  48. if ( this.useOss )
  49. {
  50. ToolStripMenuItem item = new ToolStripMenuItem();
  51. item.Text = "上传订单:" + dataGridViewRow.Cells["Ord_Number"].Value.ToString();
  52. item.Name = "UpFtp";
  53. item.Tag = dataGridViewRow;
  54. item.Click += item_Click;
  55. this.dgvData.conMenu.Items.Add( item );
  56. }
  57. else
  58. {
  59. if ( ftpData.Tables[0].Rows.Count > 0 )
  60. {
  61. ToolStripMenuItem item = new ToolStripMenuItem();
  62. item.Text = "上传订单:" + dataGridViewRow.Cells["Ord_Number"].Value.ToString();
  63. item.Name = "UpFtp";
  64. item.Tag = dataGridViewRow;
  65. item.Click += item_Click;
  66. //ToolStripMenuItem[] subItem = new ToolStripMenuItem[ftpData.Tables[0].Rows.Count];
  67. //for (int i = 0; i < ftpData.Tables[0].Rows.Count; i++)
  68. //{
  69. // DataRow dr = ftpData.Tables[0].Rows[i];
  70. // subItem[i] = new ToolStripMenuItem();
  71. // subItem[i].Text = "至" + dr["Company_Name"].ToString() + "(" + dr["FTP_Name"].ToString() + ")账户";
  72. // dataGridViewRow.Tag = dr;
  73. // subItem[i].Tag = dataGridViewRow;
  74. // subItem[i].Click += ToolStripMenuItem_Click;
  75. //}
  76. //item
  77. this.dgvData.conMenu.Items.AddRange( new ToolStripItem[] { item } );
  78. //List<ToolStripItem> dropDownList = new List<ToolStripItem>();
  79. //for (int i = 0; i < subItem.Length; i++)
  80. //{
  81. // dropDownList.Add(subItem[i]);
  82. //}
  83. //item.DropDownItems.AddRange(dropDownList.ToArray());
  84. }
  85. }
  86. }
  87. void item_Click( object sender, EventArgs e )
  88. {
  89. FTPUpFileForm ftpForm = new FTPUpFileForm();
  90. if ( this.useOss )
  91. {
  92. ftpForm.Text = "云传片";
  93. ftpForm.UseOss = true;
  94. ftpForm.ListBranch = this.listbranch;
  95. }
  96. DataGridViewRow dgvr = (DataGridViewRow)((ToolStripMenuItem)sender).Tag;
  97. LYFZ.BLL.BLL_ErpOrdersPhotography pbll = new BLL.BLL_ErpOrdersPhotography();
  98. //拍摄景点
  99. DataTable tbl = pbll.GetList( "Ordpg_Number='" + dgvr.Cells["Ord_Number"].Value.ToString() + "'" ).Tables[0];
  100. string _Type = dgvr.Cells["Ord_Type"].Value.ToString();
  101. string LoadType = "精修";
  102. string signName = "";
  103. string SightsName = "";
  104. if ( _Type == "1" )
  105. {
  106. if ( tbl.Rows.Count > 0 )
  107. {
  108. for ( int i = 0; i < tbl.Rows.Count; i++ )
  109. {
  110. SightsName += tbl.Rows[i]["Ordpg_Sights"].ToString() + ",";
  111. }
  112. }
  113. signName = SightsName.TrimEnd( ',' );
  114. }
  115. else if ( _Type != "1" )
  116. {
  117. if ( tbl.Rows.Count > 0 )
  118. {
  119. for ( int i = 0; i < tbl.Rows.Count; i++ )
  120. {
  121. SightsName += tbl.Rows[i]["Ordpg_Sights"].ToString() + (LoadType == "原片" ? "," : ",");
  122. }
  123. }
  124. signName = SightsName.TrimEnd( ',' );
  125. }
  126. else
  127. {
  128. signName = dgvr.Cells["拍摄名称"].Value.ToString();
  129. }
  130. string[] str = signName.Split( ',' );
  131. foreach ( var item in str )
  132. {
  133. CheckBoxEx cb = new CheckBoxEx();
  134. cb.Text = item;
  135. ftpForm.AddCheckBoxModel( cb );
  136. cb.Checked = true;
  137. }
  138. ftpForm.BindData( dgvr.Cells["Ord_Number"].Value.ToString(), dgvr.Cells["Ordv_ViceNumber"].Value.ToString(),
  139. _Type, "精修", "" );
  140. ftpForm.AddCheckBoxByFtpInfo( null );
  141. if ( ftpForm.ShowDialog() == System.Windows.Forms.DialogResult.OK )
  142. {
  143. }
  144. //throw new NotImplementedException();
  145. }
  146. /// <summary>
  147. /// 上传项点击事件
  148. /// </summary>
  149. /// <param name="sender"></param>
  150. /// <param name="e"></param>
  151. void ToolStripMenuItem_Click( object sender, EventArgs e )
  152. {
  153. FTPUpFileForm ftpForm = new FTPUpFileForm();
  154. DataGridViewRow dataRow = (DataGridViewRow)((ToolStripMenuItem)sender).Tag;
  155. bool findR = false;
  156. for ( int i = 0; i < this.dgvData.Rows.Count; i++ )
  157. {
  158. DataGridViewRow dgvr = this.dgvData.Rows[i];
  159. if ( this.dgvData.Rows[i].Cells["Ord_Number"].Value.ToString() == dataRow.Cells["Ord_Number"].Value.ToString() )
  160. {
  161. findR = true;
  162. }
  163. else
  164. {
  165. if ( findR )
  166. {
  167. break;
  168. }
  169. }
  170. if ( findR )
  171. {
  172. ftpForm.AddCheckBoxModel( new CheckBoxEx()
  173. {
  174. Text = this.dgvData.Rows[i].Cells["拍摄名称"].Value.ToString(),
  175. Tag = dataRow,
  176. Checked = (dataRow.Cells["拍摄名称"].Value.ToString() == this.dgvData.Rows[i].Cells["拍摄名称"].Value.ToString())
  177. } );
  178. }
  179. }
  180. DataRow dr = ((DataRow)dataRow.Tag);
  181. ftpForm.BindData( dataRow, "精修", dr["Company_Name"].ToString() + "(" + dr["FTP_Name"].ToString() + ")账户" );
  182. if ( ftpForm.ShowDialog() == System.Windows.Forms.DialogResult.OK )
  183. {
  184. }
  185. }
  186. #endregion
  187. public RefinedRepairFormMain()
  188. {
  189. this.Shown += RefinedRepairFormMain_Shown;
  190. this.Load += RefinedRepairFormMain_Load;
  191. this.cmbtreevStoreName.ComboBoxTree_NodeMouseClick += cmbtreevStoreName_ComboBoxTree_NodeMouseClick;
  192. this.cmbQueryText.KeyDown += cmbQueryText_KeyDown;
  193. this.btnQuery.Click += btnQuery_Click;
  194. this.btnHasSelectionNotRepair.Click += btnHasSelectionNotRepair_Click;
  195. this.btnConditionQuery.Click += btnConditionQuery_Click;
  196. this.btnExportSelectedGoodSlices.Click += btnExportSelectedGoodSlices_Click;
  197. this.btnImportRefinedRepairPiece.Click += btnImportRefinedRepairPiece_Click;
  198. this.btnExportRefinedPiece.Click += btnExportRefinedPiece_Click;
  199. this.btnViewRefinedPiece.Click += btnViewRefinedPiece_Click;
  200. this.btnOutSendRefineRepair.Click += btnOutSendRefineRepair_Click;
  201. this.dgvData.CellMouseDoubleClick += dgvData_CellMouseDoubleClick;
  202. this.dgvData.CellClick += dgvData_CellClick;
  203. this.dgvData.MouseDoubleClick += dgvData_MouseDoubleClick;
  204. this.btnClose.Click += btnClose_Click;
  205. this.chkDressVersion.Click += chkDressVersion_Click;
  206. this.chkKidsVersion.Click += chkKidsVersion_Click;
  207. this.chkPortraitVersion.Click += chkPortraitVersion_Click;
  208. this.Resize += RefinedRepairFormMain_Resize;
  209. this.dgvData.CellMouseDown += dgvData_CellMouseDown;
  210. this.dgvData.ColumnHeaderMouseClick += dgvData_ColumnHeaderMouseClick;
  211. this.flowLayoutPanel1.Height = 34;
  212. ///获取门店ftp账户
  213. ftpData = ftpbll.GetList2( "" );
  214. ucPagerEx1.EventPaging += ucPagerEx1_EventPaging;
  215. chkCompleteOrder.Click += ChkCompleteOrder_Click;
  216. this.btn_CusOssUpload.Click += Btn_CusOssUpload_Click;
  217. this.btn_CusOssUpload.Visible = false;
  218. this.btn_Refined.Click += Btn_Refined_Click;
  219. }
  220. private void Btn_Refined_Click(object sender, EventArgs e)
  221. {
  222. SuperSmallForm.RefinedRepairOutStatistics frmBll = new SuperSmallForm.RefinedRepairOutStatistics();
  223. frmBll.frmType = "精修";
  224. frmBll.ShowDialog();
  225. }
  226. /// <summary>
  227. /// 客照云传;
  228. /// </summary>
  229. /// <param name="sender"></param>
  230. /// <param name="e"></param>
  231. private void Btn_CusOssUpload_Click( object sender, EventArgs e )
  232. {
  233. LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod( delegate ( object obj, BackgroundWorker backgroundWorker )
  234. {
  235. backgroundWorker.ReportProgress( 0, "正在上传中,请稍等..." );
  236. // 选中行;
  237. if ( this.dgvData.SelectedRows.Count == 0 )
  238. {
  239. MessageBoxCustom.Show( "请选择要上传的客照" );
  240. return;
  241. }
  242. if ( !OssTask.frmOssTask.IsExistsEnterpriseID() )
  243. {
  244. MessageBoxCustom.Show( "未注册企业ID,请联系服务商注册" );
  245. return;
  246. }
  247. // 选择os type;
  248. /*OssTask.frmChooseOsType dlg = new OssTask.frmChooseOsType();
  249. if ( DialogResult.OK != dlg.ShowDialog() )
  250. {
  251. return;
  252. }*/
  253. // 选择第一行;
  254. DataGridViewRow row = this.dgvData.SelectedRows[0];
  255. // 订单号;
  256. string strOrderNumber = row.Cells["Ord_Number"].Value.ToString();
  257. // 订单类型;
  258. string strOrderType = row.Cells["订单类型"].Value.ToString();
  259. // 副订单号;
  260. string strViceOrderNumber = row.Cells["Ordv_ViceNumber"].Value.ToString();
  261. // 客户姓名;
  262. string strCusNames = row.Cells["客户姓名"].Value.ToString();
  263. // 客户性别;
  264. string strCusGenders = row.Cells["客户性别"].Value.ToString();
  265. // 客户电话;
  266. string strCusPhones = row.Cells["客户电话"].Value.ToString();
  267. // 相片类型;
  268. string strPhotosType = "精修";
  269. // 拍摄名称;
  270. string strScenery = "";
  271. if ( this.dgvData.CurrentRow.Cells["Ord_Type"].Value.ToString().Trim() == Convert.ToInt32( LYFZ.EnumPublic.OrderType.儿童订单 ).ToString().Trim() )
  272. {
  273. try
  274. {
  275. strScenery = this.dgvData.CurrentRow.Cells["拍摄名称"].Value.ToString().Trim();
  276. }
  277. catch { }
  278. }
  279. // 上传的相片;
  280. List<string> listPhotos = null;
  281. if ( !LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.UseBaiduShareUrl )
  282. {
  283. BLL.SelectPhotoHandling photoHandling = new BLL.SelectPhotoHandling( obll.GetModel( "Ord_Number", strOrderNumber ), dbll.GetModel( "Ordv_ViceNumber", strViceOrderNumber ) );
  284. listPhotos = photoHandling.GetSpecifyTypePhotoList( Model.Model_ErpOrder.DirectoryType.FineRetouch, BLL.SelectPhotoHandling.PhotoType.Original, strScenery );
  285. // 生成任务;
  286. if ( listPhotos == null || listPhotos.Count == 0 )
  287. {
  288. MessageBoxCustom.Show( "该订单没有相片,不生成任务" );
  289. return;
  290. }
  291. }
  292. /*if ( LYFZ.Software.MainBusiness.OssTask.frmOssTask.GenerateOssTaskEx(
  293. dlg.cb_baidu.Checked ? 2 : -1,
  294. dlg.dtp_expire.Value.ToString( "yyyy-MM-dd 00:00:00" ),
  295. Convert.ToInt32( dlg.dup_times.SelectedItem ),
  296. strOrderNumber, strOrderType, strCusNames, strCusGenders, strCusPhones, strPhotosType, strScenery, listPhotos ) )
  297. {
  298. MessageBoxCustom.Show( "任务生成成功!" );
  299. }*/
  300. OssTask.JsonOssTask jsonOssTask = LYFZ.Software.MainBusiness.OssTask.frmOssTask.GenerateOssTask(
  301. //dlg.cb_baidu.Checked ? 2 : -1,
  302. LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.UseBaiduShareUrl ? 2 : -1,
  303. //dlg.dtp_expire.Value.ToString( "yyyy-MM-dd 00:00:00" ),
  304. DateTime.Now.AddMonths( 1 ).ToString( "yyyy-MM-dd 00:00:00" ),
  305. //Convert.ToInt32( dlg.dup_times.SelectedItem ),
  306. 1,
  307. strOrderNumber, "子订单号", strOrderType, strCusNames, strCusGenders, strCusPhones, strPhotosType, strScenery, listPhotos );
  308. if ( jsonOssTask != null )
  309. {
  310. // 如果任务列表空,加载任务;
  311. //if ( OssTask.frmOssTask.IsTaskListNullOrEmpty() )
  312. /*{
  313. // 从服务器加载文件数据;
  314. List<string> listJson;
  315. if ( LYFZ.Network.PlatinumClientProcess.GetOssTaskInfoFromSvr( out listJson ) )
  316. {
  317. OssTask.frmOssTask.LoadOssTask2( listJson );
  318. }
  319. }*/
  320. // 是否存在;
  321. //if ( OssTask.frmOssTask.IsTaskExists( jsonOssTask ) )
  322. string strJson;
  323. if ( LYFZ.Network.PlatinumClientProcess.IsOssTaskInfoExists( jsonOssTask.TaskID, out strJson ) )
  324. {// 任务已存在;
  325. MessageBoxCustom.Show( "任务已存在, 若要重新上传, 请到服务端删除任务再上传!" );
  326. }
  327. else
  328. {// 新增任务;
  329. if ( LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.UseBaiduShareUrl )
  330. {
  331. LYFZ.Software.MainBusiness.OssTask.frmBaiduShareUrl frm = new OssTask.frmBaiduShareUrl();
  332. frm.ShowDialog();
  333. if ( frm.DialogResult == DialogResult.OK )
  334. {
  335. jsonOssTask.BaiduExtrCode = frm.tx_code.Text;
  336. jsonOssTask.BaiduShareUrl = frm.tx_url.Text;
  337. OssTask.frmOssTask.SendBaiduShare2WebSrv( jsonOssTask );
  338. }
  339. else
  340. {
  341. return;
  342. }
  343. }
  344. else
  345. {
  346. if ( OssTask.frmOssTask.SendOssTask2Svr( jsonOssTask ) )
  347. {
  348. OssTask.frmOssTask.PushTask( jsonOssTask );
  349. MessageBoxCustom.Show( "任务生成成功!" );
  350. }
  351. else
  352. {
  353. MessageBoxCustom.Show( "任务生成失败!" );
  354. }
  355. }
  356. }
  357. }
  358. } );
  359. }
  360. private void ChkCompleteOrder_Click( object sender, EventArgs e )
  361. {
  362. this.ucPagerEx1.PageCurrent = 1;
  363. ucPagerEx1.Bind();
  364. }
  365. int ucPagerEx1_EventPaging( UCPager.EventPagingArg e )
  366. {
  367. //pageData.PageSize = LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.ReportFormPageSize;
  368. this.ucPagerEx1.PageSize = LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.ReportFormPageSize;
  369. PublicFunctionRows();
  370. return ucPagerEx1.NMax;
  371. }
  372. public void BindPageData( int pageIndx, int pageSize, int totalCount )
  373. {
  374. ucPagerEx1.NMax = totalCount;
  375. ucPagerEx1.CurrentPageCount = (pageSize);
  376. ucPagerEx1.PageCurrent = pageIndx;
  377. }
  378. /// <summary>
  379. /// 订单号(用于开单处跳转过来)
  380. /// </summary>
  381. public string StrOrdNumber = "";
  382. /// <summary>
  383. /// 是否首次运行
  384. /// </summary>
  385. bool IsFirstRun = true;
  386. /// <summary>
  387. /// 查询条件
  388. /// </summary>
  389. private Dictionary<string, string> DictData = new Dictionary<string, string>();
  390. /// <summary>
  391. /// 员工编号
  392. /// </summary>
  393. string StrUserID = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID;
  394. /// <summary>
  395. /// 员工姓名
  396. /// </summary>
  397. string StrUserName = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_Name;
  398. /// <summary>
  399. /// 窗体加载事件
  400. /// </summary>
  401. /// <param name="sender"></param>
  402. /// <param name="e"></param>
  403. void RefinedRepairFormMain_Shown( object sender, EventArgs e )
  404. {
  405. ///保存意向订单的版本权限
  406. List<Control> hideControl = new List<Control>();
  407. //LYFZSS.SystemSpecterPossessed.ISystemSpecterPossessed.GetMySystemSpecter = LYFZSS.SystemSpecterType.SST_D;
  408. hideControl.Add( this.btnOutSendRefineRepair );
  409. LYFZ.Software.MainBusiness.VersionControl.StaticVersion.BindVersionShowHideControl(
  410. VersionControl.VersionFunctionEnum.订单精修外发精修, hideControl, null, null );
  411. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindGroupStoreName( this.cmbtreevStoreName, StrGroupKeyCode: "retailProcess", StrKeyCode: "st009" );
  412. this.PublicFunctionRights();
  413. //this.PublicFunctionRows();
  414. ucPagerEx1.Bind();
  415. this.IsFirstRun = false;
  416. this.RefinedRepairFormMain_Resize( null, null );
  417. }
  418. /// <summary>
  419. /// 窗体加载事件
  420. /// </summary>
  421. /// <param name="sender"></param>
  422. /// <param name="e"></param>
  423. void RefinedRepairFormMain_Load( object sender, EventArgs e )
  424. {
  425. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetSystemVersion( this.chkPortraitVersion, this.chkDressVersion, this.chkKidsVersion );
  426. this.cmbQueryText.Text = this.StrOrdNumber;
  427. }
  428. /// <summary>
  429. /// 选择分店获取权限
  430. /// </summary>
  431. void PublicFunctionRights()
  432. {
  433. this.btnExportSelectedGoodSlices.Enabled = LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresFilmSelection", LYFZ.CustomAttributes.OperatingAuthority.PhotoExport );
  434. this.btnImportRefinedRepairPiece.Enabled = LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.PhotoImport );
  435. this.btnExportRefinedPiece.Enabled = LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.PhotoExport );
  436. this.btnViewRefinedPiece.Enabled = LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.PhotoView );
  437. this.btnOutSendRefineRepair.Enabled = LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresFilmSelection", LYFZ.CustomAttributes.OperatingAuthority.PhotoExport );
  438. }
  439. /// <summary>
  440. /// 分店选择查询数据
  441. /// </summary>
  442. /// <param name="sender"></param>
  443. /// <param name="e"></param>
  444. void cmbtreevStoreName_ComboBoxTree_NodeMouseClick( object sender, TreeNodeMouseClickEventArgs e )
  445. {
  446. this.PublicFunctionRights();
  447. //this.PublicFunctionRows();
  448. this.ucPagerEx1.PageCurrent = 1;
  449. this.ucPagerEx1.Bind();
  450. }
  451. /// <summary>
  452. /// 回车
  453. /// </summary>
  454. /// <param name="sender"></param>
  455. /// <param name="e"></param>
  456. void cmbQueryText_KeyDown( object sender, KeyEventArgs e )
  457. {
  458. if ( e.KeyCode == Keys.Enter )
  459. {
  460. this.btnQuery_Click( this, null );
  461. }
  462. }
  463. /// <summary>
  464. /// 查询
  465. /// </summary>
  466. /// <param name="sender"></param>
  467. /// <param name="e"></param>
  468. void btnQuery_Click( object sender, EventArgs e )
  469. {
  470. this.DictData.Clear();
  471. //this.PublicFunctionRows();
  472. this.ucPagerEx1.PageCurrent = 1;
  473. ucPagerEx1.Bind();
  474. }
  475. /// <summary>
  476. /// 已选未修
  477. /// </summary>
  478. /// <param name="sender"></param>
  479. /// <param name="e"></param>
  480. void btnHasSelectionNotRepair_Click( object sender, EventArgs e )
  481. {
  482. this.DictData.Clear();
  483. this.DictData["FilmSelectionStatus"] = "OK";// "OK";
  484. this.DictData["RefinementStatus"] = "未修,修片中";// "未修,修片中";
  485. //this.PublicFunctionRows();
  486. this.ucPagerEx1.PageCurrent = 1;
  487. ucPagerEx1.Bind();
  488. }
  489. /// <summary>
  490. /// 条件查询
  491. /// </summary>
  492. /// <param name="sender"></param>
  493. /// <param name="e"></param>
  494. void btnConditionQuery_Click( object sender, EventArgs e )
  495. {
  496. this.DictData.Clear();
  497. LYFZ.Software.MainBusiness.DoorCityProcess.SetSmallForm.ConditionQuerySamllForm frm = new SetSmallForm.ConditionQuerySamllForm();
  498. frm.LoadType = "精修";
  499. frm.ShowDialog();
  500. if ( frm.DictDataArray.Count > 0 )
  501. {
  502. Dictionary<string, string> DictDataArray = frm.DictDataArray;
  503. //精修人
  504. if ( DictDataArray.ContainsKey( "RefinementName" ) && DictDataArray["RefinementName"].Length > 0 )
  505. {
  506. this.DictData["RefinementName"] = DictDataArray["RefinementName"].Trim();
  507. }
  508. //精修开始时间
  509. if ( DictDataArray.ContainsKey( "QueryDateTimeStart" ) && DictDataArray["QueryDateTimeStart"].Length > 0 )
  510. {
  511. this.DictData["QueryDateTimeStart"] = DictDataArray["QueryDateTimeStart"].Trim();
  512. }
  513. //精修结束时间
  514. if ( DictDataArray.ContainsKey( "QueryDateTimeEnd" ) && DictDataArray["QueryDateTimeEnd"].Length > 0 )
  515. {
  516. this.DictData["QueryDateTimeEnd"] = DictDataArray["QueryDateTimeEnd"].Trim();
  517. }
  518. //this.PublicFunctionRows();
  519. this.ucPagerEx1.PageCurrent = 1;
  520. ucPagerEx1.Bind();
  521. }
  522. }
  523. /// <summary>
  524. /// 导出选好的片
  525. /// </summary>
  526. /// <param name="sender"></param>
  527. /// <param name="e"></param>
  528. void btnExportSelectedGoodSlices_Click( object sender, EventArgs e )
  529. {
  530. if ( this.dgvData.Rows.Count > 0 )
  531. {
  532. if ( this.dgvData.SelectedRows.Count > 0 )
  533. {
  534. string ViceOrderNumber = this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  535. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.ExportSelectionPiece( this.dgvData.CurrentRow.Cells["Ord_Number"].Value.ToString().Trim(), ViceOrderNumber );
  536. }
  537. else
  538. {
  539. MessageBoxCustom.Show( "请选择订单" ); return;
  540. }
  541. }
  542. }
  543. /// <summary>
  544. /// 导入精修片
  545. /// </summary>
  546. /// <param name="sender"></param>
  547. /// <param name="e"></param>
  548. void btnImportRefinedRepairPiece_Click( object sender, EventArgs e )
  549. {
  550. if ( this.dgvData.Rows.Count > 0 )
  551. {
  552. if ( this.dgvData.SelectedRows.Count > 0 )
  553. {
  554. string SightsName = "";
  555. if ( this.dgvData.CurrentRow.Cells["Ord_Type"].Value.ToString().Trim() == Convert.ToInt32( LYFZ.EnumPublic.OrderType.儿童订单 ).ToString().Trim() )
  556. {
  557. if ( this.dgvData.Columns["拍摄名称"] != null )
  558. {
  559. SightsName = this.dgvData.CurrentRow.Cells["拍摄名称"].Value.ToString().Trim();
  560. }
  561. }
  562. if ( this.dgvData.CurrentRow.Cells["取件状态"].Value.ToString().Trim() == "OK" )
  563. {
  564. MessageBoxCustom.Show( "已取件,不能导片!" );
  565. }
  566. LYFZ.Model.Model_ErpOrderDigital _modelDigital = null;
  567. if ( LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.ImportRefinedRepairPiece(
  568. this.dgvData.CurrentRow.Cells["Ord_Number"].Value.ToString().Trim(),
  569. this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim(),
  570. SightsName,ref _modelDigital,
  571. this.dgvData.CurrentRow.Cells["取件状态"].Value.ToString().Trim() ) )
  572. {
  573. //this.PublicFunctionRows();
  574. MessageBoxCustom.Show("导入成功");
  575. this.ucPagerEx1.PageCurrent = 1;
  576. ucPagerEx1.Bind();
  577. }
  578. }
  579. else
  580. {
  581. MessageBoxCustom.Show( "请选择订单" ); return;
  582. }
  583. }
  584. }
  585. /// <summary>
  586. /// 导出精修片
  587. /// </summary>
  588. /// <param name="sender"></param>
  589. /// <param name="e"></param>
  590. void btnExportRefinedPiece_Click( object sender, EventArgs e )
  591. {
  592. if ( this.dgvData.Rows.Count > 0 )
  593. {
  594. if ( this.dgvData.SelectedRows.Count > 0 )
  595. {
  596. string ViceName = "";
  597. if ( this.dgvData.CurrentRow.Cells["Ord_Type"].Value.ToString().Trim() == Convert.ToInt32( LYFZ.EnumPublic.OrderType.儿童订单 ).ToString().Trim() )
  598. {
  599. if ( this.dgvData.Columns["拍摄名称"] != null )
  600. {
  601. ViceName = this.dgvData.CurrentRow.Cells["拍摄名称"].Value.ToString().Trim();
  602. }
  603. }
  604. string ViceOrderNumber = this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  605. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.ExportRefinedRepairPiece( this.dgvData.CurrentRow.Cells["Ord_Number"].Value.ToString().Trim(), ViceOrderNumber, ViceName );
  606. }
  607. else { MessageBoxCustom.Show( "请选择订单" ); return; }
  608. }
  609. }
  610. /// <summary>
  611. /// 查看精修片
  612. /// </summary>
  613. /// <param name="sender"></param>
  614. /// <param name="e"></param>
  615. void btnViewRefinedPiece_Click( object sender, EventArgs e )
  616. {
  617. if ( this.dgvData.Rows.Count > 0 )
  618. {
  619. if ( this.dgvData.SelectedRows.Count > 0 )
  620. {
  621. string MainOrderNumber = this.dgvData.CurrentRow.Cells["Ord_Number"].Value.ToString().Trim();//主订单号
  622. string ViceOrderNumber = this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim();//数码编号
  623. string SightsName = "";
  624. if ( this.dgvData.CurrentRow.Cells["Ord_Type"].Value.ToString().Trim() == Convert.ToInt32( LYFZ.EnumPublic.OrderType.儿童订单 ).ToString().Trim() )
  625. {
  626. try { SightsName = this.dgvData.CurrentRow.Cells["拍摄名称"].Value.ToString().Trim(); }
  627. catch { }
  628. }
  629. if ( !LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.IsEnterPassword( ViceOrderNumber ) )
  630. {
  631. return;
  632. }
  633. LYFZ.Software.MainBusiness.DoorCityProcess.SetSmallForm.CustomerPhotosViewSmallForm frm = new SetSmallForm.CustomerPhotosViewSmallForm();
  634. frm.LoadType = "精修片";
  635. frm.MainOrderNumber = MainOrderNumber;
  636. frm.ViceOrderNumber = ViceOrderNumber;
  637. frm.DirType = Model.Model_ErpOrder.DirectoryType.FineRetouch;
  638. frm.StrSightsName = SightsName;
  639. frm.Show();
  640. }
  641. else { MessageBoxCustom.Show( "请选择订单" ); return; }
  642. }
  643. }
  644. /// <summary>
  645. /// 外发精修
  646. /// </summary>
  647. /// <param name="sender"></param>
  648. /// <param name="e"></param>
  649. void btnOutSendRefineRepair_Click( object sender, EventArgs e )
  650. {
  651. if ( MessageBoxCustom.Show( "你确定要外发精修片吗?", "温馨提示", MessageBoxButtons.YesNo ) == DialogResult.Yes )
  652. {
  653. string StrOrdNumber = this.dgvData.CurrentRow.Cells["Ord_Number"].Value.ToString().Trim();
  654. string StrOrdViceNumber = this.dgvData.CurrentRow.Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  655. if ( !LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.IsEnterPassword( StrOrdViceNumber ) )
  656. {
  657. return;
  658. }
  659. LYFZ.Software.MainBusiness.DoorCityProcess.SuperSmallForm.ChooseNameSuperSmallForm frm = new SuperSmallForm.ChooseNameSuperSmallForm();
  660. frm.StrOrdNumber = StrOrdNumber;
  661. frm.StrOrdViceNumber = StrOrdViceNumber;
  662. frm.orderProcess = EnumPublic.OrderProcessEnum.精修;
  663. frm.ShowDialog();
  664. if ( frm.IsSaveed )
  665. {
  666. DateTime strTime = SDateTime.Now;
  667. List<Helper.CommandInfo> clist = new List<Helper.CommandInfo>();
  668. DataTable dt = obll.GetView_Custom( "tb_ErpOrderDigitalStatus", StrWhere: "Ords_OrdNumber = '" + StrOrdNumber + "' And Ords_ViceNumber = '" + StrOrdViceNumber + "'", ShowColumnName: "*" ).Tables[0];
  669. LYFZ.Model.Model_ErpOrderDigitalStatus modelStatus = null;
  670. if ( dt.Rows.Count > 0 )
  671. {
  672. modelStatus = orsbll.DataRowToModel( dt.Rows[0] );
  673. modelStatus.Ords_OutSendRefineRepairName = this.StrUserID;
  674. modelStatus.Ords_OutSendRefineRepairStatus = "已发";
  675. modelStatus.Ords_OutSendRefineRepairTime = strTime;
  676. modelStatus.Ords_OutSendRefineRepairVendor = frm.htData["StrVendor"].ToString().Trim();
  677. modelStatus.Ords_OutSendRefineRepairVendorQQ = frm.htData["StrQQ"].ToString().Trim();
  678. clist.Add( orsbll.GetUpdateCommandInfo( modelStatus ) );
  679. }
  680. if ( clist.Count > 0 )
  681. {
  682. if ( LYFZ.BLL.BaseBllOperate.ExecuteSqlTran( clist ) > 0 )
  683. {
  684. if ( Convert.ToBoolean( frm.htData["StrIsOutSend"] ) && frm.htData["StrQQ"].ToString().Trim().Length > 0 )
  685. {
  686. LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.QQCall( frm.htData["StrQQ"].ToString().Trim() );
  687. }
  688. }
  689. else
  690. {
  691. MessageBoxCustom.Show( "操作选择供应商发出失败!" );
  692. }
  693. }
  694. else
  695. {
  696. MessageBoxCustom.Show( "外发失败,可能数码状态表不存在!" );
  697. }
  698. }
  699. }
  700. }
  701. /// <summary>
  702. /// 列表双击事件
  703. /// </summary>
  704. /// <param name="sender"></param>
  705. /// <param name="e"></param>
  706. void dgvData_CellMouseDoubleClick( object sender, DataGridViewCellMouseEventArgs e )
  707. {
  708. if ( this.dgvData.Rows.Count > 0 )
  709. {
  710. if ( e.RowIndex >= 0 && e.ColumnIndex >= 0 )
  711. {
  712. if ( LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.PhotoView ) )
  713. {
  714. this.btnViewRefinedPiece_Click( this, null );
  715. }
  716. }
  717. }
  718. }
  719. /// <summary>
  720. /// 列表单击事件
  721. /// </summary>
  722. /// <param name="sender"></param>
  723. /// <param name="e"></param>
  724. void dgvData_CellClick( object sender, DataGridViewCellEventArgs e )
  725. {
  726. try
  727. {
  728. string StrNumber = this.dgvData.CurrentRow.Cells["订单号"].Value.ToString().Trim();
  729. if ( string.IsNullOrEmpty( StrNumber ) || StrNumber.Trim() == "(取件OK)" )
  730. {
  731. bool IsFind = false;
  732. int i = this.dgvData.CurrentRow.Index;
  733. while ( !IsFind )
  734. {
  735. i = i - 1;
  736. if ( !string.IsNullOrEmpty( this.dgvData.Rows[i].Cells["订单号"].Value.ToString().Trim() ) )
  737. {
  738. StrNumber = this.dgvData.Rows[i].Cells["订单号"].Value.ToString().Trim(); IsFind = true;
  739. }
  740. }
  741. }
  742. LYFZ.BLL.BLL_ErpOrder.CurrentSelectedOrderNumber = StrNumber;
  743. }
  744. catch
  745. {
  746. }
  747. }
  748. /// <summary>
  749. /// 对列表控件双击事件
  750. /// </summary>
  751. /// <param name="sender"></param>
  752. /// <param name="e"></param>
  753. void dgvData_MouseDoubleClick( object sender, MouseEventArgs e )
  754. {
  755. Point hit = this.dgvData.PointToClient( Cursor.Position );
  756. DataGridView.HitTestInfo hitTest = this.dgvData.HitTest( hit.X, hit.Y );
  757. if ( hitTest.RowIndex < 0 && hitTest.ColumnIndex < 0 )
  758. {
  759. if ( !string.IsNullOrEmpty( this.cmbQueryText.Text.Trim() ) )
  760. {
  761. LYFZ.BLL.BLL_ErpOrder.CurrentSelectedOrderNumber = "";
  762. this.cmbQueryText.Text = "";
  763. //this.PublicFunctionRows();
  764. this.ucPagerEx1.PageCurrent = 1;
  765. ucPagerEx1.Bind();
  766. }
  767. }
  768. }
  769. /// <summary>
  770. /// 关闭
  771. /// </summary>
  772. /// <param name="sender"></param>
  773. /// <param name="e"></param>
  774. void btnClose_Click( object sender, EventArgs e )
  775. {
  776. this.Close();
  777. }
  778. /// <summary>
  779. /// 儿童版
  780. /// </summary>
  781. /// <param name="sender"></param>
  782. /// <param name="e"></param>
  783. void chkKidsVersion_Click( object sender, EventArgs e )
  784. {
  785. if ( this.chkKidsVersion.Checked )
  786. {
  787. this.chkPortraitVersion.Checked = false; this.chkKidsVersion.Checked = true; this.chkDressVersion.Checked = false;
  788. }
  789. this.cmbQueryText.Text = "";
  790. //this.PublicFunctionRows();
  791. this.ucPagerEx1.PageCurrent = 1;
  792. ucPagerEx1.Bind();
  793. }
  794. /// <summary>
  795. /// 婚纱版
  796. /// </summary>
  797. /// <param name="sender"></param>
  798. /// <param name="e"></param>
  799. void chkDressVersion_Click( object sender, EventArgs e )
  800. {
  801. if ( this.chkDressVersion.Checked )
  802. {
  803. this.chkPortraitVersion.Checked = false; this.chkDressVersion.Checked = true; this.chkKidsVersion.Checked = false;
  804. }
  805. this.cmbQueryText.Text = "";
  806. //this.PublicFunctionRows();
  807. this.ucPagerEx1.PageCurrent = 1;
  808. ucPagerEx1.Bind();
  809. }
  810. /// <summary>
  811. /// 写真版
  812. /// </summary>
  813. /// <param name="sender"></param>
  814. /// <param name="e"></param>
  815. void chkPortraitVersion_Click( object sender, EventArgs e )
  816. {
  817. if ( this.chkPortraitVersion.Checked )
  818. {
  819. this.chkPortraitVersion.Checked = true; this.chkDressVersion.Checked = false; this.chkKidsVersion.Checked = false;
  820. }
  821. this.cmbQueryText.Text = "";
  822. //this.PublicFunctionRows();
  823. this.ucPagerEx1.PageCurrent = 1;
  824. ucPagerEx1.Bind();
  825. }
  826. /// <summary>
  827. /// 窗体大小发生改变事件
  828. /// </summary>
  829. /// <param name="sender"></param>
  830. /// <param name="e"></param>
  831. void RefinedRepairFormMain_Resize( object sender, EventArgs e )
  832. {
  833. if ( !IsFirstRun )
  834. {
  835. switch ( this.panelPortraitVersion.Location.Y )
  836. {
  837. case 4: this.flowLayoutPanel1.Height = 36; break;
  838. case 36: this.flowLayoutPanel1.Height = 68; break;
  839. }
  840. }
  841. }
  842. /// <summary>
  843. /// 点击事件
  844. /// </summary>
  845. /// <param name="sender"></param>
  846. /// <param name="e"></param>
  847. void dgvData_CellMouseDown( object sender, DataGridViewCellMouseEventArgs e )
  848. {
  849. if ( e.Button == MouseButtons.Right )
  850. {
  851. if ( e.RowIndex >= 0 && e.ColumnIndex >= 0 )
  852. {
  853. if ( this.dgvData.Rows.Count > 0 )
  854. {
  855. if ( this.dgvData.CurrentRow != null )
  856. {
  857. bool IsFind = false;
  858. Hashtable htData = null;
  859. ToolStripMenuItem item = null;
  860. if ( this.dgvData.Columns[e.ColumnIndex].Name.Trim() == "精修状态" )
  861. {
  862. if ( LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.ProcessStatusReset ) )
  863. {
  864. this.dgvData.conMenu.Items.Clear();
  865. htData = new Hashtable();
  866. htData["StrNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ord_Number"].Value.ToString().Trim();
  867. htData["StrStatusName"] = this.dgvData.Columns[e.ColumnIndex].Name.Trim() + ":";
  868. htData["StrStatusType"] = "3";
  869. htData["StrViceNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  870. item = new ToolStripMenuItem();
  871. item.Text = "重置" + this.dgvData.Columns[e.ColumnIndex].Name.Trim();
  872. item.Tag = htData;
  873. item.Name = "ResetStatus";
  874. this.dgvData.conMenu.Items.Add( item );
  875. IsFind = true;
  876. }
  877. }
  878. else if ( this.dgvData.Columns[e.ColumnIndex].Name.Trim() == "精修日期" && this.dgvData.Rows[e.RowIndex].Cells["精修日期"].Value.ToString().Trim() != "" )
  879. {
  880. if ( LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupStoreRights( this.cmbtreevStoreName, "StoresRefinedRepair", LYFZ.CustomAttributes.OperatingAuthority.ProcessDateReset ) )
  881. {
  882. this.dgvData.conMenu.Items.Clear();
  883. htData = new Hashtable();
  884. htData["StrNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ord_Number"].Value.ToString().Trim();
  885. htData["StrViceNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  886. htData["StrOldDate"] = this.dgvData.Rows[e.RowIndex].Cells["精修日期"].Value.ToString().Trim();
  887. item = new ToolStripMenuItem();
  888. item.Text = "重置" + this.dgvData.Columns[e.ColumnIndex].Name.Trim();
  889. item.Tag = htData;
  890. item.Name = "ResetDate";
  891. this.dgvData.conMenu.Items.Add( item );
  892. IsFind = true;
  893. }
  894. }
  895. item = new ToolStripMenuItem();
  896. htData = new Hashtable();
  897. htData["StrNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ord_Number"].Value.ToString().Trim();
  898. htData["StrViceNumber"] = this.dgvData.Rows[e.RowIndex].Cells["Ordv_ViceNumber"].Value.ToString().Trim();
  899. item.Text = "订单备注";
  900. item.Tag = htData;
  901. item.Name = "OrderRemark";
  902. this.dgvData.conMenu.Items.Add( item );
  903. IsFind = true;
  904. if ( IsFind )
  905. {
  906. // this.dgvData.conMenu.Show( MousePosition.X, MousePosition.Y );//弹出操作菜单
  907. this.dgvData.conMenu.ItemClicked -= dgvData_DataGridViewConMenu_ItemClicked;
  908. this.dgvData.conMenu.ItemClicked += dgvData_DataGridViewConMenu_ItemClicked;
  909. // this.dgvData.conMenu.Show();
  910. if (!this.dgvData.conMenu.Visible)
  911. {
  912. this.dgvData.conMenu.Show(MousePosition.X, MousePosition.Y);//弹出操作菜单
  913. }
  914. }
  915. if ( htData != null )
  916. {
  917. BindContextMenu( this.dgvData.Rows[e.RowIndex] );
  918. }
  919. }
  920. }
  921. }
  922. else
  923. {
  924. this.dgvData.conMenu.Items.Clear();
  925. ToolStripMenuItem item = new ToolStripMenuItem();
  926. item.Text = "设置标题";
  927. item.Tag = "SetColumnShow";
  928. item.Name = "SetColumnShow";
  929. this.dgvData.conMenu.Items.Add( item );
  930. // this.dgvData.conMenu.Show( MousePosition.X, MousePosition.Y );//弹出操作菜单
  931. this.dgvData.conMenu.ItemClicked -= dgvData_DataGridViewConMenu_ItemClicked;
  932. this.dgvData.conMenu.ItemClicked += dgvData_DataGridViewConMenu_ItemClicked;
  933. //this.dgvData.conMenu.Show();
  934. if (!this.dgvData.conMenu.Visible)
  935. {
  936. this.dgvData.conMenu.Show(MousePosition.X, MousePosition.Y);//弹出操作菜单
  937. }
  938. }
  939. }
  940. }
  941. /// <summary>
  942. /// 右键菜单选择项事件
  943. /// </summary>
  944. /// <param name="sender"></param>
  945. /// <param name="e"></param>
  946. void dgvData_DataGridViewConMenu_ItemClicked( object sender, ToolStripItemClickedEventArgs e )
  947. {
  948. ToolStripItem item = e.ClickedItem;
  949. if ( item.Name.Trim() == "SetColumnShow" )
  950. {
  951. if ( LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.ShowDataGridViewSetColumn( this.dgvData ) )
  952. {
  953. //this.PublicFunctionRows();
  954. this.ucPagerEx1.PageCurrent = 1;
  955. ucPagerEx1.Bind();
  956. }
  957. }
  958. else if ( item.Name.ToString().Trim() == "OrderRemark" )
  959. {
  960. Hashtable htData = (Hashtable)item.Tag;
  961. LYFZ.Software.MainBusiness.DoorCityProcess.SuperSmallForm.OrderRemarkRecordAddSuperSmallForm frm = new SuperSmallForm.OrderRemarkRecordAddSuperSmallForm();
  962. frm.StrOrderNumber = htData["StrNumber"].ToString().Trim();
  963. frm.StrOrdViceNumber = htData["StrViceNumber"].ToString().Trim();
  964. frm.StrOrdModuleName = LYFZ.EnumPublic.EnumOrderRemarkModule.订单精修.ToString().Trim();
  965. frm.ShowDialog();
  966. }
  967. else if ( item.Name.ToString().Trim() == "ResetStatus" )
  968. {
  969. Hashtable htData = (Hashtable)item.Tag;
  970. LYFZ.Software.MainBusiness.DoorCityProcess.SetSmallForm.OrderStatusResetSmallForm frm = new SetSmallForm.OrderStatusResetSmallForm();
  971. frm.StrNumber = htData["StrNumber"].ToString();
  972. frm.StrStatusName = htData["StrStatusName"].ToString();
  973. frm.StrStatusType = htData["StrStatusType"].ToString();
  974. frm.StrViceNumber = htData["StrViceNumber"].ToString();
  975. frm.ShowDialog();
  976. if ( frm.IsSaveed )
  977. {
  978. //PublicFunctionRows();
  979. this.ucPagerEx1.PageCurrent = 1;
  980. ucPagerEx1.Bind();
  981. }
  982. }
  983. else if ( item.Name.ToString().Trim() == "ResetDate" )
  984. {
  985. LYFZ.Software.MainBusiness.CameraControlBook.SuperSmallForm.GetDateSuperSmallForm frm = new CameraControlBook.SuperSmallForm.GetDateSuperSmallForm();
  986. frm.IsValueNull = false;
  987. frm.ShowDialog();
  988. if ( !frm.IsOK )
  989. {
  990. return;
  991. }
  992. if ( MessageBoxCustom.Show( "您确定要重置精修日期吗?", "温馨提示", MessageBoxButtons.YesNo ) == DialogResult.No )
  993. {
  994. return;
  995. }
  996. DateTime strTime = SDateTime.Now;
  997. Hashtable htData = (Hashtable)item.Tag;
  998. List<Helper.CommandInfo> clist = new List<CommandInfo>();
  999. LYFZ.Model.Model_ErpOrderDigital model = dbll.GetModel( "Ordv_ViceNumber", htData["StrViceNumber"] );
  1000. model.Ordv_RefinementTime = Convert.ToDateTime( frm.StrValue );
  1001. model.Ordv_UpdateDateTime = strTime;
  1002. model.Ordv_UpdateName = StrUserID;
  1003. clist.Add( dbll.GetUpdateCommandInfo( model ) );
  1004. string StrContent = "[重置精修日期] 数码编号为:" + htData["StrViceNumber"] + ",的精修日期由" + htData["StrOldDate"] + "改为" + frm.StrValue;
  1005. clist.Add( slogbll.GetAddCommandInfo( LYFZ.BLL.BLL_ErpSystemLogs.GetWriteLogModel( LYFZ.EnumPublic.SystemLogsType.订单流程重置, StrContent, StrUserID, StrUserName, LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.User_IP ) ) );
  1006. if ( clist.Count > 0 )
  1007. {
  1008. if ( LYFZ.BLL.BaseBllOperate.ExecuteSqlTran( clist ) > 0 )
  1009. {
  1010. //this.PublicFunctionRows();
  1011. this.ucPagerEx1.PageCurrent = 1;
  1012. ucPagerEx1.Bind();
  1013. MessageBoxCustom.Show( "重置成功!" );
  1014. }
  1015. else
  1016. {
  1017. MessageBoxCustom.Show( "重置失败!" );
  1018. }
  1019. }
  1020. }
  1021. }
  1022. /// <summary>
  1023. /// 点击列标头排序
  1024. /// </summary>
  1025. /// <param name="sender"></param>
  1026. /// <param name="e"></param>
  1027. void dgvData_ColumnHeaderMouseClick( object sender, DataGridViewCellMouseEventArgs e )
  1028. {
  1029. if ( e.Button == MouseButtons.Left )
  1030. {
  1031. string StrColumnName = this.GetOrderByName( this.dgvData.Columns[e.ColumnIndex].Name.Trim() );
  1032. if ( StrColumnName == this.StrCurrentClickField || string.IsNullOrEmpty( this.StrCurrentClickField ) )
  1033. {
  1034. if ( this.StrSortOrder == "ASC" )
  1035. {
  1036. this.StrSortOrder = "DESC";
  1037. }
  1038. else
  1039. {
  1040. this.StrSortOrder = "ASC";
  1041. }
  1042. }
  1043. else
  1044. {
  1045. this.StrSortOrder = "DESC";
  1046. }
  1047. if ( this.dgvData.StrValueNullColumn.Trim().IndexOf( StrColumnName ) == -1 || StrColumnName.Trim() == "套系金额" )
  1048. {
  1049. this.StrSortField = (StrColumnName) + " " + this.StrSortOrder + ",Ord_CreateDateTime,Ordv_DigitalNumber";
  1050. }
  1051. else
  1052. {
  1053. this.StrSortField = "Ord_CreateDateTime " + this.StrSortOrder + ",Ordv_DigitalNumber";
  1054. }
  1055. this.StrCurrentClickField = StrColumnName;
  1056. //this.PublicFunctionRows();
  1057. this.ucPagerEx1.PageCurrent = 1;
  1058. ucPagerEx1.Bind();
  1059. }
  1060. }
  1061. string GetOrderByName( string StrColumnName )
  1062. {
  1063. if ( StrColumnName == "看版时间" )
  1064. {
  1065. return "(case when Ordv_LookDesignStatus = '0' then Ordv_ReservationLookDesignTime else Ordv_LookDesignTime end)";
  1066. }
  1067. else if ( StrColumnName == "订单号" )
  1068. {
  1069. return " Ord_SinceOrderNumber ";
  1070. }
  1071. else if ( StrColumnName == "客户姓名" )
  1072. {
  1073. return " Cus_Name ";
  1074. }
  1075. else if ( StrColumnName == "客户性别" )
  1076. {
  1077. return " Cus_Sex_cs ";
  1078. }
  1079. else if ( StrColumnName == "客户电话" )
  1080. {
  1081. return " Cus_Telephone ";
  1082. }
  1083. else if ( StrColumnName == "订单类型" )
  1084. {
  1085. return " Ord_Type ";
  1086. }
  1087. else if ( StrColumnName == "接单人" )
  1088. {
  1089. return " Ord_OrderPersonName ";
  1090. }
  1091. else if ( StrColumnName == "套系名称" )
  1092. {
  1093. return " Ord_SeriesName ";
  1094. }
  1095. else if ( StrColumnName == "套系价格" )
  1096. {
  1097. return " Ord_SeriesPrice ";
  1098. }
  1099. else if ( StrColumnName == "拍摄名称" )
  1100. {
  1101. return " Ordpg_Sights ";
  1102. }
  1103. else if ( StrColumnName == "加急" )
  1104. {
  1105. return " IsExpedited ";
  1106. }
  1107. else if ( StrColumnName == "加急日期" )
  1108. {
  1109. return " ExpeditedTime ";
  1110. }
  1111. else if ( StrColumnName == "摄影师" )
  1112. {
  1113. return " Ordpg_Photographer ";
  1114. }
  1115. else if ( StrColumnName == "拍摄时间" )
  1116. {
  1117. return " Ordpg_PhotographyTime ";
  1118. }
  1119. else if ( StrColumnName == "拍照状态" )
  1120. {
  1121. return " Ordpg_PhotographyStatus ";
  1122. }
  1123. else if ( StrColumnName == "初修师" )
  1124. {
  1125. return " Ordv_EarlyRepairName ";
  1126. }
  1127. else if ( StrColumnName == "初修日期" )
  1128. {
  1129. return " Ordv_EarlyRepairTime ";
  1130. }
  1131. else if ( StrColumnName == "选片状态" )
  1132. {
  1133. return " Ordv_FilmSelectionStatus ";
  1134. }
  1135. else if ( StrColumnName == "选片日期" )
  1136. {
  1137. return " Ordv_FilmSelectionTime ";
  1138. }
  1139. else if ( StrColumnName == "设计状态" )
  1140. {
  1141. return " Ordv_DesignerStatus ";
  1142. }
  1143. else if ( StrColumnName == "初修状态" )
  1144. {
  1145. return " Ordv_EarlyRepairStatus ";
  1146. }
  1147. else if ( StrColumnName == "精修师" )
  1148. {
  1149. return " Ordv_RefinementName ";
  1150. }
  1151. else if ( StrColumnName == "精修日期" )
  1152. {
  1153. return " Ordv_RefinementTime ";
  1154. }
  1155. else if ( StrColumnName == "精修状态" )
  1156. {
  1157. return " Ordv_RefinementStatus ";
  1158. }
  1159. else if ( StrColumnName == "看版状态" )
  1160. {
  1161. return " Ordv_LookDesignStatus ";
  1162. }
  1163. else if ( StrColumnName == "会员卡号" )
  1164. {
  1165. return " Mc_CradNumber ";
  1166. }
  1167. else if ( StrColumnName == "取件状态" )
  1168. {
  1169. return " Ords_ProductPickupStatus ";
  1170. }
  1171. return "";
  1172. }
  1173. /// <summary>
  1174. /// 当前点击的字段
  1175. /// </summary>
  1176. string StrCurrentClickField = "";
  1177. /// <summary>
  1178. /// 排序字段
  1179. /// </summary>
  1180. string StrSortField = "Ord_CreateDateTime DESC,Ordv_DigitalNumber";
  1181. /// <summary>
  1182. /// 排序顺序
  1183. /// </summary>
  1184. string StrSortOrder = "DESC";
  1185. /// <summary>
  1186. /// 创建行
  1187. /// </summary>
  1188. void PublicFunctionRows()
  1189. {
  1190. this.dgvData.dgvCurrentColumnOriginalSet = "Ord_Number,Ord_Type,Ordv_ViceNumber,订单号,客户姓名,客户性别,客户电话,订单类型,接单人,套系名称,套系价格,加急,加急日期,是否导出,拍摄名称,摄影师,拍照状态,初修状态,初修师,初修日期,选片状态,选片日期,设计状态,精修是否外发,精修师,精修日期,精修状态,看版状态,看版时间,会员卡号,取件状态";
  1191. string StrGuidName = LYFZ.EnumPublic.dgvGuidName.E_FormAll_A0003.ToString().Trim();
  1192. if ( (LYFZ.BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.MemberCardShowHide) )
  1193. {
  1194. this.dgvData.dgvFixedHideColumn = "Ord_Number,Ordv_ViceNumber,Ord_Type,会员卡号";
  1195. }
  1196. else
  1197. {
  1198. this.dgvData.dgvFixedHideColumn = "Ord_Number,Ordv_ViceNumber,Ord_Type";
  1199. }
  1200. this.dgvData.dgvGuidName = StrGuidName;
  1201. this.dgvData.dgvUserEmployeeID = this.StrUserID;
  1202. this.dgvData.StrValueNullColumn = "订单号,客户姓名,客户性别,客户电话,订单类型,接单人,套系名称,套系价格,会员卡号";
  1203. this.dgvData.DataColumns( this.dgvData.dgvCurrentColumnOriginalSet, strHideField: this.dgvData.dgvFixedHideColumn );
  1204. Dictionary<string, string> dictColumns = LYFZ.DAL.DAL_GridViewDisplayIndex.GetGridViewShowColumns( this.StrUserID, StrGuidName, this.dgvData.dgvCurrentColumnOriginalSet );
  1205. this.dgvData.dictShowColumName = dictColumns;
  1206. string StrQueryCondition = "";
  1207. if ( IsFirstRun && !string.IsNullOrEmpty( LYFZ.BLL.BLL_ErpOrder.CurrentSelectedOrderNumber ) )
  1208. {
  1209. string StrWhere = " Where Ord_SinceOrderNumber = '" + LYFZ.BLL.BLL_ErpOrder.CurrentSelectedOrderNumber + "'" + LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetVersionQuerySQL( this.chkPortraitVersion, this.chkDressVersion, this.chkKidsVersion, StrOrdType: "0,1,2" );
  1210. this.cmbQueryText.Text = LYFZ.BLL.BLL_ErpOrder.CurrentSelectedOrderNumber;
  1211. StrQueryCondition = StrWhere + LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupQueryOrderClickWhere( this.cmbtreevStoreName, "Ord_DividedShop" );
  1212. }
  1213. else
  1214. {
  1215. StrQueryCondition = this.GetWhereStr();
  1216. }
  1217. int intTopCount = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.GetPageSize();
  1218. Hashtable htData = LYFZ.ComponentLibrary.DataGridOrderView.GetData_OrderRefinedRepair( this.dgvData, dictColumns, StrQueryCondition, intTopCount, this.StrSortField, ucPagerEx1.PageCurrent );
  1219. this.dataGridViewStatisticsCount1.LocationX = this.dgvData.RowHeadersWidth;
  1220. this.dataGridViewStatisticsCount1.CurrenQuantity = Convert.ToInt32( htData["CurrentCount"] );
  1221. this.dataGridViewStatisticsCount1.TotalQuantity = Convert.ToInt32( htData["TotalCount"] );
  1222. BindPageData( ucPagerEx1.PageCurrent, Convert.ToInt32( htData["CurrentCount"] ), Convert.ToInt32( htData["TotalCount"] ) );
  1223. for (int i=0;i< dgvData.Rows.Count;i++)
  1224. {
  1225. if (dgvData.Rows[i].Cells["加急"].Value.ToString().Trim() == "是")
  1226. {
  1227. //dgvData.Rows[i].DefaultCellStyle.BackColor = Color.Red;
  1228. dgvData.Rows[i].DefaultCellStyle.Font = new Font("黑体", 10, FontStyle.Bold);
  1229. dgvData.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
  1230. }
  1231. }
  1232. dgvData.Refresh();
  1233. }
  1234. /// <summary>
  1235. /// 返回要操作的条件
  1236. /// </summary>
  1237. /// <returns></returns>
  1238. string GetWhereStr()
  1239. {
  1240. string StrWhere = " Where Ord_Class = '1' " + LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetGroupQueryWhere( this.cmbtreevStoreName, "Ord_DividedShop" );
  1241. StrWhere += LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetQueryTextQueryCondition( cmbQueryText.Text.Trim() );
  1242. if ( chkCompleteOrder.Checked )
  1243. {
  1244. StrWhere += " and ( (Ords_ServiceIntStatus = 2 or ServiceCount=0 ) and (Ords_ProductPickupIntStatus = 2 or productCount=0 ) and (ServiceCount>0 or productCount>0) ) ";
  1245. }
  1246. else
  1247. {
  1248. if (BLL.BLL_SystemGlobalSetting.SysTemGlobalSetMoel.HidePickUpOrder && !this.chkCompleteOrder.Checked && string.IsNullOrEmpty(this.cmbQueryText.Text))
  1249. {
  1250. StrWhere += " and (Ords_ProductPickupIntStatus in (0,1) and productCount>0 ) ";
  1251. }
  1252. else
  1253. {
  1254. StrWhere += " and ( (Ords_ServiceIntStatus in (0,1) and ServiceCount>0 ) or (Ords_ProductPickupIntStatus in (0,1) and productCount>0 ) or ( ServiceCount = 0 and productCount = 0 ) ) ";
  1255. }
  1256. }
  1257. if ( DictData.ContainsKey( "FilmSelectionStatus" ) && DictData["FilmSelectionStatus"].Trim().Length > 0 )
  1258. {
  1259. StrWhere += " and Ordv_FilmSelectionStatus = '1'";
  1260. }
  1261. if ( DictData.ContainsKey( "RefinementStatus" ) && DictData["RefinementStatus"].Trim().Length > 0 )
  1262. {
  1263. StrWhere += " and Ordv_RefinementStatus <> '2'";
  1264. }
  1265. if ( DictData.ContainsKey( "RefinementName" ) && DictData["RefinementName"].Trim().Length > 0 )
  1266. {
  1267. StrWhere += " and Ordv_RefinementName = '" + DictData["RefinementName"].Trim() + "'";
  1268. }
  1269. if ( DictData.ContainsKey( "QueryDateTimeStart" ) && DictData["QueryDateTimeStart"].Trim().Length > 0 && DictData.ContainsKey( "QueryDateTimeEnd" ) && DictData["QueryDateTimeEnd"].Trim().Length > 0 )
  1270. {
  1271. StrWhere += LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetDateTime( "Ordv_RefinementTime", DictData["QueryDateTimeStart"], DictData["QueryDateTimeEnd"] );
  1272. }
  1273. StrWhere += LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.GetVersionQuerySQL( this.chkPortraitVersion, this.chkDressVersion, this.chkKidsVersion, StrOrdType: "0,1,2" );
  1274. return StrWhere;
  1275. }
  1276. }
  1277. }