リビジョン 112
台帳まとめ画面、給与計算日不具合対応・給与計算方法守勢
| trunk/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs | ||
|---|---|---|
| 14 | 14 |
/// <summary> |
| 15 | 15 |
/// 本体バージョン |
| 16 | 16 |
/// </summary> |
| 17 |
public static int s_SystemVersion = 21;
|
|
| 17 |
public static int s_SystemVersion = 25;
|
|
| 18 | 18 |
|
| 19 | 19 |
/// <summary> |
| 20 | 20 |
/// コピー・環境バージョン |
| trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs | ||
|---|---|---|
| 1773 | 1773 |
FrmCostomerRegistList frm = new FrmCostomerRegistList(); |
| 1774 | 1774 |
try |
| 1775 | 1775 |
{
|
| 1776 |
// 起動・編集フラグ |
|
| 1777 |
int ProcessNo = (int)ClsExcute.ProcessExecuteNo.CostomerRegist; |
|
| 1778 |
int EditFlg = (int)CommonDefine.ProcessDataEdit.Reference; |
|
| 1779 |
if (!ClsSecurityPermission.GetExecutePermission(ProcessNo, ref EditFlg)) |
|
| 1780 |
{
|
|
| 1781 |
BackProcess(); |
|
| 1782 |
return; |
|
| 1783 |
} |
|
| 1776 | 1784 |
// フォーム表示 |
| 1777 | 1785 |
frm.ShowDialog(); |
| 1778 | 1786 |
} |
| ... | ... | |
| 1788 | 1796 |
} |
| 1789 | 1797 |
#endregion |
| 1790 | 1798 |
|
| 1791 |
#region 発注者登録申請一覧
|
|
| 1799 |
#region 発注者登録申請入力
|
|
| 1792 | 1800 |
/// <summary> |
| 1793 |
/// 発注者登録申請一覧
|
|
| 1801 |
/// 発注者登録申請入力
|
|
| 1794 | 1802 |
/// </summary> |
| 1795 | 1803 |
/// <param name="CurrentPara"></param> |
| 1796 | 1804 |
public static void ProcessExecuteNo_CostomerRegist(ProcessParameter CurrentPara) |
| ... | ... | |
| 1844 | 1852 |
FrmSubConstrRegistList frm = new FrmSubConstrRegistList(); |
| 1845 | 1853 |
try |
| 1846 | 1854 |
{
|
| 1855 |
// 起動・編集フラグ |
|
| 1856 |
int ProcessNo = (int)ClsExcute.ProcessExecuteNo.SubConstrRegist; |
|
| 1857 |
int EditFlg = (int)CommonDefine.ProcessDataEdit.Reference; |
|
| 1858 |
if (!ClsSecurityPermission.GetExecutePermission(ProcessNo, ref EditFlg)) |
|
| 1859 |
{
|
|
| 1860 |
BackProcess(); |
|
| 1861 |
return; |
|
| 1862 |
} |
|
| 1847 | 1863 |
// フォーム表示 |
| 1848 | 1864 |
frm.ShowDialog(); |
| 1849 | 1865 |
} |
| ... | ... | |
| 1859 | 1875 |
} |
| 1860 | 1876 |
#endregion |
| 1861 | 1877 |
|
| 1862 |
#region 協力会社登録申請一覧
|
|
| 1878 |
#region 協力会社登録申請入力
|
|
| 1863 | 1879 |
/// <summary> |
| 1864 |
/// 協力会社登録申請一覧
|
|
| 1880 |
/// 協力会社登録申請入力
|
|
| 1865 | 1881 |
/// </summary> |
| 1866 | 1882 |
/// <param name="CurrentPara"></param> |
| 1867 | 1883 |
public static void ProcessExecuteNo_SubConstrRegist(ProcessParameter CurrentPara) |
| ... | ... | |
| 1871 | 1887 |
try |
| 1872 | 1888 |
{
|
| 1873 | 1889 |
// 自分のハンドルをリストへセットする |
| 1874 |
int ProcessNo = (int)ClsExcute.ProcessExecuteNo.CostomerRegist;
|
|
| 1890 |
int ProcessNo = (int)ClsExcute.ProcessExecuteNo.SubConstrRegist;
|
|
| 1875 | 1891 |
ClsExcute.SubFormHandleList[ProcessNo].ProcessNo = ProcessNo; |
| 1876 | 1892 |
ClsExcute.SubFormHandleList[ProcessNo].SubFormHandle = (Form)frm; |
| 1877 | 1893 |
|
| trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs | ||
|---|---|---|
| 633 | 633 |
CommonMotions.GetBeginningMonthDay(bPeriod, ref month, ref day); |
| 634 | 634 |
dtStart = new DateTime(iYear, month, day); |
| 635 | 635 |
dtEnd = dtStart.AddYears(1).AddDays(-1); // ?I????{1?N?|1??
|
| 636 |
|
|
| 637 |
// ????????????????t?????v?Z???? |
|
| 638 |
if (CommonMotions.cnvInt(numUDConstPro.Value) == CommonMotions.SystemMasterData.BusinessPeriod) dtEnd = DateTime.Today; |
|
| 639 |
|
|
| 640 | 636 |
} |
| 641 | 637 |
catch (Exception ex) |
| 642 | 638 |
{
|
| ... | ... | |
| 915 | 911 |
/// ??p?J?n???t |
| 916 | 912 |
/// </summary> |
| 917 | 913 |
HireStartDays, |
| 914 |
/// <summary> |
|
| 915 |
/// ??p?I?????t |
|
| 916 |
/// </summary> |
|
| 917 |
HireCompDays, |
|
| 918 | 918 |
} |
| 919 | 919 |
#endregion |
| 920 | 920 |
|
| ... | ... | |
| 927 | 927 |
/// <returns>?f?[?^????</returns> |
| 928 | 928 |
private int GetPersonInDepartment(ref List<int> PersonCodeList, ref List<DateTime> dtStartList, |
| 929 | 929 |
ref List<DateTime> dtCompList, ref List<DateTime> dtMaxComp, |
| 930 |
ref List<int> MonthSalaryList, ref List<DateTime> dtHireStDays) |
|
| 930 |
ref List<int> MonthSalaryList, ref List<DateTime> dtHireStDays, ref List<DateTime> dtHireEdDays)
|
|
| 931 | 931 |
{
|
| 932 | 932 |
IOMPersonInCharge PersonDB = new IOMPersonInCharge(); |
| 933 | 933 |
try |
| ... | ... | |
| 945 | 945 |
strSQL += " MAX(E.CONSTRUCTIONPERIODEND) I3, MAX(E.CONSTRUCTIONPERIODEND2) I4,"; |
| 946 | 946 |
strSQL += " SUM(C.EXECUTIONAMOUNT) M5, SUM(D.EXECUTIONAMOUNT) S5, SUM(E.EXECUTIONAMOUNT) I5,"; |
| 947 | 947 |
strSQL += " COUNT(C.EXECUTIONAMOUNT) M6, COUNT(D.EXECUTIONAMOUNT) S6, COUNT(E.EXECUTIONAMOUNT) I6,"; |
| 948 |
strSQL += " P.STARTDATE"; |
|
| 948 |
strSQL += " P.STARTDATE, P.ENDDATE";
|
|
| 949 | 949 |
strSQL += " FROM PERSONINCHARGEMASTER P"; |
| 950 | 950 |
|
| 951 | 951 |
// ?H???S?????f?[?^?? |
| ... | ... | |
| 995 | 995 |
|
| 996 | 996 |
strSQL += " GROUP BY A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER))"; |
| 997 | 997 |
|
| 998 |
// 16???????t?H?[????_????????????? |
|
| 999 |
if (numUDConstPro.Value < 17 && DepartmentCode == 9) |
|
| 1000 |
{
|
|
| 1001 |
} |
|
| 1002 |
else |
|
| 1003 |
{
|
|
| 1004 |
strSQL += string.Format(" AND P.EMPLOYEECLASSFLG = {0}", (int)CommonDefine.EmployeeClassFlg.Regular);
|
|
| 1005 |
} |
|
| 1006 | 998 |
// ?????R?[?h?I????????????????????????? |
| 1007 | 999 |
if (DepartmentCode != 0) strSQL += string.Format(" AND P.DEPARTMENTCODE = {0}", DepartmentCode);
|
| 1008 | 1000 |
if (PersonCode != 0) strSQL += string.Format(" AND P.PERSONCODE = {0}", PersonCode);
|
| 1009 | 1001 |
|
| 1010 |
strSQL += " GROUP BY P.PERSONCODE, P.PERSONNAME, P.DISPLAYORDER, P.MonthlySalary, P.STARTDATE"; |
|
| 1002 |
strSQL += " GROUP BY P.PERSONCODE, P.PERSONNAME, P.DISPLAYORDER, P.MonthlySalary, P.STARTDATE, P.ENDDATE";
|
|
| 1011 | 1003 |
strSQL += " ORDER BY P.DISPLAYORDER"; |
| 1012 | 1004 |
|
| 1013 | 1005 |
ArrayList arList = new ArrayList(); |
| ... | ... | |
| 1050 | 1042 |
// ???z???^???????? |
| 1051 | 1043 |
int Salary = CommonMotions.cnvInt(objRec[(int)GetPersonTerm.MonthlySalary]); |
| 1052 | 1044 |
|
| 1053 |
// ??p?J?n?????????? |
|
| 1054 |
DateTime dtHireDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireStartDays]); |
|
| 1045 |
// ??p?J?n?E?I???????????? |
|
| 1046 |
DateTime dtHireStDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireStartDays]); |
|
| 1047 |
DateTime dtHireEdDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireCompDays]); |
|
| 1055 | 1048 |
|
| 1056 | 1049 |
PersonCodeList.Add(Person); // ?S????R?[?h |
| 1057 | 1050 |
dtStartList.Add(stDate); // ?J?n?? |
| 1058 | 1051 |
dtCompList.Add(edDate); // ?I???? |
| 1059 | 1052 |
dtMaxComp.Add(maxDate); // ???I???? |
| 1060 | 1053 |
MonthSalaryList.Add(Salary); // ???^???z |
| 1061 |
dtHireStDays.Add(dtHireDay); // ??p?J?n?? |
|
| 1054 |
dtHireStDays.Add(dtHireStDay); // ??p?J?n?? |
|
| 1055 |
dtHireEdDays.Add(dtHireEdDay); // ??p?I???? |
|
| 1062 | 1056 |
} |
| 1063 | 1057 |
return arList.Count; |
| 1064 | 1058 |
} |
| ... | ... | |
| 1515 | 1509 |
List<DateTime> dtMaxCompArray = new List<DateTime>(); |
| 1516 | 1510 |
List<int> SalaryArray = new List<int>(); |
| 1517 | 1511 |
List<DateTime> dtHireStDays = new List<DateTime>(); |
| 1518 |
GetPersonInDepartment(ref PersonCDArray, ref dtStartArray, ref dtCompArray, ref dtMaxCompArray, ref SalaryArray, ref dtHireStDays); |
|
| 1512 |
List<DateTime> dtHireEdDays = new List<DateTime>(); |
|
| 1513 |
GetPersonInDepartment(ref PersonCDArray, |
|
| 1514 |
ref dtStartArray, ref dtCompArray, |
|
| 1515 |
ref dtMaxCompArray, ref SalaryArray, |
|
| 1516 |
ref dtHireStDays, ref dtHireEdDays); |
|
| 1519 | 1517 |
|
| 1520 | 1518 |
// ProgressBar??l???X???? |
| 1521 | 1519 |
prgber.Value++; |
| 1522 | 1520 |
prgber.Update(); |
| 1523 | 1521 |
|
| 1522 |
// ?f?t?H???g?J?n?E?I?????????? |
|
| 1523 |
DateTime dtDefaultStart = DateTime.MinValue; |
|
| 1524 |
DateTime dtDefaultEnd = DateTime.MinValue; |
|
| 1525 |
CreateDefaultStartAndEndDate(ref dtDefaultStart, ref dtDefaultEnd); |
|
| 1526 |
|
|
| 1524 | 1527 |
// ----- ?o????^?\???i?w?b?_?[??\???j |
| 1525 |
SetPayrollData(PersonCDArray, dtStartArray, dtCompArray, SalaryArray, dtMaxCompArray, dtHireStDays); |
|
| 1528 |
SetPayrollData(PersonCDArray, dtDefaultStart, dtDefaultEnd, |
|
| 1529 |
dtStartArray, dtCompArray, |
|
| 1530 |
SalaryArray, dtMaxCompArray, |
|
| 1531 |
dtHireStDays, dtHireEdDays); |
|
| 1526 | 1532 |
|
| 1527 | 1533 |
// ----- ?o???\?????? |
| 1528 | 1534 |
int Expenses = SetOtherCost(PersonCDArray, dtStartArray, dtCompArray); |
| ... | ... | |
| 1902 | 1908 |
/// <param name="dtStartArray"></param> |
| 1903 | 1909 |
/// <param name="dtCompArray"></param> |
| 1904 | 1910 |
/// <param name="SalaryArray"></param> |
| 1905 |
private void SetPayrollData(List<int> PersonCDArray, List<DateTime> dtStartArray, |
|
| 1906 |
List<DateTime> dtCompArray, List<int> SalaryArray, |
|
| 1907 |
List<DateTime> dtMaxCompArray, List<DateTime> dtHireStDayArray) |
|
| 1911 |
private void SetPayrollData(List<int> PersonCDArray, DateTime dtDefaultStart, DateTime dtDefaultEnd, |
|
| 1912 |
List<DateTime> dtStartArray, List<DateTime> dtCompArray, |
|
| 1913 |
List<int> SalaryArray, List<DateTime> dtMaxCompArray, |
|
| 1914 |
List<DateTime> dtHireStDayArray, List<DateTime> dtHireEdDayArray) |
|
| 1908 | 1915 |
{
|
| 1909 | 1916 |
try |
| 1910 | 1917 |
{
|
| 1918 |
//Debug.WriteLine("---------------------");
|
|
| 1911 | 1919 |
// ?????R?[?h?? |
| 1912 | 1920 |
int DepartmentCode = GetDepartmentCode(); |
| 1913 | 1921 |
|
| 1914 | 1922 |
// ??????????E?????????? |
| 1915 |
DateTime dtDefaultStart = DateTime.MinValue; |
|
| 1916 |
DateTime dtDefaultEnd = DateTime.MinValue; |
|
| 1917 |
CreateDefaultStartAndEndDate(ref dtDefaultStart, ref dtDefaultEnd); |
|
| 1923 |
DateTime dtCurDefaultStart = dtDefaultStart; |
|
| 1924 |
DateTime dtCurDefaultEnd = dtDefaultEnd; |
|
| 1918 | 1925 |
|
| 1919 | 1926 |
int TotalSalary = 0; // ???^???? |
| 1920 | 1927 |
int OnSalary = 0; // ?U?????^???z?? |
| ... | ... | |
| 1929 | 1936 |
// ???^???W?v???? |
| 1930 | 1937 |
for (int i = 0; i < PersonCDArray.Count; i++) |
| 1931 | 1938 |
{
|
| 1939 |
// ??????????E?????????? |
|
| 1940 |
dtCurDefaultStart = dtDefaultStart; |
|
| 1941 |
dtCurDefaultEnd = dtDefaultEnd; |
|
| 1942 |
|
|
| 1943 |
// ???????????????J?n??????????? |
|
| 1944 |
if (dtDefaultStart < dtHireStDayArray[i] && dtHireStDayArray[i] < dtDefaultEnd) |
|
| 1945 |
{
|
|
| 1946 |
dtCurDefaultStart = dtHireStDayArray[i]; |
|
| 1947 |
} |
|
| 1948 |
// ??????????????I???????????? |
|
| 1949 |
if (dtDefaultStart < dtHireEdDayArray[i] && dtHireEdDayArray[i] < dtDefaultEnd) |
|
| 1950 |
{
|
|
| 1951 |
dtCurDefaultEnd = dtHireEdDayArray[i]; |
|
| 1952 |
} |
|
| 1953 |
|
|
| 1932 | 1954 |
// ?J?n???? |
| 1933 | 1955 |
dtStart = dtStartArray[i]; |
| 1934 | 1956 |
// ?f?[?^?????????????????Z?b?g???? |
| 1935 | 1957 |
if (dtStart == DateTime.MaxValue) |
| 1936 | 1958 |
{
|
| 1937 |
if (dtDefaultStart < dtHireStDayArray[i] && dtHireStDayArray[i] < dtDefaultEnd) |
|
| 1938 |
dtStart = dtHireStDayArray[i]; |
|
| 1939 |
else |
|
| 1940 |
dtStart = dtDefaultStart; |
|
| 1959 |
dtStart = dtCurDefaultStart; |
|
| 1941 | 1960 |
} |
| 1942 |
// ?I?????? |
|
| 1943 |
dtEnd = dtCompArray[i]; |
|
| 1944 |
if (dtEnd == DateTime.MinValue) dtEnd = dtDefaultEnd; |
|
| 1961 |
else if (dtCurDefaultStart < dtStart) |
|
| 1962 |
{ // ?J?n?????????????????????Z?b?g????
|
|
| 1963 |
dtStart = dtCurDefaultStart; |
|
| 1964 |
} |
|
| 1965 |
|
|
| 1945 | 1966 |
// ?????? |
| 1946 | 1967 |
dtMax = dtMaxCompArray[i]; |
| 1947 |
if (dtMax == DateTime.MinValue) dtMax = dtDefaultEnd; |
|
| 1968 |
if (dtMax == DateTime.MinValue) dtMax = dtCurDefaultEnd; |
|
| 1969 |
// ??????????????????? |
|
| 1970 |
if (dtMax < DateTime.Today.Date) |
|
| 1971 |
{
|
|
| 1972 |
if (numUDConstPro.Value < CommonMotions.SystemMasterData.BusinessPeriod) |
|
| 1973 |
{ // ?O????O?????
|
|
| 1974 |
dtMax = dtCurDefaultEnd; |
|
| 1975 |
} |
|
| 1976 |
else if (dtHireEdDayArray[i] != DateTime.MinValue && dtDefaultStart < dtHireEdDayArray[i] && dtHireEdDayArray[i] < dtDefaultEnd) |
|
| 1977 |
{ // ??????????????I????????????
|
|
| 1978 |
dtMax = dtCurDefaultEnd; |
|
| 1979 |
} |
|
| 1980 |
else |
|
| 1981 |
{ // ??O?????
|
|
| 1982 |
dtMax = DateTime.Today.Date; |
|
| 1983 |
} |
|
| 1984 |
} |
|
| 1948 | 1985 |
|
| 1949 | 1986 |
// ???^???? |
| 1950 |
int workSalary = CalcElapsedSalary(dtStart, dtEnd, PersonCDArray[i], SalaryArray[i]);
|
|
| 1987 |
int workSalary = CalcElapsedSalary(dtStart, dtMax, PersonCDArray[i], SalaryArray[i]);
|
|
| 1951 | 1988 |
// ??v???Z |
| 1952 | 1989 |
if (workSalary > 0) TotalSalary += workSalary; |
| 1990 |
//Debug.WriteLine(string.Format("Code={0} Val={1} Start={2} End={3}", PersonCDArray[i], workSalary.ToString("0,0"), dtStart, dtMax));
|
|
| 1953 | 1991 |
|
| 1954 | 1992 |
// ?v?Z?J?n?I???????????? |
| 1955 | 1993 |
if (dtStart < dtDispStart) dtDispStart = dtStart; |
| 1956 | 1994 |
if (dtDispComplate < dtMax) dtDispComplate = dtMax; |
| 1957 | 1995 |
} |
| 1958 | 1996 |
|
| 1997 |
// ----- ?\?????? |
|
| 1959 | 1998 |
// ?U?????^???z?E?????v???z?E?e???v???z?? |
| 1960 | 1999 |
ProfitGeneral(ref OnSalary, ref NetIncome, ref NonSalary); |
| 1961 | 2000 |
|
| ... | ... | |
| 2005 | 2044 |
/// <returns></returns> |
| 2006 | 2045 |
private int CalcElapsedSalary(DateTime dtStart, DateTime dtLast, int PersonCode, int Salary) |
| 2007 | 2046 |
{
|
| 2047 |
IOMPersonSalary SalDB = new IOMPersonSalary(); |
|
| 2008 | 2048 |
try |
| 2009 | 2049 |
{
|
| 2010 |
// ??????????????? |
|
| 2011 |
int WorkingDay = ClsCalendar.CalcPassedDaysCount(dtStart, dtLast); |
|
| 2050 |
//// ???????????????
|
|
| 2051 |
//int WorkingDay = ClsCalendar.CalcPassedDaysCount(dtStart, dtLast);
|
|
| 2012 | 2052 |
|
| 2013 |
// ???^?? |
|
| 2014 |
int MonthlyPay = CommonMotions.cnvRound(Salary * CommonDefine.s_SalaryCorrection); |
|
| 2053 |
//// ???^??
|
|
| 2054 |
//int MonthlyPay = CommonMotions.cnvRound(Salary * CommonDefine.s_SalaryCorrection);
|
|
| 2015 | 2055 |
|
| 2016 |
// ?????v?Z |
|
| 2017 |
double daylySalary = CommonMotions.cnvRound(MonthlyPay / CommonDefine.s_ManHourUnitMonth); |
|
| 2056 |
//// ?????v?Z
|
|
| 2057 |
//double daylySalary = CommonMotions.cnvRound(MonthlyPay / CommonDefine.s_ManHourUnitMonth);
|
|
| 2018 | 2058 |
|
| 2019 |
// ?o????^?v?Z |
|
| 2020 |
int RetSalary = CommonMotions.cnvRound(WorkingDay * daylySalary); |
|
| 2059 |
//// ?o????^?v?Z |
|
| 2060 |
//int RetSalary = CommonMotions.cnvRound(WorkingDay * daylySalary); |
|
| 2061 |
int RetSalary = 0; |
|
| 2021 | 2062 |
|
| 2063 |
string strSQL = "SELECT * FROM"; |
|
| 2064 |
strSQL += " (SELECT AX.DT,"; |
|
| 2065 |
strSQL += string.Format(" ROUND((A.MONTHLYSALARY * {0})/ {1}),", CommonDefine.s_SalaryCorrection, CommonDefine.s_ManHourUnitMonth);
|
|
| 2066 |
strSQL += " row_number() OVER(PARTITION BY AX.DT ORDER BY A.STARTDATE DESC) row_num"; |
|
| 2067 |
strSQL += " FROM PERSONSALARYMASTER A,"; |
|
| 2068 |
strSQL += " (SELECT TO_CHAR((st + ROWNUM - 1), 'YYYY/MM/DD') DT"; |
|
| 2069 |
strSQL += string.Format(" FROM SYS.ALL_CATALOG A, (SELECT TO_DATE('{0}{1}{2}', 'yyyymmdd') st,", dtStart.Year.ToString("0000"), dtStart.Month.ToString("00"), dtStart.Day.ToString("00"));
|
|
| 2070 |
strSQL += string.Format(" TO_DATE('{0}{1}{2}', 'yyyymmdd') ed", dtLast.Year.ToString("0000"), dtLast.Month.ToString("00"), dtLast.Day.ToString("00"));
|
|
| 2071 |
strSQL += " FROM SYS.DUAL) B WHERE ROWNUM <= (ed - st + 1)) AX"; |
|
| 2072 |
strSQL += string.Format(" WHERE A.PERSONCODE = {0}", PersonCode);
|
|
| 2073 |
strSQL += " AND A.STARTDATE <= AX.DT) B WHERE row_num = 1"; |
|
| 2074 |
|
|
| 2075 |
ArrayList ArData = new ArrayList(); |
|
| 2076 |
SalDB.ExecuteReader(strSQL, ref ArData); |
|
| 2077 |
|
|
| 2078 |
foreach (object[] objRec in ArData) |
|
| 2079 |
{
|
|
| 2080 |
RetSalary += CommonMotions.cnvInt(objRec[1]); |
|
| 2081 |
} |
|
| 2082 |
|
|
| 2022 | 2083 |
return RetSalary; |
| 2023 | 2084 |
} |
| 2024 | 2085 |
catch (Exception ex) |
| ... | ... | |
| 2026 | 2087 |
logger.ErrorFormat("?V?X?e???G???[?F{0}?F{1}", CommonMotions.GetMethodName(), ex.Message);
|
| 2027 | 2088 |
return 0; |
| 2028 | 2089 |
} |
| 2090 |
finally |
|
| 2091 |
{
|
|
| 2092 |
SalDB.close(); SalDB = null; |
|
| 2093 |
} |
|
| 2029 | 2094 |
} |
| 2030 | 2095 |
#endregion |
| 2031 | 2096 |
|
| trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs | ||
|---|---|---|
| 835 | 835 |
CommonMotions.GetBeginningMonthDay(bPeriod, ref month, ref day); |
| 836 | 836 |
dtStart = new DateTime(iYear, month, day); |
| 837 | 837 |
dtEnd = dtStart.AddYears(1).AddDays(-1); // ?I????{1?N?|1??
|
| 838 |
|
|
| 839 |
// ????????????????t?????v?Z???? |
|
| 840 |
if (CommonMotions.cnvInt(numUDConstPro.Value) == CommonMotions.SystemMasterData.BusinessPeriod) dtEnd = DateTime.Today; |
|
| 841 |
|
|
| 842 | 838 |
} |
| 843 | 839 |
catch (Exception ex) |
| 844 | 840 |
{
|
| ... | ... | |
| 946 | 942 |
/// ??p?J?n???t |
| 947 | 943 |
/// </summary> |
| 948 | 944 |
HireStartDays, |
| 945 |
/// <summary> |
|
| 946 |
/// ??p?I?????t |
|
| 947 |
/// </summary> |
|
| 948 |
HireCompDays, |
|
| 949 | 949 |
} |
| 950 | 950 |
#endregion |
| 951 | 951 |
|
| ... | ... | |
| 959 | 959 |
private int GetPersonInDepartment(ref List<int> DepartmentList, ref List<int> PersonCode, |
| 960 | 960 |
ref List<DateTime> dtStart, ref List<DateTime> dtComp, |
| 961 | 961 |
ref List<DateTime> dtMaxComp, ref List<int> MonthSalary, |
| 962 |
ref List<DateTime> dtHireStDays) |
|
| 962 |
ref List<DateTime> dtHireStDays, ref List<DateTime> dtHireEdDays)
|
|
| 963 | 963 |
{
|
| 964 | 964 |
IOMPersonInCharge PersonDB = new IOMPersonInCharge(); |
| 965 | 965 |
try |
| ... | ... | |
| 976 | 976 |
strSQL += " MAX(E.CONSTRUCTIONPERIODEND) I3, MAX(E.CONSTRUCTIONPERIODEND2) I4,"; |
| 977 | 977 |
strSQL += " SUM(C2.EXECUTIONAMOUNT) M5, SUM(D2.EXECUTIONAMOUNT) S5, SUM(E2.EXECUTIONAMOUNT) I5,"; |
| 978 | 978 |
strSQL += " COUNT(C2.EXECUTIONAMOUNT) M6, COUNT(D2.EXECUTIONAMOUNT) S6, COUNT(E2.EXECUTIONAMOUNT) I6,"; |
| 979 |
strSQL += " P.STARTDATE"; |
|
| 979 |
strSQL += " P.STARTDATE, P.ENDDATE";
|
|
| 980 | 980 |
strSQL += " FROM PERSONINCHARGEMASTER P"; |
| 981 | 981 |
|
| 982 | 982 |
// ?H???S?????f?[?^?? |
| ... | ... | |
| 1014 | 1014 |
strSQL += " AND D.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE"; |
| 1015 | 1015 |
strSQL += " GROUP BY A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER))"; |
| 1016 | 1016 |
|
| 1017 |
// 16???????t?H?[????_????????????? |
|
| 1018 |
if (numUDConstPro.Value <= 16 && DepartmentCode != 9) |
|
| 1019 |
{
|
|
| 1020 |
strSQL += string.Format(" AND P.EMPLOYEECLASSFLG = {0}", (int)CommonDefine.EmployeeClassFlg.Regular);
|
|
| 1021 |
} |
|
| 1022 | 1017 |
if (DepartmentCode != 0) |
| 1023 | 1018 |
strSQL += string.Format(" AND P.DEPARTMENTCODE = {0}", DepartmentCode);
|
| 1024 |
strSQL += " GROUP BY P.DEPARTMENTCODE, P.PERSONCODE, P.PERSONNAME, P.DISPLAYORDER, P.MonthlySalary, P.STARTDATE"; |
|
| 1019 |
strSQL += " GROUP BY P.DEPARTMENTCODE, P.PERSONCODE, P.PERSONNAME, P.DISPLAYORDER, P.MonthlySalary, P.STARTDATE, P.ENDDATE";
|
|
| 1025 | 1020 |
strSQL += " ORDER BY P.DISPLAYORDER"; |
| 1026 | 1021 |
|
| 1027 | 1022 |
ArrayList arList = new ArrayList(); |
| ... | ... | |
| 1066 | 1061 |
// ???z???^???????? |
| 1067 | 1062 |
int Salary = CommonMotions.cnvInt(objRec[(int)GetPersonTerm.MonthlySalary]); |
| 1068 | 1063 |
|
| 1069 |
// ??p?J?n?????????? |
|
| 1070 |
DateTime dtHireDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireStartDays]); |
|
| 1064 |
// ??p?J?n?E?I???????????? |
|
| 1065 |
DateTime dtHireStDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireStartDays]); |
|
| 1066 |
DateTime dtHireEdDay = CommonMotions.cnvDate(objRec[(int)GetPersonTerm.HireCompDays]); |
|
| 1071 | 1067 |
|
| 1072 | 1068 |
DepartmentList.Add(Department); // ?????R?[?h |
| 1073 | 1069 |
PersonCode.Add(Person); // ?S????R?[?h |
| ... | ... | |
| 1075 | 1071 |
dtComp.Add(edDate); // ?I???? |
| 1076 | 1072 |
dtMaxComp.Add(maxDate); // ???I???? |
| 1077 | 1073 |
MonthSalary.Add(Salary); // ???^???z |
| 1078 |
dtHireStDays.Add(dtHireDay); // ??p?J?n?? |
|
| 1074 |
dtHireStDays.Add(dtHireStDay); // ??p?J?n?? |
|
| 1075 |
dtHireEdDays.Add(dtHireEdDay); // ??p?I???? |
|
| 1079 | 1076 |
} |
| 1080 | 1077 |
return arList.Count; |
| 1081 | 1078 |
} |
| ... | ... | |
| 1342 | 1339 |
List<DateTime> dtMaxCompArray = new List<DateTime>(); |
| 1343 | 1340 |
List<int> SalaryArray = new List<int>(); |
| 1344 | 1341 |
List<DateTime> dtHireStDayArray = new List<DateTime>(); |
| 1345 |
GetPersonInDepartment(ref DepInPerArray, ref PersonCDArray, ref dtStartArray, ref dtCompArray, ref dtMaxCompArray, ref SalaryArray, ref dtHireStDayArray); |
|
| 1342 |
List<DateTime> dtHireEdDayArray = new List<DateTime>(); |
|
| 1343 |
GetPersonInDepartment(ref DepInPerArray, ref PersonCDArray, |
|
| 1344 |
ref dtStartArray, ref dtCompArray, |
|
| 1345 |
ref dtMaxCompArray, ref SalaryArray, |
|
| 1346 |
ref dtHireStDayArray, ref dtHireEdDayArray); |
|
| 1346 | 1347 |
|
| 1347 | 1348 |
// ProgressBar??l???X???? |
| 1348 | 1349 |
prgber.Value++; |
| ... | ... | |
| 1353 | 1354 |
DateTime dtDefaultEnd = DateTime.MinValue; |
| 1354 | 1355 |
CreateDefaultStartAndEndDate(ref dtDefaultStart, ref dtDefaultEnd); |
| 1355 | 1356 |
|
| 1356 |
|
|
| 1357 | 1357 |
// ----- ?o????^?\???i?w?b?_?[??\???j |
| 1358 |
SetPayrollData(PersonCDArray, dtStartArray, dtCompArray, SalaryArray, dtMaxCompArray, dtHireStDayArray); |
|
| 1358 |
SetPayrollData(PersonCDArray, dtDefaultStart, dtDefaultEnd, |
|
| 1359 |
dtStartArray, dtCompArray, |
|
| 1360 |
SalaryArray, dtMaxCompArray, |
|
| 1361 |
dtHireStDayArray, dtHireEdDayArray); |
|
| 1359 | 1362 |
|
| 1360 | 1363 |
// ProgressBar??l???X???? |
| 1361 | 1364 |
prgber.Value++; |
| ... | ... | |
| 1536 | 1539 |
strSQL += " ,SUM(A.GROSSPROFIT)"; |
| 1537 | 1540 |
strSQL += " ,SUM(A.NETPROFIT)"; |
| 1538 | 1541 |
|
| 1539 |
//strSQL += " FROM CONSTRUCTIONLEDGER A, CONSTRUCTIONBASEINFO B, PERSONINCHARGEMASTER C, DEPARTMENTMASTER D"; |
|
| 1540 |
//strSQL += " WHERE A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE"; |
|
| 1541 |
//strSQL += string.Format(" AND B.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
|
|
| 1542 |
//strSQL += string.Format(" AND B.CONSTRUCTIONSTATUSFLG != {0}", NotOrder);
|
|
| 1543 |
//strSQL += string.Format(" AND B.TyingFlg != {0}", (int)CommonDefine.BaseInfoTyingFlg.Tying);
|
|
| 1544 |
//strSQL += " AND B.CONSTRUCTIONPERSONCODE = C.PERSONCODE"; |
|
| 1545 |
//strSQL += " AND C.DEPARTMENTCODE = D.DEPARTMENTCODE"; |
|
| 1546 |
|
|
| 1547 | 1542 |
strSQL += " FROM PERSONINCHARGEMASTER C"; |
| 1548 | 1543 |
strSQL += " LEFT JOIN CONSTRUCTIONBASEINFO B ON B.CONSTRUCTIONPERSONCODE = C.PERSONCODE"; |
| 1549 | 1544 |
strSQL += string.Format(" AND B.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
|
| ... | ... | |
| 1553 | 1548 |
strSQL += " DEPARTMENTMASTER D"; |
| 1554 | 1549 |
strSQL += " WHERE B.CONSTRUCTIONPERSONCODE = C.PERSONCODE"; |
| 1555 | 1550 |
strSQL += " AND C.DEPARTMENTCODE = D.DEPARTMENTCODE"; |
| 1551 |
strSQL += " AND C.DELETEFLG = 0"; |
|
| 1556 | 1552 |
|
| 1557 | 1553 |
strSQL += " GROUP BY C.DEPARTMENTCODE, D.DEPARTMENTSTRING, D.DISPLAYORDER"; |
| 1558 | 1554 |
strSQL += " ORDER BY 3 ASC"; |
| ... | ... | |
| 1618 | 1614 |
/// <summary> |
| 1619 | 1615 |
/// ??????o????^??\?????? |
| 1620 | 1616 |
/// </summary> |
| 1621 |
/// <param name="PersonCDArray"></param> |
|
| 1622 |
/// <param name="dtStartArray"></param> |
|
| 1623 |
/// <param name="dtCompArray"></param> |
|
| 1624 |
/// <param name="SalaryArray"></param> |
|
| 1625 |
private void SetPayrollData(List<int> PersonCDArray, List<DateTime> dtStartArray, |
|
| 1626 |
List<DateTime> dtCompArray, List<int> SalaryArray, |
|
| 1627 |
List<DateTime> dtMaxCompArray, List<DateTime> dtHireStDayArray) |
|
| 1617 |
private void SetPayrollData(List<int> PersonCDArray, DateTime dtDefaultStart, DateTime dtDefaultEnd, |
|
| 1618 |
List<DateTime> dtStartArray, List<DateTime> dtCompArray, |
|
| 1619 |
List<int> SalaryArray, List<DateTime> dtMaxCompArray, |
|
| 1620 |
List<DateTime> dtHireStDayArray, List<DateTime> dtHireEdDayArray) |
|
| 1628 | 1621 |
{
|
| 1629 | 1622 |
try |
| 1630 | 1623 |
{
|
| 1624 |
//Debug.WriteLine("---------------------");
|
|
| 1631 | 1625 |
// ?????R?[?h?? |
| 1632 | 1626 |
int DepartmentCode = GetDepartmentCode(); |
| 1633 | 1627 |
|
| 1634 | 1628 |
// ??????????E?????????? |
| 1635 |
DateTime dtDefaultStart = DateTime.MinValue; |
|
| 1636 |
DateTime dtDefaultEnd = DateTime.MinValue; |
|
| 1637 |
CreateDefaultStartAndEndDate(ref dtDefaultStart, ref dtDefaultEnd); |
|
| 1629 |
DateTime dtCurDefaultStart = dtDefaultStart; |
|
| 1630 |
DateTime dtCurDefaultEnd = dtDefaultEnd; |
|
| 1638 | 1631 |
|
| 1639 | 1632 |
int TotalSalary = 0; // ???^???? |
| 1640 | 1633 |
int OnSalary = 0; // ?U?????^???z?? |
| ... | ... | |
| 1649 | 1642 |
// ???^???W?v???? |
| 1650 | 1643 |
for (int i = 0; i < PersonCDArray.Count; i++) |
| 1651 | 1644 |
{
|
| 1645 |
// ??????????E?????????? |
|
| 1646 |
dtCurDefaultStart = dtDefaultStart; |
|
| 1647 |
dtCurDefaultEnd = dtDefaultEnd; |
|
| 1648 |
|
|
| 1649 |
// ???????????????J?n??????????? |
|
| 1650 |
if (dtDefaultStart < dtHireStDayArray[i] && dtHireStDayArray[i] < dtDefaultEnd) |
|
| 1651 |
{
|
|
| 1652 |
dtCurDefaultStart = dtHireStDayArray[i]; |
|
| 1653 |
} |
|
| 1654 |
// ??????????????I???????????? |
|
| 1655 |
if (dtDefaultStart < dtHireEdDayArray[i] && dtHireEdDayArray[i] < dtDefaultEnd) |
|
| 1656 |
{
|
|
| 1657 |
dtCurDefaultEnd = dtHireEdDayArray[i]; |
|
| 1658 |
} |
|
| 1659 |
|
|
| 1652 | 1660 |
// ?J?n???? |
| 1653 | 1661 |
dtStart = dtStartArray[i]; |
| 1654 | 1662 |
// ?f?[?^?????????????????Z?b?g???? |
| 1655 | 1663 |
if (dtStart == DateTime.MaxValue) |
| 1656 | 1664 |
{
|
| 1657 |
if (dtDefaultStart < dtHireStDayArray[i] && dtHireStDayArray[i] < dtDefaultEnd) |
|
| 1658 |
dtStart = dtHireStDayArray[i]; |
|
| 1659 |
else |
|
| 1660 |
dtStart = dtDefaultStart; |
|
| 1665 |
dtStart = dtCurDefaultStart; |
|
| 1661 | 1666 |
} |
| 1662 |
// ?f?[?^?????????????????Z?b?g????
|
|
| 1663 |
if (dtStart == DateTime.MinValue) dtStart = dtDefaultStart;
|
|
| 1664 |
// ?I??????
|
|
| 1665 |
dtEnd = dtCompArray[i];
|
|
| 1666 |
if (dtEnd == DateTime.MinValue) dtEnd = dtDefaultEnd; |
|
| 1667 |
else if (dtCurDefaultStart < dtStart)
|
|
| 1668 |
{ // ?J?n?????????????????????Z?b?g????
|
|
| 1669 |
dtStart = dtCurDefaultStart;
|
|
| 1670 |
}
|
|
| 1671 |
|
|
| 1667 | 1672 |
// ?????? |
| 1668 | 1673 |
dtMax = dtMaxCompArray[i]; |
| 1669 |
if (dtMax == DateTime.MinValue) dtMax = dtDefaultEnd; |
|
| 1674 |
if (dtMax == DateTime.MinValue) dtMax = dtCurDefaultEnd; |
|
| 1675 |
// ??????????????????? |
|
| 1676 |
if (dtMax < DateTime.Today.Date) |
|
| 1677 |
{
|
|
| 1678 |
if (numUDConstPro.Value < CommonMotions.SystemMasterData.BusinessPeriod) |
|
| 1679 |
{ // ?O????O?????
|
|
| 1680 |
dtMax = dtCurDefaultEnd; |
|
| 1681 |
} |
|
| 1682 |
else if (dtHireEdDayArray[i] != DateTime.MinValue |
|
| 1683 |
&& (dtDefaultStart < dtHireEdDayArray[i] && dtHireEdDayArray[i] < dtDefaultEnd)) |
|
| 1684 |
{ // ??????????????I????????????
|
|
| 1685 |
dtMax = dtCurDefaultEnd; |
|
| 1686 |
} |
|
| 1687 |
else |
|
| 1688 |
{ // ??O?????
|
|
| 1689 |
dtMax = DateTime.Today.Date; |
|
| 1690 |
} |
|
| 1691 |
} |
|
| 1670 | 1692 |
|
| 1671 | 1693 |
// ???^???? |
| 1672 |
int workSalary = CalcElapsedSalary(dtStart, dtEnd, PersonCDArray[i], SalaryArray[i]);
|
|
| 1694 |
int workSalary = CalcElapsedSalary(dtStart, dtMax, PersonCDArray[i], SalaryArray[i]);
|
|
| 1673 | 1695 |
// ??v???Z |
| 1674 | 1696 |
if (workSalary > 0) TotalSalary += workSalary; |
| 1697 |
Debug.WriteLine(string.Format("Code={0} Val={1} Start={2} End={3}", PersonCDArray[i], workSalary.ToString("0,0"), dtStart, dtMax));
|
|
| 1675 | 1698 |
|
| 1676 | 1699 |
// ?v?Z?J?n?I???????????? |
| 1677 | 1700 |
if (dtStart < dtDispStart) dtDispStart = dtStart; |
| 1678 | 1701 |
if (dtDispComplate < dtMax) dtDispComplate = dtMax; |
| 1679 | 1702 |
} |
| 1680 | 1703 |
|
| 1704 |
// ----- ?\?????? |
|
| 1681 | 1705 |
// ?U?????^???z?E?????v???z?E?e???v???z?? |
| 1682 | 1706 |
ProfitGeneral(DepartmentCode, 0, ref OnSalary, ref NetIncome, ref NonSalary); |
| 1683 | 1707 |
|
| ... | ... | |
| 1727 | 1751 |
/// <returns></returns> |
| 1728 | 1752 |
private int CalcElapsedSalary(DateTime dtStart, DateTime dtLast, int PersonCode, int Salary) |
| 1729 | 1753 |
{
|
| 1754 |
IOMPersonSalary SalDB = new IOMPersonSalary(); |
|
| 1730 | 1755 |
try |
| 1731 | 1756 |
{
|
| 1732 |
// ??????????????? |
|
| 1733 |
int WorkingDay = ClsCalendar.CalcPassedDaysCount(dtStart, dtLast); |
|
| 1757 |
//// ???????????????
|
|
| 1758 |
//int WorkingDay = ClsCalendar.CalcPassedDaysCount(dtStart, dtLast);
|
|
| 1734 | 1759 |
|
| 1735 |
// ???^?? |
|
| 1736 |
int MonthlyPay = CommonMotions.cnvRound(Salary * CommonDefine.s_SalaryCorrection); |
|
| 1760 |
//// ???^??
|
|
| 1761 |
//int MonthlyPay = CommonMotions.cnvRound(Salary * CommonDefine.s_SalaryCorrection);
|
|
| 1737 | 1762 |
|
| 1738 |
// ?????v?Z |
|
| 1739 |
double daylySalary = CommonMotions.cnvRound(MonthlyPay / CommonDefine.s_ManHourUnitMonth); |
|
| 1763 |
//// ?????v?Z
|
|
| 1764 |
//double daylySalary = CommonMotions.cnvRound(MonthlyPay / CommonDefine.s_ManHourUnitMonth);
|
|
| 1740 | 1765 |
|
| 1741 |
// ?o????^?v?Z |
|
| 1742 |
int RetSalary =CommonMotions.cnvRound(WorkingDay * daylySalary); |
|
| 1766 |
//// ?o????^?v?Z |
|
| 1767 |
//int RetSalary =CommonMotions.cnvRound(WorkingDay * daylySalary); |
|
| 1768 |
int RetSalary = 0; |
|
| 1743 | 1769 |
|
| 1770 |
string strSQL = "SELECT * FROM"; |
|
| 1771 |
strSQL += " (SELECT AX.DT,"; |
|
| 1772 |
strSQL += string.Format(" ROUND((A.MONTHLYSALARY * {0})/ {1}),", CommonDefine.s_SalaryCorrection, CommonDefine.s_ManHourUnitMonth);
|
|
| 1773 |
strSQL += " row_number() OVER(PARTITION BY AX.DT ORDER BY A.STARTDATE DESC) row_num"; |
|
| 1774 |
strSQL += " FROM PERSONSALARYMASTER A,"; |
|
| 1775 |
strSQL += " (SELECT TO_CHAR((st + ROWNUM - 1), 'YYYY/MM/DD') DT"; |
|
| 1776 |
strSQL += string.Format(" FROM SYS.ALL_CATALOG A, (SELECT TO_DATE('{0}{1}{2}', 'yyyymmdd') st,", dtStart.Year.ToString("0000"), dtStart.Month.ToString("00"), dtStart.Day.ToString("00"));
|
|
| 1777 |
strSQL += string.Format(" TO_DATE('{0}{1}{2}', 'yyyymmdd') ed", dtLast.Year.ToString("0000"), dtLast.Month.ToString("00"), dtLast.Day.ToString("00"));
|
|
| 1778 |
strSQL += " FROM SYS.DUAL) B WHERE ROWNUM <= (ed - st + 1)) AX"; |
|
| 1779 |
strSQL += string.Format(" WHERE A.PERSONCODE = {0}", PersonCode);
|
|
| 1780 |
strSQL += " AND A.STARTDATE <= AX.DT) B WHERE row_num = 1"; |
|
| 1781 |
|
|
| 1782 |
ArrayList ArData = new ArrayList(); |
|
| 1783 |
SalDB.ExecuteReader(strSQL, ref ArData); |
|
| 1784 |
|
|
| 1785 |
foreach (object[] objRec in ArData) |
|
| 1786 |
{
|
|
| 1787 |
RetSalary += CommonMotions.cnvInt(objRec[1]); |
|
| 1788 |
} |
|
| 1789 |
|
|
| 1744 | 1790 |
return RetSalary; |
| 1745 | 1791 |
} |
| 1746 | 1792 |
catch (Exception ex) |
| ... | ... | |
| 1748 | 1794 |
logger.ErrorFormat("?V?X?e???G???[?F{0}?F{1}", CommonMotions.GetMethodName(), ex.Message);
|
| 1749 | 1795 |
return 0; |
| 1750 | 1796 |
} |
| 1797 |
finally |
|
| 1798 |
{
|
|
| 1799 |
SalDB.close(); SalDB = null; |
|
| 1800 |
} |
|
| 1751 | 1801 |
} |
| 1752 | 1802 |
#endregion |
| 1753 | 1803 |
|
| trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs | ||
|---|---|---|
| 4523 | 4523 |
DetailRec.ConstructionCode = LargeList[iy].ConstructionCode; |
| 4524 | 4524 |
DetailRec.ComponentCode = LargeList[iy].ComponentCode; |
| 4525 | 4525 |
DetailRec.ItemName = LargeList[iy].ItemName; |
| 4526 |
DetailRec.SpecName = LargeList[iy].WorkName; |
|
| 4526 | 4527 |
DetailRec.UnitCount = 1.0; |
| 4527 | 4528 |
DetailRec.UnitName = "式"; |
| 4528 | 4529 |
DetailRec.LineTotal = LargeList[iy].PriceValue; |
| trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmPriceOfBudget.cs | ||
|---|---|---|
| 91 | 91 |
/// <summary> |
| 92 | 92 |
/// 合計行タイトル |
| 93 | 93 |
/// </summary> |
| 94 |
private static string[] s_TotalTitleArray = new string[] { "*台帳未作成分合計*",
|
|
| 95 |
"*施工中台帳分合計*",
|
|
| 96 |
"*完了工事台帳分合計*",
|
|
| 97 |
"** 総 合 計 **",
|
|
| 94 |
private static string[] s_TotalTitleArray = new string[] { "*台帳 未作成分 合計*",
|
|
| 95 |
"*台帳 作成済 合計*",
|
|
| 96 |
"*台帳 完了済 合計*",
|
|
| 97 |
"** 総 合 計 **",
|
|
| 98 | 98 |
}; |
| 99 | 99 |
#endregion |
| 100 | 100 |
#endregion |
| ... | ... | |
| 426 | 426 |
{
|
| 427 | 427 |
IOConstructionBaseInfo BaseDB = new IOConstructionBaseInfo(); |
| 428 | 428 |
DataGridView dgv = dgvMain; |
| 429 |
|
|
| 430 |
// 合計エリア初期化 |
|
| 431 |
int TotalColCnt = Enum.GetNames(typeof(GridColumn)).Length; |
|
| 432 |
int[] CurTotalArea = new int[TotalColCnt]; |
|
| 433 |
Array.Clear(CurTotalArea, 0, CurTotalArea.Length); |
|
| 429 | 434 |
try |
| 430 | 435 |
{
|
| 431 | 436 |
int SelectPeriod = (int)numUDConstPro.Value; |
| ... | ... | |
| 468 | 473 |
if (!BaseDB.ExecuteReader(strSQL, ref DatArList)) return; |
| 469 | 474 |
if (DatArList.Count == 0) return; |
| 470 | 475 |
|
| 471 |
// 合計エリア初期化 |
|
| 472 |
int TotalColCnt = Enum.GetNames(typeof(GridColumn)).Length; |
|
| 473 |
int[] CurTotalArea = new int[TotalColCnt]; |
|
| 474 |
Array.Clear(CurTotalArea, 0, CurTotalArea.Length); |
|
| 475 |
|
|
| 476 | 476 |
int ino = 1; |
| 477 | 477 |
bool FirstFlg = true; |
| 478 | 478 |
string BreakKey = string.Empty; |
| ... | ... | |
| 509 | 509 |
CurTotalArea[(int)GridColumn.SaleseExpeses] += (int)(OrdersDecisionPrice * ExpensesRatio3); // 営業経費 |
| 510 | 510 |
} |
| 511 | 511 |
|
| 512 |
// 合計行表示 |
|
| 513 |
DisplayTotalRow((int)RowTitleNum.DataType1, CurTotalArea, false); |
|
| 514 |
|
|
| 515 | 512 |
m_TotalArea[(int)GridColumn.OrdersPrice] += CurTotalArea[(int)GridColumn.OrdersPrice]; |
| 516 | 513 |
m_TotalArea[(int)GridColumn.CompanyExpeses] += CurTotalArea[(int)GridColumn.CompanyExpeses]; |
| 517 | 514 |
m_TotalArea[(int)GridColumn.DepartmentExpeses] += CurTotalArea[(int)GridColumn.DepartmentExpeses]; |
| ... | ... | |
| 524 | 521 |
finally |
| 525 | 522 |
{
|
| 526 | 523 |
BaseDB.close(); BaseDB = null; |
| 524 |
|
|
| 525 |
// 合計行表示 |
|
| 526 |
DisplayTotalRow((int)RowTitleNum.DataType1, CurTotalArea, false); |
|
| 527 | 527 |
} |
| 528 | 528 |
} |
| 529 | 529 |
#endregion |
| ... | ... | |
| 566 | 566 |
int[] CurTotalArea = new int[TotalColCnt]; |
| 567 | 567 |
Array.Clear(CurTotalArea, 0, CurTotalArea.Length); |
| 568 | 568 |
|
| 569 |
bool FirstFlg = true;
|
|
| 569 |
int CompFlg = -1;
|
|
| 570 | 570 |
int BreakKey = -1; |
| 571 |
int ino = 1; |
|
| 572 | 571 |
foreach (object[] objGetArry in DatArList) |
| 573 | 572 |
{
|
| 574 |
int CompFlg = CommonMotions.cnvInt(objGetArry[0]);
|
|
| 573 |
CompFlg = CommonMotions.cnvInt(objGetArry[0]); |
|
| 575 | 574 |
if (BreakKey != CompFlg) |
| 576 | 575 |
{
|
| 577 |
if (!FirstFlg) |
|
| 578 |
{
|
|
| 579 |
// 合計表示(施工中だけ表示) |
|
| 580 |
if (CompFlg == 0) DisplayTotalRow((int)RowTitleNum.DataType2, CurTotalArea); |
|
| 581 |
} |
|
| 582 | 576 |
Array.Clear(CurTotalArea, 0, CurTotalArea.Length); |
| 583 | 577 |
BreakKey = CompFlg; |
| 584 |
FirstFlg = false; |
|
| 585 | 578 |
} |
| 586 | 579 |
|
| 587 | 580 |
int OrdersDecisionPrice = CommonMotions.cnvInt(objGetArry[1]); // 受注金額 |
| ... | ... | |
| 600 | 593 |
m_TotalArea[(int)GridColumn.SaleseExpeses] += CurTotalArea[(int)GridColumn.SaleseExpeses]; |
| 601 | 594 |
|
| 602 | 595 |
// 合計行表示 |
| 603 |
DisplayTotalRow(ino++, CurTotalArea);
|
|
| 596 |
DisplayTotalRow((CompFlg + 1), CurTotalArea);
|
|
| 604 | 597 |
} |
| 598 |
// データが無い場合は足りない合計を表示する |
|
| 599 |
int ArrayCount = Enum.GetNames(typeof(CommonDefine.ComplateTitleNo)).Length; |
|
| 600 |
if (DatArList.Count < ArrayCount) |
|
| 601 |
{
|
|
| 602 |
Array.Clear(CurTotalArea, 0, CurTotalArea.Length); |
|
| 603 |
switch (CompFlg) |
|
| 604 |
{
|
|
| 605 |
case (int)CommonDefine.ComplateTitleNo.Operateing: |
|
| 606 |
DisplayTotalRow((int)RowTitleNum.DataType3, CurTotalArea); |
|
| 607 |
break; |
|
| 608 |
case (int)CommonDefine.ComplateTitleNo.Complated: |
|
| 609 |
InsertZeroTotalRow((int)RowTitleNum.DataType2, CurTotalArea); |
|
| 610 |
break; |
|
| 611 |
} |
|
| 612 |
} |
|
| 605 | 613 |
} |
| 606 | 614 |
catch (System.Exception ex) |
| 607 | 615 |
{
|
| ... | ... | |
| 645 | 653 |
} |
| 646 | 654 |
#endregion |
| 647 | 655 |
|
| 656 |
#region 0の合計を表示 |
|
| 657 |
/// <summary> |
|
| 658 |
/// 0の合計を表示する |
|
| 659 |
/// </summary> |
|
| 660 |
private void InsertZeroTotalRow(int TitleNo, int[] TotalArea) |
|
| 661 |
{
|
|
| 662 |
try |
|
| 663 |
{
|
|
| 664 |
DataGridView dgv = dgvMain; |
|
| 665 |
int LastRowCnt = dgv.RowCount; |
|
| 666 |
|
|
| 667 |
dgv.Rows.Insert((LastRowCnt - 2), 2); |
|
| 668 |
int EditRowCnt = dgv.RowCount - 3; |
|
| 669 |
|
|
| 670 |
// 合計行表示 |
|
| 671 |
dgv.Rows[EditRowCnt].Cells[(int)GridColumn.ConstrName].Value = s_TotalTitleArray[TitleNo]; |
|
| 672 |
dgv.Rows[EditRowCnt].Cells[(int)GridColumn.ConstrName].Style.Alignment = DataGridViewContentAlignment.MiddleCenter; |
|
| 673 |
// 行の色を変える |
|
| 674 |
SetRowColor(dgv.Rows[EditRowCnt], s_RowTotalBackColor, s_RowTotalForeColor); |
|
| 675 |
|
|
| 676 |
// 数値表示 |
|
| 677 |
for (int i = (int)GridColumn.OrdersPrice; i <= (int)GridColumn.SaleseExpeses; i++) |
|
| 678 |
{
|
|
| 679 |
dgv.Rows[EditRowCnt].Cells[i].Value = TotalArea[i].ToString("#,0");
|
|
| 680 |
} |
|
| 681 |
} |
|
| 682 |
catch (System.Exception ex) |
|
| 683 |
{
|
|
| 684 |
logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
|
|
| 685 |
} |
|
| 686 |
} |
|
| 687 |
#endregion |
|
| 688 |
|
|
| 648 | 689 |
#region 行色設定 |
| 649 | 690 |
/// <summary> |
| 650 | 691 |
/// 行を選択色にする |
| trunk/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs | ||
|---|---|---|
| 33 | 33 |
// 既定値にすることができます: |
| 34 | 34 |
// [assembly: AssemblyVersion("1.0.*")]
|
| 35 | 35 |
[assembly: AssemblyVersion("0.0.0.0")]
|
| 36 |
[assembly: AssemblyFileVersion("0.9.9.21")]
|
|
| 36 |
[assembly: AssemblyFileVersion("0.9.9.25")]
|
|
| 37 | 37 |
// Log4netを使用する |
| 38 | 38 |
[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)] |
他の形式にエクスポート: Unified diff