123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437 |
- // HireDress2.cpp : implementation file
- //
- #include "stdafx.h"
- #include "ylgl.h"
- #include "HireDress2.h"
- #include "ShowPic22.h"
- #include "ShowPhoto.h"
- #include "ShowEarlyWarning.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // HireDress2 dialog IDC_COMBOname
- HireDress2::HireDress2(CWnd* pParent /*=NULL*/)
- : CDialog(HireDress2::IDD, pParent)
- {
- //{{AFX_DATA_INIT(HireDress2)
- m_id = _T("");
- m_inputdate = g_date;
- m_clerk = g_user.name ;
- m_balance = _T("");
- m_count = _T("");
- m_no = _T("");
- m_remark = _T("");
- m_bAdd=1;
- m_pImg=NULL;
- m_date1 = _T("");
- m_date2 = _T("");
- //}}AFX_DATA_INIT
- }
- void HireDress2::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(HireDress2)
- DDX_Control(pDX, IDC_EDITdate2, m_datectrl5);
- DDX_Control(pDX, IDC_EDITdate1, m_datectrl4);
- DDX_Control(pDX, IDC_EDITcount, m_editctrl3);
- DDX_Control(pDX, IDC_LIST4, m_List1);
- DDX_Control(pDX, IDC_COMBOname, m_comboname);
- DDX_Text(pDX, IDC_EDITid, m_id);
- DDX_Text(pDX, IDC_EDITinputdate, m_inputdate);
- DDX_Text(pDX, IDC_EDITclerk, m_clerk);
- DDX_Text(pDX, IDC_EDITbalance, m_balance);
- DDX_Text(pDX, IDC_EDITcount, m_count);
- DDX_Text(pDX, IDC_EDITno, m_no);
- DDX_Text(pDX, IDC_EDITremark, m_remark);
- DDV_MaxChars(pDX, m_remark, 1000);
- DDX_Text(pDX, IDC_EDITdate1, m_date1);
- DDX_Text(pDX, IDC_EDITdate2, m_date2);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(HireDress2, CDialog)
- //{{AFX_MSG_MAP(HireDress2)
- ON_CBN_SELCHANGE(IDC_COMBOname, OnSelchangeCOMBOname)
- ON_WM_DESTROY()
- ON_WM_PAINT()
- ON_BN_CLICKED(IDC_BUTTON1, OnAddDress)
- ON_BN_CLICKED(IDC_BUTTON2, OnDelDress)
- ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
- ON_BN_CLICKED(IDC_STATIC4, OnStatic4)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // HireDress2 message handlers
- BOOL HireDress2::OnInitDialog()
- {
- CDialog::OnInitDialog();
- int i = 0;
- if(m_bAdd)
- {
- CString sql="select max(id) as cot from dresshire where [date]='"+g_date+"'";
- g_sendhead.bsql=1;
- g_pMainWnd->ProcessChatMessageRequest2(sql);
- if(g_bSendOK==0)
- {
- CDialog::OnCancel ();
- return false;
- }
- CString date=g_date;
- date.Replace ("-", "");
- m_id.Format ("%s-(lf)%03d", date, g_ncount+1);
- g_sendhead.bsql=0;
- g_sendhead.code[0]=72;
- g_sendhead.tabcount=1;
- g_pMainWnd->ProcessChatMessageRequest2(0);
- if(g_bSendOK==0)
- {
- CDialog::OnCancel ();
- return false;
- }
- DataToArray(&m_List1array);
- for( i=0; i<m_List1array.GetSize (); i++)
- {
- if(0!=atoi(m_List1array.ElementAt (i).ElementAt (12)))continue;
- m_comboname.AddString (m_List1array.ElementAt (i).ElementAt (2));
- }
- }
- else
- {
- SetWindowText("送洗单修改");
- CString filter=";id='"+m_id+"';id='"+m_id+"'";
- g_sendhead.bsql=0;
- g_sendhead.code[0]=72;
- g_sendhead.code[1]=73;
- g_sendhead.code[2]=74;
- g_sendhead.tabcount=3;
- g_pMainWnd->ProcessChatMessageRequest2(filter);
- if(g_bSendOK==0)
- {
- CDialog::OnCancel ();
- return false;
- }
- CArray<CStringArray, CStringArray>dresshirearray;
- CArray<CStringArray, CStringArray>dresshiredataarray;
- DataToArray(&m_List1array, &dresshirearray, &dresshiredataarray);
- if(dresshirearray.GetSize ())
- {
- m_remark = dresshirearray.ElementAt (0).ElementAt (10);
- m_inputdate = dresshirearray.ElementAt (0).ElementAt (6);
- m_date1 = dresshirearray.ElementAt (0).ElementAt (7);
- m_date2 = dresshirearray.ElementAt (0).ElementAt (8);
- m_clerk = g_user.name ;
- }
- for( i=0; i<dresshiredataarray.GetSize (); i++)
- {
- m_needgetbalancearray.Add (dresshiredataarray.ElementAt (i).ElementAt (1));
- m_seldressarray.Add (dresshiredataarray.ElementAt (i).ElementAt (1));
- m_seldressarray.Add (dresshiredataarray.ElementAt (i).ElementAt (2));
- m_seldressarray.Add (dresshiredataarray.ElementAt (i).ElementAt (3));
- m_seldressarray.Add (m_id);
- m_seldressarray.Add (dresshiredataarray.ElementAt (i).ElementAt (4));
- m_seldressarray.Add (dresshiredataarray.ElementAt (i).ElementAt (7));
- CString str;
- str=dresshiredataarray.ElementAt (i).ElementAt (2);
- str+="\r\n数量:";
- str+=dresshiredataarray.ElementAt (i).ElementAt (3);
- if(m_List1.GetCount()%2)
- m_List1.AddEntry( str , g_gridcol1, m_List1.GetCount());
- else
- m_List1.AddEntry( str , g_gridcol2, m_List1.GetCount());
- }
- for( i=0; i<m_List1array.GetSize (); i++)
- {
- if(0!=atoi(m_List1array.ElementAt (i).ElementAt (12)))continue;
- m_comboname.AddString (m_List1array.ElementAt (i).ElementAt (2));
- }
- }
- CenterWindow();
- UpdateData(false);
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void HireDress2::OnOK()
- {
- // TODO: Add extra validation here
- UpdateData();
- if(!CheckDateOK(m_date1))return;
- if(!CheckDateOK(m_date2))return;
- if(m_date1.IsEmpty () || m_date2.IsEmpty ())
- {
- AfxMessageBox("资料不全, 打*号的项目为必填项目!");
- return;
- }
- if( m_seldressarray.GetSize()==0 )
- {
- AfxMessageBox("礼服资料未添加!");
- return;
- }
- CString sql;
- CString hireorsale="洗";
- if(m_bAdd)
- {
- sql.Format ("insert into [dresshire]([id],[date],[clerk],[hireorsale],[remark],[date1],[date2])values('%s','%s','%s','%s','%s','%s','%s')",m_id,m_inputdate,m_clerk,hireorsale,m_remark,m_date1,m_date2);
- }
- else
- {
- sql="update [dresshire] set [clerk]='"+m_clerk+"',[remark]='"+m_remark+"',[date1]='"+m_date1+"',[date2]='"+m_date2+"' where [id]='"+m_id+"'";
- }
- g_sendhead.bsql=1;
- g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
- CStringArray m_seldressarraybak;
- m_seldressarraybak.Copy (m_seldressarray);
- int count=m_seldressarray.GetSize ();
- CString str;
- str.Format ("%d", count);
- for(int i=0; i<m_needgetbalancearray.GetSize (); i++)
- {
- m_seldressarray.Add (m_needgetbalancearray.ElementAt (i));
- }
- m_seldressarray.Add (str);
- m_seldressarray.Add (m_date1);
- m_seldressarray.Add (m_date2);
- CMemFile memfile;
- CArchive ar(&memfile, CArchive::store);
- m_seldressarray.Serialize (ar);
- ar.Close();
- int length=memfile.GetLength ();
- BYTE *pData = memfile.Detach();
- g_nSendCode=20;
- g_pMainWnd->ProcessChatMessageRequest2(pData, length);
- g_nSendCode=0;
- delete []pData;
- m_seldressarray.RemoveAll ();
- m_seldressarray.Copy (m_seldressarraybak);
- if(g_bSendOK==0)return;
- AfxMessageBox("保存成功!", MB_ICONINFORMATION);
- CDialog::OnOK();
- }
- void HireDress2::OnSelchangeCOMBOname()
- {
- // TODO: Add your control notification handler code here
- int pos=m_comboname.GetCurSel ();
- if(pos==-1)return;
- UpdateData();
- CString name;
- m_comboname.GetLBText (pos, name);
- for(int i=0; i<m_List1array.GetSize (); i++)
- {
- if(name==m_List1array.ElementAt (i).ElementAt (2))
- {
- m_no=m_List1array.ElementAt (i).ElementAt (1);
- m_balance=m_List1array.ElementAt (i).ElementAt (4);
- m_sellcot=m_List1array.ElementAt (i).ElementAt (6);
- CString savepath=g_path5+"\\";
- if(m_pImg)delete m_pImg;m_pImg=NULL;
- m_picpath="";
- if(PathFileExists( savepath+""+m_no+".jpg" ) )
- {
- ::LoadImageFromBuf (&m_pImg, savepath+""+m_no+".jpg");
- m_picpath=savepath+m_no+".jpg";
- }
- CRect rc;
- GetDlgItem(IDC_STATIC4)->GetWindowRect(rc);
- ScreenToClient(rc);
- InvalidateRect(rc);
- UpdateData(false);
- }
- }
- }
- void HireDress2::OnDestroy()
- {
- // TODO: Add your message handler code here
- if(m_pImg)delete m_pImg;m_pImg=NULL;
- CDialog::OnDestroy();
- }
- void HireDress2::OnPaint()
- {
- CPaintDC dc(this); // device context for painting
- // TODO: Add your message handler code here
- if(m_pImg)
- {
- CRect rc;
- GetDlgItem(IDC_STATIC4)->GetWindowRect(rc);
- ScreenToClient(rc);
- RectFitDes(m_pImg->GetWidth(), m_pImg->GetHeight(), rc);
- Graphics dcgraph(dc.GetSafeHdc());
- Rect destinationRect(rc.left , rc.top , rc.Width (), rc.Height ());
- dcgraph.DrawImage(m_pImg, destinationRect, 0,0,m_pImg->GetWidth(), m_pImg->GetHeight(),UnitPixel);
- }
- // Do not call CDialog::OnPaint() for painting messages
- }
- void HireDress2::OnAddDress()
- {
- // TODO: Add your control notification handler code here
- UpdateData();
- int pos=m_comboname.GetCurSel ();
- if(pos==-1)return;
- CString name;
- m_comboname.GetLBText (pos, name);
- m_count.TrimLeft ();m_count.TrimRight ();
- if(atoi(m_count)<1)
- {
- AfxMessageBox("数量不能为空!");
- return;
- }
- if(atoi(m_count)>atoi(m_balance))
- {
- // AfxMessageBox("库存不足!");
- // return;
- }
- for(int i=0; i<m_seldressarray.GetSize (); i+=6)
- {
- if(name==m_seldressarray.ElementAt (i+1))
- {
- AfxMessageBox("已有此礼服的记录!");
- return;
- }
- }
- if(CheckEarlyWarning())
- { if(AfxMessageBox("此日期礼服可能未回,是否继续开送洗单?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
- }
- m_needgetbalancearray.Add (m_no);
- m_seldressarray.Add (m_no);
- m_seldressarray.Add (name);
- m_seldressarray.Add (m_count);
- m_seldressarray.Add (m_id);
- m_seldressarray.Add ("");
- m_seldressarray.Add ("洗");
- CString str;
- str=name;
- str+="\r\n数量:";
- str+=m_count;
- if(m_List1.GetCount()%2)
- m_List1.AddEntry( str , g_gridcol1, m_List1.GetCount());
- else
- m_List1.AddEntry( str , g_gridcol2, m_List1.GetCount());
- }
- void HireDress2::OnDelDress()
- {
- // TODO: Add your control notification handler code here
- int pos=m_List1.GetCurSel ();
- if(pos==-1)
- {
- AfxMessageBox("请先选中您要删除的礼服!");
- return;
- }
- m_List1.DeleteString (pos);
- pos*=6;
- if(m_bAdd==0)
- m_needgetbalancearray.Add (m_seldressarray.ElementAt (pos));
- m_seldressarray.RemoveAt(pos+5);
- m_seldressarray.RemoveAt(pos+4);
- m_seldressarray.RemoveAt(pos+3);
- m_seldressarray.RemoveAt(pos+2);
- m_seldressarray.RemoveAt(pos+1);
- m_seldressarray.RemoveAt(pos);
- }
- void HireDress2::OnButton3()
- {
- // TODO: Add your control notification handler code here
- UpdateData();
- if(!CheckDateOK(m_date1))return;
- if(m_date1.IsEmpty () || m_no.IsEmpty () || m_count.IsEmpty ())
- {
- AfxMessageBox("取件日期和编号和数量为必填项目!");
- return;
- }
- int pos=m_comboname.GetCurSel ();
- if(pos==-1)return;
- UpdateData();
- CString name;
- m_comboname.GetLBText (pos, name);
- ShowEarlyWarning dlg;
- dlg.m_no=m_no;
- dlg.m_name=name;
- dlg.m_cot1=m_balance;
- dlg.m_cot2=m_sellcot;
- dlg.m_cot3=m_count;
- dlg.m_date1=m_date1;
- dlg.DoModal();
- }
- BOOL HireDress2::CheckEarlyWarning()
- {
- if(!CheckDateOK(m_date1))return 1;
- if(m_date1.IsEmpty () || m_no.IsEmpty () || m_count.IsEmpty ())
- {
- AfxMessageBox("取件日期和编号和数量为必填项目!");
- return 1;
- }
- int pos=m_comboname.GetCurSel ();
- if(pos==-1)return 1;
- CString name;
- m_comboname.GetLBText (pos, name);
- ShowEarlyWarning dlg;
- dlg.m_mode=1;
- dlg.m_no=m_no;
- dlg.m_name=name;
- dlg.m_cot1=m_balance;
- dlg.m_cot2=m_sellcot;
- dlg.m_cot3=m_count;
- dlg.m_date1=m_date1;
- dlg.DoModal();
- return dlg.m_nRet;
- }
- void HireDress2::OnStatic4()
- {
- // TODO: Add your control notification handler code here
- if(m_pImg)
- {
- ShowPhoto dlg;
- dlg.m_pImg=m_pImg;
- dlg.DoModal();
- }
- }
|