StaffWage.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[12/3/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #pragma once
  19. #define WAGE_EARLY_PHOTOGRAPHER _T("摄影前期")
  20. #ifdef CHILD_VERSION
  21. #define WAGE_EARLY_MAKEUPARTIST _T("引导前期")
  22. #else
  23. #define WAGE_EARLY_MAKEUPARTIST _T("化妆前期")
  24. #endif
  25. #define WAGE_EARLY_SALES _T("门市前期")
  26. #define WAGE_SEL_SALES _T("选片二销")
  27. #define WAGE_SEC_PHOTOGRAPHER _T("摄影二销")
  28. #define WAGE_UPG_PACKAGE _T("套系升级")
  29. #define WAGE_SEL_PHOTOGRAPHER _T("摄影选片二销")
  30. #ifdef CHILD_VERSION
  31. #define WAGE_SEL_MAKEUPARTIST _T("引导选片二销")
  32. #define WAGE_SEC_MAKEUPARTIST _T("引导二销")
  33. #else
  34. #define WAGE_SEL_MAKEUPARTIST _T("化妆选片二销")
  35. #define WAGE_SEC_MAKEUPARTIST _T("化妆二销")
  36. #endif
  37. class CStaffWage
  38. {
  39. public:
  40. CStaffWage(void);
  41. ~CStaffWage(void);
  42. public:
  43. CString m_strStaffName;
  44. CString m_strWageStartDate;
  45. CString m_strWageEndofDate;
  46. // 所有员工详情;
  47. CArray<CStringArray, CStringArray> m_AryStaffDetail;
  48. // 指定收款日期的所有收款记录;
  49. CArray<CStringArray, CStringArray> m_AryReceiptRecords;
  50. // 指定收款日期和员工的所有订单详情;
  51. CArray<CStringArray, CStringArray> m_AryOrderDetail;
  52. // 指定收款日期的其他收入(散客消费)记录;
  53. CArray<CStringArray, CStringArray> m_AryOtherIncomeRecord;
  54. // 指定收款日期的摄影师与化妆师的景点工作记录;
  55. CArray<CStringArray, CStringArray> m_ArySceneryWorkRecord;
  56. // 指定收款日期的员工的我的工作记录;
  57. CArray<CStringArray, CStringArray> m_AryMyWorkRecord;
  58. // 指定收款日期的员工的数码工作记录;
  59. CArray<CStringArray, CStringArray> m_AryDigitalWorkRecord;
  60. // 计件式提成比例;
  61. CArray<CStringArray, CStringArray> m_AryWorkrate;
  62. // 解析出来的结果;
  63. CArray<CStringArray, CStringArray> m_AryEarlyResult;
  64. // 每项工资类型结果;
  65. CStringArray m_AryWageType;
  66. // 工资类型结果金额累加值;
  67. CArray<FLOAT, FLOAT> m_AryWageTypeMoney;
  68. // 前期业绩金额;
  69. FLOAT m_fEaryResultMoney;
  70. // 选片二销;
  71. FLOAT m_fSelectMoney;
  72. public:
  73. // 清空数据;
  74. void ClearStaffWageData();
  75. // 查询指定员工和工资日期的所有相关数据;
  76. BOOL GetStaffWageData(IN CString strStaffName, IN CString strWageStartDate, IN CString strWageEndofDate);
  77. // 是否有摄影师和化妆服务记录;
  78. void GetPhotographerAndMakeupArtistServeRecord(IN CString strOrderNum, IN BOOL &bPhotographer, IN BOOL &bMakeupArtist, IN FLOAT &fPhotographerPercent, IN FLOAT &fMakeupArtistPercent);
  79. // 是否有门市(销售)服务记录;
  80. void GetSalesServerRecord(IN CString strOrderNum, IN BOOL &bSalesperson1, IN BOOL &bSalesperson2, IN FLOAT &fbSalesperson1Percent, IN FLOAT &fbSalesperson2Percent);
  81. // 获取前期业绩(错误:这里不仅仅是前期业绩,还包含后期业绩也就是二销);
  82. BOOL GetEarlyResults(IN CArray<CStringArray, CStringArray>& AryEarlyResult);
  83. public:
  84. CString GetRule(CString name);
  85. float GetSalaryFromRule(float fmoney, CString rule);
  86. // 是否有摄影师和化妆服务记录;
  87. void GetPhotographerAndMakeupArtistServeRecord(IN CString strStaffName, IN CString strOrderNum, IN BOOL &bPhotographer, IN BOOL &bMakeupArtist, IN FLOAT &fPhotographerPercent, IN FLOAT &fMakeupArtistPercent);
  88. // 是否有门市(销售)服务记录;
  89. void GetSalesServerRecord(IN CString strStaffName, IN CString strOrderNum, IN BOOL &bSalesperson1, IN BOOL &bSalesperson2, IN FLOAT &fbSalesperson1Percent, IN FLOAT &fbSalesperson2Percent);
  90. // 查询指定员工和工资日期的所有相关数据;
  91. BOOL GetAllStaffWageData(IN CString strWageStartDate, IN CString strWageEndofDate);
  92. // 获取员工前期业绩(错误:这里不仅仅是前期业绩,还包含后期业绩也就是二销);
  93. BOOL GetEarlyResults(IN CString strStaffName);
  94. // 获取员工门市前期业绩工资;
  95. FLOAT GetStaffSignerWage(IN CString strSaffName);
  96. // 获取员工摄影/化妆前期业绩工资;
  97. FLOAT GetStaffPhotograhperMakeupArtistWage(IN CString strStaffName);
  98. // 获取员工后期业绩工资;
  99. FLOAT GetStaffLateWage(IN CString strStaffName,OUT FLOAT &fTotalMoney);
  100. // 获取员工计件式提成金额;
  101. FLOAT GetStaffDigitalWage(IN CString strStaffName);
  102. // 获取员工总工资;
  103. FLOAT GetStaffTotalWage(IN CString strStaffName);
  104. };