リビジョン 195
不要クラス削除
StringBuilder化
branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsChangeLedgerData.cs | ||
---|---|---|
58 | 58 |
{ |
59 | 59 |
try |
60 | 60 |
{ |
61 |
string strSQL = string.Empty;
|
|
61 |
StringBuilder strSQL = new StringBuilder();
|
|
62 | 62 |
bool bRet = true; |
63 | 63 |
foreach (int ConstrCode in ConstrCodeList) |
64 | 64 |
{ |
65 | 65 |
// 工事台帳実行データよりグループごとの合計金額を取得する |
66 |
strSQL = "SELECT GROUPCOUNT, SUM(PAYMENTAMOUNT)";
|
|
67 |
strSQL += " FROM CONSTRUCTIONLEDGEREXCUTE";
|
|
68 |
strSQL += string.Format(" WHERE CONSTRUCTIONCODE = {0}", ConstrCode);
|
|
69 |
strSQL += " GROUP BY GROUPCOUNT";
|
|
70 |
strSQL += " ORDER BY GROUPCOUNT";
|
|
66 |
strSQL.Append("SELECT GROUPCOUNT, SUM(PAYMENTAMOUNT)");
|
|
67 |
strSQL.Append(" FROM CONSTRUCTIONLEDGEREXCUTE");
|
|
68 |
strSQL.AppendFormat(" WHERE CONSTRUCTIONCODE = {0}", ConstrCode);
|
|
69 |
strSQL.Append(" GROUP BY GROUPCOUNT");
|
|
70 |
strSQL.Append(" ORDER BY GROUPCOUNT");
|
|
71 | 71 |
|
72 | 72 |
ArrayList InData = new ArrayList(); |
73 |
if (!LedgerExcuteDB.ExecuteReader(strSQL, ref InData, false)) continue; |
|
73 |
if (!LedgerExcuteDB.ExecuteReader(strSQL.ToString(), ref InData, false)) continue;
|
|
74 | 74 |
|
75 | 75 |
// データ無は次のデータ |
76 | 76 |
if (InData.Count == 0) continue; |
... | ... | |
104 | 104 |
int Billing = CalcGetTotal(InData, GroupCodeList); // ----- 請求額 |
105 | 105 |
|
106 | 106 |
// ----- 工事詳細台帳更新 |
107 |
strSQL = "UPDATE CONSTRUCTIONLEDGER SET"; |
|
108 |
strSQL += string.Format(" TOTALPAYMENT = {0}", Payment); |
|
109 |
strSQL += string.Format(" , GROSSPROFIT = {0}", (Billing - Payment)); |
|
110 |
strSQL += string.Format(" , Allowance = {0}", Allowance); |
|
111 |
strSQL += string.Format(" , NETPROFIT = {0}", (Billing - (Payment + Allowance + PExpenses))); |
|
112 |
strSQL += string.Format(" WHERE CONSTRUCTIONCODE = {0}", ConstrCode); |
|
113 |
if (!LedgerExcuteDB.ExecuteNonQuery(strSQL, false)) |
|
107 |
strSQL.Clear(); |
|
108 |
strSQL.Append("UPDATE CONSTRUCTIONLEDGER SET"); |
|
109 |
strSQL.AppendFormat(" TOTALPAYMENT = {0}", Payment); |
|
110 |
strSQL.AppendFormat(" , GROSSPROFIT = {0}", (Billing - Payment)); |
|
111 |
strSQL.AppendFormat(" , Allowance = {0}", Allowance); |
|
112 |
strSQL.AppendFormat(" , NETPROFIT = {0}", (Billing - (Payment + Allowance + PExpenses))); |
|
113 |
strSQL.AppendFormat(" WHERE CONSTRUCTIONCODE = {0}", ConstrCode); |
|
114 |
if (!LedgerExcuteDB.ExecuteNonQuery(strSQL.ToString(), false)) |
|
114 | 115 |
{ |
115 | 116 |
bRet = false; |
116 | 117 |
break; |
... | ... | |
198 | 199 |
LedgerExDB.connect(); LedgerExDB.beginTran(); |
199 | 200 |
PersonDB.connect(); PersonDB.beginTran(); |
200 | 201 |
|
202 |
StringBuilder DetailSQL = new StringBuilder(); |
|
201 | 203 |
foreach (ConstructionLedger LedgerRec in LedgerList) |
202 | 204 |
{ |
203 | 205 |
|
204 | 206 |
// 工事詳細台帳明細データ取得 |
205 | 207 |
List<ConstructionLedgerDetail> DetailList = new List<ConstructionLedgerDetail>(); |
206 |
string DetailSQL = LedgerDeDB.CreatePrimarykeyString(LedgerRec.ConstructionCode); |
|
207 |
DetailSQL += string.Format(" AND OperatingFlg = {0}", (int)CommonDefine.SalaryOperateKind.Oparateing); // 対応中フラグ |
|
208 |
DetailSQL += string.Format(" AND SALARYFLG != {0}", (int)CommonDefine.SalaryDevision.Noting); // 給与振分区分 |
|
209 |
DetailSQL += string.Format(" AND GROUPCOUNT IN ({0},{1},{2})", |
|
208 |
DetailSQL.Clear(); |
|
209 |
DetailSQL.Append(LedgerDeDB.CreatePrimarykeyString(LedgerRec.ConstructionCode)); |
|
210 |
DetailSQL.AppendFormat(" AND OperatingFlg = {0}", (int)CommonDefine.SalaryOperateKind.Oparateing); // 対応中フラグ |
|
211 |
DetailSQL.AppendFormat(" AND SALARYFLG != {0}", (int)CommonDefine.SalaryDevision.Noting); // 給与振分区分 |
|
212 |
DetailSQL.AppendFormat(" AND GROUPCOUNT IN ({0},{1},{2})", |
|
210 | 213 |
(int)FrmConstructionLedger.DataGroup.Instructor, // 指導員給料 |
211 | 214 |
(int)FrmConstructionLedger.DataGroup.Assistant, // 副担当者給料 |
212 | 215 |
(int)FrmConstructionLedger.DataGroup.Payroll); // 担当者給料行 |
213 | 216 |
|
214 |
if (!LedgerDeDB.SelectAction(DetailSQL, ref DetailList, false) || DetailList.Count == 0) continue; |
|
217 |
if (!LedgerDeDB.SelectAction(DetailSQL.ToString(), ref DetailList, false) || DetailList.Count == 0) continue;
|
|
215 | 218 |
|
216 | 219 |
DateTime TargetDate = DateTime.Now.Date; |
217 | 220 |
// 対象月より書込みカラム位置を取得する |
... | ... | |
226 | 229 |
// 施工管理中担当者ではない場合は処理しない |
227 | 230 |
if (CurRec.OperatingFlg == (int)CommonDefine.SalaryOperateKind.Complate) continue; |
228 | 231 |
|
229 |
//if (LedgerRec.ConstructionCode == 2016043601) |
|
230 |
//{ |
|
231 |
// Debug.WriteLine("stop"); |
|
232 |
//} |
|
233 |
|
|
234 | 232 |
// セットする金額を計算する |
235 | 233 |
switch (CurRec.SalaryFlg) |
236 | 234 |
{ |
... | ... | |
488 | 486 |
try |
489 | 487 |
{ |
490 | 488 |
// キー作成 |
491 |
string strSQL = LedgerExDB.CreatePrimarykeyString(ConstrCode, GroupCount, LineCount, ColumnCount); |
|
492 |
strSQL += string.Format(" AND DATE(TargetMonth) = STR_TO_DATE('{0}','%Y/%m/%d')", ColumnDate.ToShortDateString()); |
|
489 |
StringBuilder strSQL = new StringBuilder(); |
|
490 |
strSQL.Append(LedgerExDB.CreatePrimarykeyString(ConstrCode, GroupCount, LineCount, ColumnCount)); |
|
491 |
strSQL.AppendFormat(" AND DATE(TargetMonth) = STR_TO_DATE('{0}','%Y/%m/%d')", ColumnDate.ToShortDateString()); |
|
493 | 492 |
|
494 | 493 |
// データ読込み |
495 | 494 |
List<ConstructionLedgerExcute> LedgerExDBList = new List<ConstructionLedgerExcute>(); |
496 | 495 |
ConstructionLedgerExcute LedgerExDBRec = new ConstructionLedgerExcute(); |
497 |
bool ReadData = LedgerExDB.SelectAction(strSQL, ref LedgerExDBList, false); |
|
496 |
bool ReadData = LedgerExDB.SelectAction(strSQL.ToString(), ref LedgerExDBList, false);
|
|
498 | 497 |
if (!ReadData || LedgerExDBList.Count == 0) |
499 | 498 |
{ |
500 | 499 |
LedgerExDBRec.ConstructionCode = ConstrCode; // 工事コード |
... | ... | |
512 | 511 |
|
513 | 512 |
// データ更新 |
514 | 513 |
if (!LedgerExDB.UpdateFeild(ConstrCode, GroupCount, LineCount, ColumnCount |
515 |
, (int)IOConstructionLedgerExcute.TableColumn.PaymentAmount, DaySalary, false)) return false; |
|
514 |
, (int)IOConstructionLedgerExcute.TableColumn.PaymentAmount, (double)DaySalary, false)) return false;
|
|
516 | 515 |
|
517 | 516 |
return true; |
518 | 517 |
} |
branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsSystemOnceExecute.cs | ||
---|---|---|
395 | 395 |
IOMessageBoardData mbdDB = new IOMessageBoardData(); |
396 | 396 |
IOMessageBoardTerget mbtDB = new IOMessageBoardTerget(); |
397 | 397 |
|
398 |
string strSQL = "SELECT"; |
|
399 |
strSQL += " t1.MaterialItemCode"; |
|
400 |
strSQL += ", t1.ProcessDate"; |
|
401 |
strSQL += ", t1.SeqNo"; |
|
402 |
strSQL += ", t1.RecKind"; |
|
403 |
strSQL += ", t1.ConstructionCode"; |
|
404 |
strSQL += ", t1.PersonCode"; |
|
405 |
strSQL += ", t1.MaterialCount"; |
|
406 |
strSQL += ", MAX(t1.REPAYPLANDATE) AS RepayPlanDate"; |
|
407 |
strSQL += ", t1.CommentText"; |
|
408 |
strSQL += ", t1.EntryDate"; |
|
409 |
strSQL += ", t1.UpdateDate"; |
|
410 |
strSQL += " FROM"; |
|
411 |
strSQL += " MATERIALRECORDINFO AS t1"; |
|
412 |
strSQL += " INNER JOIN CONSTRUCTIONMATERIALINFO AS t2"; |
|
413 |
strSQL += " ON t1.CONSTRUCTIONCODE = t2.CONSTRUCTIONCODE"; |
|
414 |
strSQL += " AND t1.MATERIALITEMCODE = t2.MATERIALITEMCODE"; |
|
415 |
strSQL += " AND t2.COMPLETEFLG = 0"; |
|
416 |
strSQL += " WHERE"; |
|
417 |
strSQL += " t1.CONSTRUCTIONCODE > 0"; |
|
418 |
strSQL += " AND t1.CONSTRUCTIONCODE IS NOT NULL"; |
|
419 |
strSQL += " AND t1.RECKIND = 0"; |
|
420 |
strSQL += " AND t1.REPAYPLANDATE <= DATE_FORMAT(NOW(), '%Y/%m/%d')"; |
|
421 |
strSQL += " GROUP BY"; |
|
422 |
strSQL += " t1.CONSTRUCTIONCODE"; |
|
423 |
strSQL += ", t1.PERSONCODE"; |
|
424 |
strSQL += " ORDER BY"; |
|
425 |
strSQL += " t1.CONSTRUCTIONCODE"; |
|
426 |
strSQL += " , t1.REPAYPLANDATE"; |
|
398 |
StringBuilder strSQL = new StringBuilder(); |
|
427 | 399 |
|
428 | 400 |
try |
429 | 401 |
{ |
... | ... | |
434 | 406 |
|
435 | 407 |
bool procflg = true; |
436 | 408 |
|
409 |
CreateGetMaterialDataSQL(ref strSQL); |
|
410 |
|
|
437 | 411 |
// 資材履歴情報の返却未完了の貸出データを取得する |
438 | 412 |
IOMaterialRecordInfo mrDB = new IOMaterialRecordInfo(); |
439 | 413 |
ArrayList mrData = new ArrayList(); |
440 | 414 |
List<MaterialRecordInfo> data = new List<MaterialRecordInfo>(); |
441 | 415 |
|
442 |
if (mrDB.ExecuteReader(strSQL, ref mrData)) |
|
416 |
if (mrDB.ExecuteReader(strSQL.ToString(), ref mrData))
|
|
443 | 417 |
{ |
444 | 418 |
foreach (object[] objwrk in mrData) |
445 | 419 |
{ |
446 | 420 |
MaterialRecordInfo wrkRec = new MaterialRecordInfo(); |
447 | 421 |
mrDB.Reader2Struct(objwrk, ref wrkRec); |
422 |
|
|
448 | 423 |
// チェック |
449 | 424 |
TermMaster term = new TermMaster(); |
450 | 425 |
MaterualStatusCheck(wrkRec, StartDate, ref term); |
... | ... | |
491 | 466 |
} |
492 | 467 |
#endregion |
493 | 468 |
|
469 |
#region 資材返却チェックデータ取得SQL作成 |
|
470 |
/// <summary> |
|
471 |
/// 資材返却チェックデータ取得SQL作成 |
|
472 |
/// </summary> |
|
473 |
/// <param name="strSQL"></param> |
|
474 |
private void CreateGetMaterialDataSQL(ref StringBuilder strSQL) |
|
475 |
{ |
|
476 |
try |
|
477 |
{ |
|
478 |
strSQL.Append("SELECT"); |
|
479 |
strSQL.Append(" t1.MaterialItemCode"); |
|
480 |
strSQL.Append(", t1.ProcessDate"); |
|
481 |
strSQL.Append(", t1.SeqNo"); |
|
482 |
strSQL.Append(", t1.RecKind"); |
|
483 |
strSQL.Append(", t1.ConstructionCode"); |
|
484 |
strSQL.Append(", t1.PersonCode"); |
|
485 |
strSQL.Append(", t1.MaterialCount"); |
|
486 |
strSQL.Append(", MAX(t1.REPAYPLANDATE) AS RepayPlanDate"); |
|
487 |
strSQL.Append(", t1.CommentText"); |
|
488 |
strSQL.Append(", t1.EntryDate"); |
|
489 |
strSQL.Append(", t1.UpdateDate"); |
|
490 |
strSQL.Append(" FROM"); |
|
491 |
strSQL.Append(" MATERIALRECORDINFO AS t1"); |
|
492 |
strSQL.Append(" INNER JOIN CONSTRUCTIONMATERIALINFO AS t2"); |
|
493 |
strSQL.Append(" ON t1.CONSTRUCTIONCODE = t2.CONSTRUCTIONCODE"); |
|
494 |
strSQL.Append(" AND t1.MATERIALITEMCODE = t2.MATERIALITEMCODE"); |
|
495 |
strSQL.Append(" AND t2.COMPLETEFLG = 0"); |
|
496 |
strSQL.Append(" WHERE"); |
|
497 |
strSQL.Append(" t1.CONSTRUCTIONCODE > 0"); |
|
498 |
strSQL.Append(" AND t1.CONSTRUCTIONCODE IS NOT NULL"); |
|
499 |
strSQL.Append(" AND t1.RECKIND = 0"); |
|
500 |
strSQL.Append(" AND t1.REPAYPLANDATE <= DATE_FORMAT(NOW(), '%Y/%m/%d')"); |
|
501 |
strSQL.Append(" GROUP BY"); |
|
502 |
strSQL.Append(" t1.CONSTRUCTIONCODE"); |
|
503 |
strSQL.Append(", t1.PERSONCODE"); |
|
504 |
strSQL.Append(" ORDER BY"); |
|
505 |
strSQL.Append(" t1.CONSTRUCTIONCODE"); |
|
506 |
strSQL.Append(" , t1.REPAYPLANDATE"); |
|
507 |
} |
|
508 |
catch (Exception ex) |
|
509 |
{ |
|
510 |
logger.ErrorFormat("システムエラー:{0}", ex.Message); |
|
511 |
} |
|
512 |
} |
|
513 |
#endregion |
|
514 |
|
|
494 | 515 |
#region 工事情報チェック処理 |
495 | 516 |
/// <summary> |
496 | 517 |
/// 日付の期限チェックを行う |
... | ... | |
504 | 525 |
try |
505 | 526 |
{ |
506 | 527 |
// 工事基本情報を期限テーブルに設定している状態分取得する |
507 |
string strSQL = " WHERE CONSTRUCTIONSTATUSFLG IN (SELECT DISTINCT A1.CONSTRUCTIONSTATUSFLG FROM TERMMASTER A1)"; |
|
508 |
strSQL = " ORDER BY CONSTRUCTIONSTATUSFLG ASC, CONSTRUCTIONCODE ASC"; |
|
528 |
StringBuilder strSQL = new StringBuilder(); |
|
529 |
strSQL.Append(" WHERE CONSTRUCTIONSTATUSFLG IN (SELECT DISTINCT A1.CONSTRUCTIONSTATUSFLG FROM TERMMASTER A1)"); |
|
530 |
strSQL.Append(" ORDER BY CONSTRUCTIONSTATUSFLG ASC, CONSTRUCTIONCODE ASC"); |
|
509 | 531 |
List<ConstructionBaseInfo> cbiList = new List<ConstructionBaseInfo>(); |
510 |
if (!cbiDB.SelectAction(strSQL, ref cbiList)) return true; |
|
532 |
if (!cbiDB.SelectAction(strSQL.ToString(), ref cbiList)) return true;
|
|
511 | 533 |
|
512 | 534 |
// 経過日数を取得する |
513 | 535 |
TimeSpan ts = DateTime.Now - StartDate; |
... | ... | |
747 | 769 |
try |
748 | 770 |
{ |
749 | 771 |
// 工事名称・営業担当者・工事担当者取得 |
750 |
string strSQL = "SELECT A.DETAILSTRING, B.PERSONCODE SCODE, B.PERSONNAME SNAME, C.PERSONCODE CCODE, C.PERSONNAME CNAME"; |
|
751 |
strSQL += " FROM CONSTRUCTIONBASEINFO P"; |
|
752 |
strSQL += " LEFT JOIN PERSONINCHARGEMASTER B ON B.PERSONCODE = P.SALESPERSONCODE"; |
|
753 |
strSQL += " LEFT JOIN PERSONINCHARGEMASTER C ON C.PERSONCODE = P.CONSTRUCTIONPERSONCODE"; |
|
754 |
strSQL += " , CONSTRUCTIONBASEINFODETAIL A"; |
|
755 |
strSQL += string.Format(" WHERE P.CONSTRUCTIONCODE = {0}",wrkRec.ConstructionCode); |
|
756 |
strSQL += string.Format(" AND A.CONSTRUCTIONCODE = P.CONSTRUCTIONCODE AND A.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName); |
|
772 |
StringBuilder strSQL = new StringBuilder(); |
|
773 |
strSQL.Append("SELECT A.DETAILSTRING, B.PERSONCODE SCODE, B.PERSONNAME SNAME, C.PERSONCODE CCODE, C.PERSONNAME CNAME"); |
|
774 |
strSQL.Append(" FROM CONSTRUCTIONBASEINFO P"); |
|
775 |
strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER B ON B.PERSONCODE = P.SALESPERSONCODE"); |
|
776 |
strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER C ON C.PERSONCODE = P.CONSTRUCTIONPERSONCODE"); |
|
777 |
strSQL.Append(", CONSTRUCTIONBASEINFODETAIL A"); |
|
778 |
strSQL.AppendFormat(" WHERE P.CONSTRUCTIONCODE = {0}",wrkRec.ConstructionCode); |
|
779 |
strSQL.AppendFormat(" AND A.CONSTRUCTIONCODE = P.CONSTRUCTIONCODE AND A.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName); |
|
757 | 780 |
ArrayList arList = new ArrayList(); |
758 |
if (!cbiDB.ExecuteReader(strSQL, ref arList)) return false; |
|
781 |
if (!cbiDB.ExecuteReader(strSQL.ToString(), ref arList)) return false;
|
|
759 | 782 |
|
760 | 783 |
string DetailString = string.Empty; |
761 | 784 |
int SalesPersonCode = 0; |
... | ... | |
778 | 801 |
|
779 | 802 |
// 掲示板メッセージ |
780 | 803 |
WriteData.FromCode = CommonDefine.s_MsgBoardSystemCode; // 書込み者コード |
781 |
WriteData.FromName = string.Format(CommonDefine.s_MsgBoardSystemNameFormat, "秘書"); // 書込み者名
|
|
804 |
WriteData.FromName = string.Format(CommonDefine.s_MsgBoardSystemNameFormat, "秘書"); // 書込み者名 |
|
782 | 805 |
|
783 |
WriteData.MessageTitle = CheckRec.SendTitle; // 伝言タイトル |
|
806 |
WriteData.MessageTitle = CheckRec.SendTitle; // 伝言タイトル
|
|
784 | 807 |
|
785 | 808 |
// リンク情報 |
786 | 809 |
WriteData.LinkType = (int)CommonDefine.LinkType.ConstructionInfo; |
... | ... | |
843 | 866 |
int iCode3 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("見積提出")).Key; |
844 | 867 |
|
845 | 868 |
// 対象データが存在するかを確認する |
846 |
string strSQL = "SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING FROM CONSTRUCTIONBASEINFO A"; |
|
847 |
strSQL += " LEFT JOIN CONSTRUCTIONBASEINFODETAIL B ON B.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE"; |
|
848 |
strSQL += string.Format(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.OrdersDecisionComment); |
|
869 |
StringBuilder strSQL = new StringBuilder(); |
|
870 |
strSQL.Append("SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING"); |
|
871 |
strSQL.Append(" FROM CONSTRUCTIONBASEINFO A"); |
|
872 |
strSQL.Append(" LEFT JOIN CONSTRUCTIONBASEINFODETAIL B ON B.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE"); |
|
873 |
strSQL.AppendFormat(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.OrdersDecisionComment); |
|
849 | 874 |
|
850 |
string strWHERE = " WHERE DATE(A.ESTIMATESSUBMITTEDDATE) != STR_TO_DATE('0001/01/01', '%Y/%m/%d')"; |
|
851 |
strWHERE += string.Format(" AND DATE(DATE_ADD(ESTIMATESSUBMITTEDDATE, INTERVAL '{0}' DAY))", s_NonOrderDay); |
|
852 |
strWHERE += string.Format(" < STR_TO_DATE('{0}','%Y/%m/%d')", DateTime.Now.ToShortDateString()); |
|
853 |
strWHERE += string.Format(" AND A.CONSTRUCTIONSTATUSFLG IN({0}, {1})", iCode2, iCode3); |
|
854 |
strWHERE += string.Format(" AND A.ESTIMATETYPE IN ({0}, {1})", (int)CommonDefine.BaseInfoEstimateType.Normal, (int)CommonDefine.BaseInfoEstimateType.GetBudget); |
|
855 |
strSQL += strWHERE; |
|
875 |
StringBuilder strWHERE = new StringBuilder(); |
|
876 |
strWHERE.AppendFormat(" WHERE DATE(A.ESTIMATESSUBMITTEDDATE) != STR_TO_DATE('{0}', '%Y/%m/%d')", DateTime.MinValue); |
|
877 |
strWHERE.AppendFormat(" AND DATE(DATE_ADD(A.ESTIMATESSUBMITTEDDATE, INTERVAL '{0}' DAY))", s_NonOrderDay); |
|
878 |
strWHERE.AppendFormat(" < STR_TO_DATE('{0}','%Y/%m/%d')", DateTime.Now.ToShortDateString()); |
|
879 |
strWHERE.AppendFormat(" AND A.CONSTRUCTIONSTATUSFLG IN({0}, {1})", iCode2, iCode3); |
|
880 |
strWHERE.AppendFormat(" AND A.ESTIMATETYPE IN ({0}, {1})", (int)CommonDefine.BaseInfoEstimateType.Normal, (int)CommonDefine.BaseInfoEstimateType.GetBudget); |
|
881 |
strSQL.Append(strWHERE.ToString()); |
|
856 | 882 |
ArrayList arList = new ArrayList(); |
857 |
if (!BaseDB.ExecuteReader(strSQL, ref arList)) |
|
883 |
if (!BaseDB.ExecuteReader(strSQL.ToString(), ref arList))
|
|
858 | 884 |
{ |
859 | 885 |
logger.ErrorFormat("工事基本情報読込エラー 非受注案件移行処理失敗:{0}:{1}", CommonMotions.GetMethodName(), strSQL); |
860 | 886 |
return false; |
... | ... | |
867 | 893 |
DetailDB.connect(); DetailDB.beginTran(); |
868 | 894 |
|
869 | 895 |
// 工事基本情報データ |
870 |
strSQL = string.Format("UPDATE CONSTRUCTIONBASEINFO A SET A.CONSTRUCTIONSTATUSFLG = {0},", iCode1); |
|
871 |
strSQL += string.Format(" A.NONORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d')", DateTime.Today.ToShortDateString()); |
|
872 |
strSQL += strWHERE; |
|
873 |
if (!BaseDB.ExecuteNonQuery(strSQL, false)) |
|
896 |
strSQL.Clear(); |
|
897 |
strSQL.AppendFormat("UPDATE CONSTRUCTIONBASEINFO A SET A.CONSTRUCTIONSTATUSFLG = {0},", iCode1); |
|
898 |
strSQL.AppendFormat(" A.NONORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d')", DateTime.Today.ToShortDateString()); |
|
899 |
strSQL.Append(strWHERE.ToString()); |
|
900 |
if (!BaseDB.ExecuteNonQuery(strSQL.ToString(), false)) |
|
874 | 901 |
{ |
875 | 902 |
BaseDB.rollback(); |
876 | 903 |
logger.ErrorFormat("工事基本情報更新エラー 非受注案件移行処理失敗:{0}:{1}", CommonMotions.GetMethodName(), strSQL); |
... | ... | |
969 | 996 |
int iCode2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("施工完了")).Key; |
970 | 997 |
|
971 | 998 |
// 入力完了以外を対象にする |
972 |
string strSQL = string.Format(" A WHERE A.ComplateFlg <> {0}", (int)CommonDefine.ComplateTitleNo.Complated); |
|
973 |
strSQL += " AND A.CONSTRUCTIONCODE IN (SELECT A1.CONSTRUCTIONCODE FROM CONSTRUCTIONBASEINFO A1"; |
|
974 |
strSQL += string.Format(" WHERE A1.CONSTRUCTIONSTATUSFLG != {0}", iCode1); |
|
975 |
strSQL += string.Format(" AND A1.CONSTRUCTIONSTATUSFLG < {0})", iCode2); |
|
976 |
strSQL += " AND DATE(A.CONSTRUCTIONSTART) <= DATE(NOW())"; |
|
977 |
strSQL += " ORDER BY A.CONSTRUCTIONSTART ASC"; |
|
999 |
StringBuilder strSQL = new StringBuilder(); |
|
1000 |
strSQL.AppendFormat(" A WHERE A.ComplateFlg <> {0}", (int)CommonDefine.ComplateTitleNo.Complated); |
|
1001 |
strSQL.Append(" AND A.CONSTRUCTIONCODE IN (SELECT A1.CONSTRUCTIONCODE FROM CONSTRUCTIONBASEINFO A1"); |
|
1002 |
strSQL.AppendFormat(" WHERE A1.CONSTRUCTIONSTATUSFLG != {0}", iCode1); |
|
1003 |
strSQL.AppendFormat(" AND A1.CONSTRUCTIONSTATUSFLG < {0})", iCode2); |
|
1004 |
strSQL.Append(" AND DATE(A.CONSTRUCTIONSTART) <= DATE(NOW())"); |
|
1005 |
strSQL.Append(" ORDER BY A.CONSTRUCTIONSTART ASC"); |
|
978 | 1006 |
List<ConstructionLedger> LedgerList = new List<ConstructionLedger>(); |
979 | 1007 |
// エラーもしくはデータが無い場合は処理しない |
980 |
if (!LedgerDB.SelectAction(strSQL, ref LedgerList) || LedgerList.Count == 0) return true; |
|
1008 |
if (!LedgerDB.SelectAction(strSQL.ToString(), ref LedgerList) || LedgerList.Count == 0) return true;
|
|
981 | 1009 |
|
982 | 1010 |
// 給与を加算する |
983 | 1011 |
ClsChangeLedgerData.CalculatePayment(LedgerList); |
... | ... | |
1007 | 1035 |
try |
1008 | 1036 |
{ |
1009 | 1037 |
// 適用する給与と金額が違うデータを検索する |
1010 |
string strSQL = "SELECT A.PERSONCODE, A.MONTHLYSALARY, A.YEARSALARY, A.STARTDATE, C.MONTHLYSALARY, C.YEARSALARY"; |
|
1011 |
strSQL += " FROM PERSONSALARYMASTER A,"; |
|
1012 |
strSQL += " (SELECT PERSONCODE, MAX(STARTDATE) sDate FROM PERSONSALARYMASTER"; |
|
1013 |
strSQL += string.Format(" WHERE DATE(STARTDATE) <= STR_TO_DATE('{0}', '%Y/%m/%d') GROUP BY PERSONCODE) B,", DateTime.Today.ToShortDateString()); |
|
1014 |
strSQL += " PERSONINCHARGEMASTER C"; |
|
1015 |
strSQL += " WHERE A.PERSONCODE = B.PERSONCODE AND A.STARTDATE = B.sDate"; |
|
1016 |
strSQL += " AND C.PERSONCODE = A.PERSONCODE"; |
|
1017 |
strSQL += " AND (A.MONTHLYSALARY != C.MONTHLYSALARY OR A.YEARSALARY <> C.YEARSALARY)"; |
|
1038 |
StringBuilder strSQL = new StringBuilder(); |
|
1039 |
strSQL.Append("SELECT A.PERSONCODE, A.MONTHLYSALARY, A.YEARSALARY, A.STARTDATE, C.MONTHLYSALARY, C.YEARSALARY"); |
|
1040 |
strSQL.Append(" FROM PERSONSALARYMASTER A,"); |
|
1041 |
strSQL.Append(" (SELECT B1.PERSONCODE, MAX(B1.STARTDATE) sDate FROM PERSONSALARYMASTER B1"); |
|
1042 |
strSQL.AppendFormat(" WHERE DATE(B1.STARTDATE) <= STR_TO_DATE('{0}', '%Y/%m/%d') GROUP BY PERSONCODE) B,", DateTime.Today.ToShortDateString()); |
|
1043 |
strSQL.Append(" PERSONINCHARGEMASTER C"); |
|
1044 |
strSQL.Append(" WHERE A.PERSONCODE = B.PERSONCODE AND A.STARTDATE = B.sDate"); |
|
1045 |
strSQL.Append(" AND C.PERSONCODE = A.PERSONCODE"); |
|
1046 |
strSQL.Append(" AND (A.MONTHLYSALARY != C.MONTHLYSALARY OR A.YEARSALARY <> C.YEARSALARY)"); |
|
1018 | 1047 |
ArrayList arList = new ArrayList(); |
1019 |
if (!PersonDB.ExecuteReader(strSQL, ref arList)) return false; |
|
1048 |
if (!PersonDB.ExecuteReader(strSQL.ToString(), ref arList)) return false;
|
|
1020 | 1049 |
|
1021 | 1050 |
// 更新処理 |
1022 | 1051 |
PersonDB.connect(); PersonDB.beginTran(); |
branches/src/DataCheckExcute/DataCheckExcute/DataCheckExcute.csproj | ||
---|---|---|
193 | 193 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DataModel\CostomerRegist.cs"> |
194 | 194 |
<Link>DataModel\CostomerRegist.cs</Link> |
195 | 195 |
</Compile> |
196 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DataModel\DailyData.cs"> |
|
197 |
<Link>DataModel\DailyData.cs</Link> |
|
198 |
</Compile> |
|
199 | 196 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DataModel\DailyDataConstruction.cs"> |
200 | 197 |
<Link>DataModel\DailyDataConstruction.cs</Link> |
201 | 198 |
</Compile> |
... | ... | |
487 | 484 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DB\IOAccess\IOCostomerRegist.cs"> |
488 | 485 |
<Link>DB\IOAccess\IOCostomerRegist.cs</Link> |
489 | 486 |
</Compile> |
490 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DB\IOAccess\IODailyData.cs"> |
|
491 |
<Link>DB\IOAccess\IODailyData.cs</Link> |
|
492 |
</Compile> |
|
493 | 487 |
<Compile Include="..\..\ProcessManagement\ProcessManagement\DB\IOAccess\IODailyDataConstruction.cs"> |
494 | 488 |
<Link>DB\IOAccess\IODailyDataConstruction.cs</Link> |
495 | 489 |
</Compile> |
他の形式にエクスポート: Unified diff