プロジェクト

全般

プロフィール

リビジョン 238

堀内ほぼ8年前に追加

安全パトロール申請実装中
購入品及び交通費入力改修

差分を表示:

branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs
14 14
        /// <summary>
15 15
        /// 本体バージョン
16 16
        /// </summary>
17
        public static int s_SystemVersion = 57;
17
        public static int s_SystemVersion = 59;
18 18

  
19 19
        /// <summary>
20 20
        /// コピー・環境バージョン
branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs
2588 2588

  
2589 2589
                // パラメータセット
2590 2590
                frm.ConstructionCode = CurrentPara.IntExecParameter[0];
2591

  
2591
                frm.PersonCode = CommonMotions.LoginUserData.PersonCode;
2592
                if (CurrentPara.IntExecParameter.Count > 2) frm.OrderNo = CurrentPara.IntExecParameter[2];
2593
                
2592 2594
                // フォーム表示
2593 2595
                frm.ShowDialog();
2594 2596
            }
......
3689 3691
                frm.ConstructionCode = CurrentPara.IntExecParameter[0];
3690 3692
                frm.ApprovalCode = CurrentPara.IntExecParameter[1];
3691 3693
                frm.OrderNo = CurrentPara.IntExecParameter[2];
3692
                for (int i = 3; i < CurrentPara.IntExecParameter.Count; i++)
3694
                // サブパラメータセット
3695
                switch (frm.ApprovalCode)
3693 3696
                {
3694
                    frm.PurchaseOrderSeqNo.Add(CurrentPara.IntExecParameter[i]);
3697
                    case (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval:
3698
                        // 注文書処理時
3699
                        for (int i = 3; i < CurrentPara.IntExecParameter.Count; i++)
3700
                        {
3701
                            frm.PurchaseOrderSeqNo.Add(CurrentPara.IntExecParameter[i]);
3702
                        }
3703
                        break;
3704
                    case (int)ClsExcute.ApprovalListNo.SafetyPatrol:
3705
                        // 安全パトロール時
3706
                        if (CurrentPara.IntExecParameter.Count > 3)
3707
                            frm.DataCount = CurrentPara.IntExecParameter[3];
3708
                        break;
3695 3709
                }
3696 3710

  
3697 3711
                // フォーム表示
branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs
104 104
        private string CreateSelectSQL()
105 105
        {
106 106
            StringBuilder strcmd = new StringBuilder();
107
            
108
            strcmd.Append("SELECT");
109
            strcmd.Append("  ConstructionCode");
110
            strcmd.Append(", TyingFlg");
111
            strcmd.Append(", JoinFlg");
112
            strcmd.Append(", ConstructionYear");
113
            strcmd.Append(", ConstructionPeriod");
114
            strcmd.Append(", DATE_FORMAT(RequestedDate, '%Y/%m/%d')");
115
            strcmd.Append(", DATE_FORMAT(EstimatesSubmitDeadline, '%Y/%m/%d')");
116
            strcmd.Append(", DATE_FORMAT(EstimatesSubmittedDate, '%Y/%m/%d')");
117
            strcmd.Append(", DATE_FORMAT(ProvisionalOrderDate, '%Y/%m/%d')");
118
            strcmd.Append(", DATE_FORMAT(OrderDate, '%Y/%m/%d')");
119
            strcmd.Append(", DATE_FORMAT(OrderStartingDate, '%Y/%m/%d')");
120
            strcmd.Append(", DATE_FORMAT(OrderCompletionDate, '%Y/%m/%d')");
121
            strcmd.Append(", DATE_FORMAT(PreparationStartDate, '%Y/%m/%d')");
122
            strcmd.Append(", DATE_FORMAT(ConstructionStartingDate, '%Y/%m/%d')");
123
            strcmd.Append(", DATE_FORMAT(ConstructionCompletionDate, '%Y/%m/%d')");
124
            strcmd.Append(", DATE_FORMAT(NonOrderDate, '%Y/%m/%d')");
125
            strcmd.Append(", OrdersDecisionPrice");
126
            strcmd.Append(", OrdersDecisionPriceInTax");
127
            strcmd.Append(", SalesPersonCode");
128
            strcmd.Append(", ConstructionPersonCode");
129
            strcmd.Append(", ConstrSubPersonCode");
130
            strcmd.Append(", ConstructionInstructor");
131
            strcmd.Append(", TransferConstruction");
132
            strcmd.Append(", DATE_FORMAT(TransferConstructionDate, '%Y/%m/%d')");
133
            strcmd.Append(", OrderersDivision");
134
            strcmd.Append(", OrderersCode");
135
            strcmd.Append(", DATE_FORMAT(EstimatesExpirationDate, '%Y/%m/%d')");
136
            strcmd.Append(", DATE_FORMAT(ConstructionPeriodStart, '%Y/%m/%d')");
137
            strcmd.Append(", DATE_FORMAT(ConstructionPeriodEnd, '%Y/%m/%d')");
138
            strcmd.Append(", DATE_FORMAT(ConstructionPeriodStart2, '%Y/%m/%d')");
139
            strcmd.Append(", DATE_FORMAT(ConstructionPeriodEnd2, '%Y/%m/%d')");
140
            strcmd.Append(", DATE_FORMAT(StartDate, '%Y/%m/%d')");
141
            strcmd.Append(", DATE_FORMAT(EndDate, '%Y/%m/%d')");
142
            strcmd.Append(", DATE_FORMAT(PurchaseOrderMailingDate, '%Y/%m/%d')");
143
            strcmd.Append(", DATE_FORMAT(PurchaseOrderReturnDate, '%Y/%m/%d')");
144
            strcmd.Append(", DATE_FORMAT(PurchaseOrderReturnCheckDate, '%Y/%m/%d')");
145
            strcmd.Append(", ConsumptionTaxFlg");
146
            strcmd.Append(", PrimeContractorFlg");
147
            strcmd.Append(", SalesCostFlg");
148
            strcmd.Append(", ConstructionStatusFlg");
149
            strcmd.Append(", ConstructionType");
150
            strcmd.Append(", EstimateType");
151
            strcmd.Append(", DATE_FORMAT(BillingStartDate, '%Y/%m/%d')");
152
            strcmd.Append(", DATE_FORMAT(BillingDate, '%Y/%m/%d')");
153
            strcmd.Append(", BillingSplitFlg");
154
            strcmd.Append(", DATE_FORMAT(BillingSendDate, '%Y/%m/%d')");
155
            strcmd.Append(", DATE_FORMAT(LedgerComplateDate, '%Y/%m/%d')");
156
            strcmd.Append(", DATE_FORMAT(EntryDate, '%Y/%m/%d %H:%i:%s')");
157
            strcmd.Append(", DATE_FORMAT(UpdateDate, '%Y/%m/%d %H:%i:%s')");
158
            strcmd.Append(" FROM ConstructionBaseInfo");
107
            try
108
            {
109
                strcmd.Append("SELECT");
159 110

  
160
            return strcmd.ToString();
111
                bool bColFirst = true;
112
                string strWork = string.Empty;
113
                foreach (var gender in Enum.GetValues(typeof(TableColumn)))
114
                {
115
                    strWork = gender.ToString();
116
                    if (!bColFirst) strcmd.Append(",");
117
                    if (strWork.Equals("EntryDate") || strWork.Equals("UpdateDate"))
118
                    {
119
                        strcmd.AppendFormat(" DATE_FORMAT({0}, '%Y/%m/%d %H:%i:%s')", strWork);
120
                    }
121
                    else if (strWork.Equals("RequestedDate")
122
                            || strWork.Equals("EstimatesSubmitDeadline")
123
                            || strWork.Equals("EstimatesSubmittedDate")
124
                            || strWork.Equals("ProvisionalOrderDate")
125
                            || strWork.Equals("OrderDate")
126
                            || strWork.Equals("OrderStartingDate")
127
                            || strWork.Equals("OrderCompletionDate")
128
                            || strWork.Equals("PreparationStartDate")
129
                            || strWork.Equals("ConstructionStartingDate")
130
                            || strWork.Equals("ConstructionCompletionDate")
131
                            || strWork.Equals("NonOrderDate")
132
                            || strWork.Equals("TransferConstructionDate")
133
                            || strWork.Equals("EstimatesExpirationDate")
134
                            || strWork.Equals("ConstructionPeriodStart")
135
                            || strWork.Equals("ConstructionPeriodEnd")
136
                            || strWork.Equals("ConstructionPeriodStart2")
137
                            || strWork.Equals("ConstructionPeriodEnd2")
138
                            || strWork.Equals("StartDate")
139
                            || strWork.Equals("EndDate")
140
                            || strWork.Equals("PurchaseOrderMailingDate")
141
                            || strWork.Equals("PurchaseOrderReturnDate")
142
                            || strWork.Equals("PurchaseOrderReturnCheckDate")
143
                            || strWork.Equals("BillingStartDate")
144
                            || strWork.Equals("BillingDate")
145
                            || strWork.Equals("BillingSendDate")
146
                            || strWork.Equals("LedgerComplateDate"))
147
                    {
148
                        strcmd.AppendFormat(" DATE_FORMAT({0}, '%Y/%m/%d')", strWork);
149
                    }
150
                    else
151
                    {
152
                        strcmd.AppendFormat(" {0}", strWork);
153
                    }
154
                    bColFirst = false;
155
                }
156

  
157
                strcmd.Append(" FROM ConstructionBaseInfo");
158

  
159
                return strcmd.ToString();
160
            }
161
            catch (Exception ex)
162
            {
163
                logger.ErrorFormat("システムエラー:{0}:{1}:{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
164
                return string.Empty;
165
            }
161 166
        }
162 167
        #endregion
163 168

  
branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOProcessApproval.cs
444 444
        /// </summary>
445 445
        /// <param name="BusinessTypeCode"></param>
446 446
        /// <returns>Where文字列</returns>
447
        public string CreatePrimarykeyString(int ConstructionCode, int ApprovalCode = 0, int OrderNo = 0, int SeqNo = 0, string APara = "")
447
        public string CreatePrimarykeyString(int ConstructionCode, int ApprovalCode = -1, int OrderNo = -1, int SeqNo = -1, string APara = "")
448 448
        {
449 449
            string strWork = string.Empty;
450 450
            try
451 451
            {
452 452
                strWork = string.Format(" Where {0}ConstructionCode = {1}", APara, ConstructionCode.ToString());
453
                if (ApprovalCode != 0)
453
                if (ApprovalCode != -1)
454 454
                    strWork += string.Format(" And {0}ApprovalCode = {1}", APara, ApprovalCode.ToString());
455
                if (OrderNo != 0)
455
                if (OrderNo != -1)
456 456
                    strWork += string.Format(" And {0}OrderNo = {1}", APara, OrderNo.ToString());
457
                if (SeqNo != 0)
457
                if (SeqNo != -1)
458 458
                    strWork += string.Format(" And {0}SeqNo = {1}", APara, SeqNo.ToString());
459 459
            }
460 460
            catch (Exception ex)
branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOSFPData.cs
32 32
        /// <summary>
33 33
        /// 安全パトロールデータフィールド並び
34 34
        /// </summary>
35
        public enum DataColumn
35
        public enum TableColumn
36 36
        {
37 37
            ConstructionCode = 0,
38
            PettionDate,
38
            DataCount,
39
            RequestDate,
39 40
            PersonCode,
40 41
            StringValue,
41 42
            OrderNo,
......
69 70

  
70 71
            strcmd.Append("SELECT");
71 72

  
72
            strcmd.Append("  ConstructionCode");
73
            strcmd.Append(", PettionDate");
74
            strcmd.Append(", PersonCode");
75
            strcmd.Append(", StringValue");
76
            strcmd.Append(", OrderNo");
73
            bool bColFirst = true;
74
            string strWork = string.Empty;
75
            foreach (var gender in Enum.GetValues(typeof(TableColumn)))
76
            {
77
                strWork = gender.ToString();
78
                if (!bColFirst) strcmd.Append(",");
79
                if (strWork.Equals("RequestDate") || strWork.Equals("EntryDate") || strWork.Equals("UpdateDate"))
80
                {
81
                    strcmd.AppendFormat(" DATE_FORMAT({0}, '%Y/%m/%d %H:%i:%s')", strWork);
82
                }
83
                else
84
                {
85
                    strcmd.AppendFormat(" {0}", strWork);
86
                }
87
                bColFirst = false;
88
            }
77 89

  
78
            strcmd.Append(" ,DATE_FORMAT(EntryDate, '%Y/%m/%d %H:%i:%s')");
79
            strcmd.Append(" ,DATE_FORMAT(UpdateDate, '%Y/%m/%d %H:%i:%s')");
80 90
            strcmd.Append(" FROM SFPData");
81 91

  
82 92
            return strcmd.ToString();
......
173 183
                bool bColFirst = true;
174 184
                strcmd.Append("INSERT INTO SFPData");
175 185
                strcmd.Append(" (");
176
                foreach (var gender in Enum.GetValues(typeof(DataColumn)))
186
                foreach (var gender in Enum.GetValues(typeof(TableColumn)))
177 187
                {
178 188
                    if (!bColFirst) strcmd.Append(", ");
179 189
                    strcmd.Append(gender.ToString());
......
188 198
                    else strcmd.Append(", (");
189 199

  
190 200
                    strcmd.AppendFormat("  {0}", work.ConstructionCode);
191
                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", work.PettionDate.ToShortDateString());
201
                    strcmd.AppendFormat(", {0}", work.DataCount);
202
                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.RequestDate);
192 203
                    strcmd.AppendFormat(", {0}", work.PersonCode);
193 204
                    strcmd.AppendFormat(",'{0}'", work.StringValue);
194 205
                    strcmd.AppendFormat(", {0}", work.OrderNo);
......
228 239
                strcmd.Append(" (");
229 240

  
230 241
                bool bFirst = true;
231
                foreach (var gender in Enum.GetValues(typeof(DataColumn)))
242
                foreach (var gender in Enum.GetValues(typeof(TableColumn)))
232 243
                {
233 244
                    if (!bFirst) strcmd.Append(" ,");
234 245
                    strcmd.Append(gender.ToString());
......
238 249
                strcmd.Append(") VALUES (");
239 250

  
240 251
                strcmd.AppendFormat("  {0}", work.ConstructionCode);
241
                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", work.PettionDate.ToShortDateString());
252
                strcmd.AppendFormat(", {0}", work.DataCount);
253
                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.RequestDate);
242 254
                strcmd.AppendFormat(", {0}", work.PersonCode);
243 255
                strcmd.AppendFormat(",'{0}'", work.StringValue);
244 256
                strcmd.AppendFormat(", {0}", work.OrderNo);
......
277 289
                strcmd.Append(" SET");
278 290

  
279 291
                strcmd.AppendFormat("  ConstructionCode = {0}", data.ConstructionCode);
280
                strcmd.AppendFormat(", PettionDate = STR_TO_DATE('{0}','%Y/%m/%d')", data.PettionDate.ToShortDateString());
292
                strcmd.AppendFormat(", DataCount = {0}", data.DataCount);
293
                strcmd.AppendFormat(", RequestDate = STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", data.RequestDate);
281 294
                strcmd.AppendFormat(", PersonCode = {0}", data.PersonCode);
282 295
                strcmd.AppendFormat(", StringValue = '{0}'", data.StringValue);
283 296
                strcmd.AppendFormat(", OrderNo = {0}", data.OrderNo);
......
335 348
            try
336 349
            {
337 350
                // データ取得
338
                wrk.ConstructionCode = int.Parse(objwrk[(int)DataColumn.ConstructionCode].ToString());
339
                wrk.PettionDate = DateTime.Parse(objwrk[(int)DataColumn.PettionDate].ToString());
340
                wrk.PersonCode = int.Parse(objwrk[(int)DataColumn.PersonCode].ToString());
341
                wrk.StringValue = objwrk[(int)DataColumn.StringValue].ToString();
342
                wrk.OrderNo = int.Parse(objwrk[(int)DataColumn.OrderNo].ToString());
351
                wrk.ConstructionCode = int.Parse(objwrk[(int)TableColumn.ConstructionCode].ToString());
352
                wrk.DataCount = int.Parse(objwrk[(int)TableColumn.DataCount].ToString());
353
                wrk.RequestDate = DateTime.Parse(objwrk[(int)TableColumn.RequestDate].ToString());
354
                wrk.PersonCode = int.Parse(objwrk[(int)TableColumn.PersonCode].ToString());
355
                wrk.StringValue = objwrk[(int)TableColumn.StringValue].ToString();
356
                wrk.OrderNo = int.Parse(objwrk[(int)TableColumn.OrderNo].ToString());
343 357

  
344
                wrk.EntryDate = DateTime.Parse(objwrk[(int)DataColumn.EntryDate].ToString());
345
                wrk.UpdateDate = DateTime.Parse(objwrk[(int)DataColumn.UpdateDate].ToString());
358
                wrk.EntryDate = DateTime.Parse(objwrk[(int)TableColumn.EntryDate].ToString());
359
                wrk.UpdateDate = DateTime.Parse(objwrk[(int)TableColumn.UpdateDate].ToString());
346 360
            }
347 361
            catch (MySqlException myex)
348 362
            {
......
361 375
        /// </summary>
362 376
        /// <param name="ItemCode">大工種キー</param>
363 377
        /// <returns>Where文字列</returns>
364
        public string CreatePrimarykeyString(int ConstructionCode, DateTime PettionDate, int PersonCode = 0)
378
        public string CreatePrimarykeyString(int ConstructionCode, int DataCount = 0)
365 379
        {
366 380
            StringBuilder strWork = new StringBuilder();
367 381
            try
368 382
            {
369 383
                strWork.AppendFormat(" Where ConstructionCode = {0}", ConstructionCode);
370
                strWork.AppendFormat(" Adn PettionDate = STR_TO_DATE('{0}','%Y/%m/%d')", PettionDate.ToShortDateString());
371
                if (PersonCode != 0)
372
                    strWork.AppendFormat(" And PersonCode = {0}", PersonCode);
384
                if (DataCount != 0)
385
                    strWork.AppendFormat(" And DataCount = {0}", DataCount);
373 386
            }
374 387
            catch (Exception ex)
375 388
            {
......
379 392
            return strWork.ToString();
380 393
        }
381 394
        #endregion
395

  
396
        #region 工事番号の枝番が最大値のものを取得する
397
        /// <summary>
398
        /// 工事番号の枝番が最大値のものを取得する
399
        /// </summary>
400
        /// <param name="NowCode"></param>
401
        /// <returns></returns>
402
        public int CreateNextDataCount(int ConstrCode)
403
        {
404
            IOSFPData sfpDB = new IOSFPData();
405
            try
406
            {
407
                // 枝番最大値の工事番号取得
408
                StringBuilder strSQL = new StringBuilder();
409
                strSQL.Append("Select IFNULL(MAX(DataCount), 0) FROM SFPData");
410
                strSQL.AppendFormat(" WHERE CONSTRUCTIONCODE = {0}", ConstrCode);
411

  
412
                ArrayList arList = new ArrayList();
413
                // データが無ければ抜ける
414
                if (!sfpDB.ExecuteReader(strSQL.ToString(), ref arList)) return 0;
415

  
416
                object[] wrkobj = (object[])arList[0];
417

  
418
                return CommonMotions.cnvInt(wrkobj[0]);
419
            }
420
            catch (System.Exception ex)
421
            {
422
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
423
                return 0;
424
            }
425
            finally
426
            {
427
                sfpDB.close(); sfpDB = null;
428
            }
429
        }
430
        #endregion
382 431
    }
383 432
}
branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOSFPDataDetail.cs
32 32
        /// <summary>
33 33
        /// 安全パトロール明細データフィールド並び
34 34
        /// </summary>
35
        public enum DataColumn
35
        public enum TableColumn
36 36
        {
37 37
            ConstructionCode = 0,
38
            PettionDate,
39
            PersonCode,
38
            DataCount,
39
            SeqNo,
40 40
            CompanyCode,
41 41
            EntryDate,
42 42
            UpdateDate,
......
69 69
            strcmd.Append("SELECT");
70 70

  
71 71
            strcmd.Append("  ConstructionCode");
72
            strcmd.Append(", PettionDate");
73
            strcmd.Append(", PersonCode");
72
            strcmd.Append(", DataCount");
73
            strcmd.Append(", SeqNo");
74 74
            strcmd.Append(", CompanyCode");
75 75

  
76 76
            strcmd.Append(" ,DATE_FORMAT(EntryDate, '%Y/%m/%d %H:%i:%s')");
......
171 171
                bool bColFirst = true;
172 172
                strcmd.Append("INSERT INTO SFPDataDetail");
173 173
                strcmd.Append(" (");
174
                foreach (var gender in Enum.GetValues(typeof(DataColumn)))
174
                foreach (var gender in Enum.GetValues(typeof(TableColumn)))
175 175
                {
176 176
                    if (!bColFirst) strcmd.Append(", ");
177 177
                    strcmd.Append(gender.ToString());
......
186 186
                    else strcmd.Append(", (");
187 187

  
188 188
                    strcmd.AppendFormat("  {0}", work.ConstructionCode);
189
                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", work.PettionDate.ToShortDateString());
190
                    strcmd.AppendFormat(", {0}", work.PersonCode);
189
                    strcmd.AppendFormat(", {0}", work.DataCount);
190
                    strcmd.AppendFormat(", {0}", work.SeqNo);
191 191
                    strcmd.AppendFormat(", {0}", work.CompanyCode);
192 192

  
193 193
                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.EntryDate);
......
225 225
                strcmd.Append(" (");
226 226

  
227 227
                bool bFirst = true;
228
                foreach (var gender in Enum.GetValues(typeof(DataColumn)))
228
                foreach (var gender in Enum.GetValues(typeof(TableColumn)))
229 229
                {
230 230
                    if (!bFirst) strcmd.Append(" ,");
231 231
                    strcmd.Append(gender.ToString());
......
235 235
                strcmd.Append(") VALUES (");
236 236

  
237 237
                strcmd.AppendFormat("  {0}", work.ConstructionCode);
238
                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", work.PettionDate.ToShortDateString());
239
                strcmd.AppendFormat(", {0}", work.PersonCode);
238
                strcmd.AppendFormat(", {0}", work.DataCount);
239
                strcmd.AppendFormat(", {0}", work.SeqNo);
240 240
                strcmd.AppendFormat(", {0}", work.CompanyCode);
241 241

  
242 242
                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.EntryDate);
......
273 273
                strcmd.Append(" SET");
274 274

  
275 275
                strcmd.AppendFormat("  ConstructionCode = {0}", data.ConstructionCode);
276
                strcmd.AppendFormat(", PettionDate = STR_TO_DATE('{0}','%Y/%m/%d')", data.PettionDate.ToShortDateString());
277
                strcmd.AppendFormat(", PersonCode = {0}", data.PersonCode);
276
                strcmd.AppendFormat(", DataCount = {0}", data.DataCount);
277
                strcmd.AppendFormat(", SeqNo = {0}", data.SeqNo);
278 278
                strcmd.AppendFormat(", CompanyCode = {0}", data.CompanyCode);
279 279

  
280 280
                strcmd.Append(", UpdateDate = NOW()");
......
330 330
            try
331 331
            {
332 332
                // データ取得
333
                wrk.ConstructionCode = int.Parse(objwrk[(int)DataColumn.ConstructionCode].ToString());
334
                wrk.PettionDate = DateTime.Parse(objwrk[(int)DataColumn.PettionDate].ToString());
335
                wrk.PersonCode = int.Parse(objwrk[(int)DataColumn.PersonCode].ToString());
336
                wrk.CompanyCode = int.Parse(objwrk[(int)DataColumn.CompanyCode].ToString());
333
                wrk.ConstructionCode = int.Parse(objwrk[(int)TableColumn.ConstructionCode].ToString());
334
                wrk.DataCount = int.Parse(objwrk[(int)TableColumn.DataCount].ToString());
335
                wrk.SeqNo = int.Parse(objwrk[(int)TableColumn.SeqNo].ToString());
336
                wrk.CompanyCode = int.Parse(objwrk[(int)TableColumn.CompanyCode].ToString());
337 337

  
338
                wrk.EntryDate = DateTime.Parse(objwrk[(int)DataColumn.EntryDate].ToString());
339
                wrk.UpdateDate = DateTime.Parse(objwrk[(int)DataColumn.UpdateDate].ToString());
338
                wrk.EntryDate = DateTime.Parse(objwrk[(int)TableColumn.EntryDate].ToString());
339
                wrk.UpdateDate = DateTime.Parse(objwrk[(int)TableColumn.UpdateDate].ToString());
340 340
            }
341 341
            catch (MySqlException myex)
342 342
            {
......
355 355
        /// </summary>
356 356
        /// <param name="ItemCode">大工種キー</param>
357 357
        /// <returns>Where文字列</returns>
358
        public string CreatePrimarykeyString(int ConstructionCode, DateTime PettionDate, int PersonCode = 0, int CompanyCode = 0)
358
        public string CreatePrimarykeyString(int ConstructionCode, int DataCount = 0, int SeqNo = 0)
359 359
        {
360 360
            StringBuilder strWork = new StringBuilder();
361 361
            try
362 362
            {
363 363
                strWork.AppendFormat(" Where ConstructionCode = {0}", ConstructionCode);
364
                strWork.AppendFormat(" Adn PettionDate = STR_TO_DATE('{0}','%Y/%m/%d')", PettionDate.ToShortDateString());
365
                if (PersonCode != 0)
366
                    strWork.AppendFormat(" And PersonCode = {0}", PersonCode);
367
                if (CompanyCode != 0)
368
                    strWork.AppendFormat(" And CompanyCode = {0}", CompanyCode);
364
                if (DataCount != 0)
365
                    strWork.AppendFormat(" And DataCount = {0}", DataCount);
366
                if (SeqNo != 0)
367
                    strWork.AppendFormat(" And SeqNo = {0}", SeqNo);
369 368
            }
370 369
            catch (Exception ex)
371 370
            {
branches/src/ProcessManagement/ProcessManagement/DataModel/SFPData.cs
14 14
        /// <summary>
15 15
        /// 工事番号
16 16
        /// </summary>
17
        private int m_ConstructionCode = 0;
17
        private int         m_ConstructionCode = 0;
18 18
        /// <summary>
19
        /// 申請日時
19
        /// パトロール回数
20 20
        /// </summary>
21
        private DateTime m_PettionDate = DateTime.MinValue;
21
        private int         m_DataCount = 0;
22 22
        /// <summary>
23
        /// 安全パトロール要請日時
24
        /// </summary>
25
        private DateTime    m_RequestDate = DateTime.MinValue;
26
        /// <summary>
23 27
        /// 申請者番号
24 28
        /// </summary>
25
        private int m_PersonCode = 0;
29
        private int         m_PersonCode = 0;
26 30
        /// <summary>
27 31
        /// コメント
28 32
        /// </summary>
29
        private string m_StringValue = string.Empty;
33
        private string      m_StringValue = string.Empty;
30 34
        /// <summary>
31
        /// 申請受付番号
35
        /// 受付番号
32 36
        /// </summary>
33
        private int m_OrderNo = 0;
37
        private int         m_OrderNo = 0;
34 38
        /// <summary>
35 39
        /// 登録日付
36 40
        /// </summary>
37
        private DateTime m_EntryDate = DateTime.Now;
41
        private DateTime    m_EntryDate = DateTime.Now;
38 42
        /// <summary>
39 43
        /// 更新日付
40 44
        /// </summary>
41
        private DateTime m_UpdateDate = DateTime.Now;
45
        private DateTime    m_UpdateDate = DateTime.Now;
42 46
        #endregion
43 47

  
44 48
        #region コンストラクタ
......
54 58
            set { m_ConstructionCode = value; }
55 59
        }
56 60
        /// <summary>
57
        /// 申請日時
61
        /// パトロール回数
58 62
        /// </summary>
59
        public DateTime PettionDate
63
        public int DataCount
60 64
        {
61
            get { return m_PettionDate; }
62
            set { m_PettionDate = value; }
65
            get { return m_DataCount; }
66
            set { m_DataCount = value; }
63 67
        }
68
        /// 安全パトロール要請日時
69
        /// </summary>
70
        public DateTime RequestDate
71
        {
72
            get { return m_RequestDate; }
73
            set { m_RequestDate = value; }
74
        }
64 75
        /// <summary>
65 76
        /// 申請者番号
66 77
        /// </summary>
......
78 89
            set { m_StringValue = value; }
79 90
        }
80 91
        /// <summary>
81
        /// 申請受付番号
92
        /// 受付番号
82 93
        /// </summary>
83 94
        public int OrderNo
84 95
        {
branches/src/ProcessManagement/ProcessManagement/DataModel/SFPDataDetail.cs
14 14
        /// <summary>
15 15
        /// 工事番号
16 16
        /// </summary>
17
        private int m_ConstructionCode = 0;
17
        private int         m_ConstructionCode = 0;
18 18
        /// <summary>
19
        /// 申請日時
19
        /// パトロール回数
20 20
        /// </summary>
21
        private DateTime m_PettionDate = DateTime.MinValue;
21
        private int         m_DataCount = 0;
22 22
        /// <summary>
23
        /// 申請者番号
23
        /// データ枝番
24 24
        /// </summary>
25
        private int m_PersonCode = 0;
25
        private int         m_SeqNo = 0;
26 26
        /// <summary>
27 27
        /// 協力会社コード
28 28
        /// </summary>
29
        private int m_CompanyCode = 0;
29
        private int         m_CompanyCode = 0;
30 30
        /// <summary>
31 31
        /// 登録日付
32 32
        /// </summary>
33
        private DateTime m_EntryDate = DateTime.Now;
33
        private DateTime    m_EntryDate = DateTime.Now;
34 34
        /// <summary>
35 35
        /// 更新日付
36 36
        /// </summary>
37
        private DateTime m_UpdateDate = DateTime.Now;
37
        private DateTime    m_UpdateDate = DateTime.Now;
38 38
        #endregion
39 39

  
40 40
        #region コンストラクタ
......
50 50
            set { m_ConstructionCode = value; }
51 51
        }
52 52
        /// <summary>
53
        /// 申請日時
53
        /// パトロール回数
54 54
        /// </summary>
55
        public DateTime PettionDate
55
        public int DataCount
56 56
        {
57
            get { return m_PettionDate; }
58
            set { m_PettionDate = value; }
57
            get { return m_DataCount; }
58
            set { m_DataCount = value; }
59 59
        }
60 60
        /// <summary>
61
        /// 申請者番号
61
        /// データ枝番
62 62
        /// </summary>
63
        public int PersonCode
63
        public int SeqNo
64 64
        {
65
            get { return m_PersonCode; }
66
            set { m_PersonCode = value; }
65
            get { return m_SeqNo; }
66
            set { m_SeqNo = value; }
67 67
        }
68 68
        /// <summary>
69 69
        /// 協力会社コード
branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/SourceUpdate.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8
using System.Collections;
9
using System.Linq;
10
using System.Diagnostics;
11
using System.Data.Common;
12

  
13
using log4net;
14
using log4net.Appender;
15
using log4net.Repository.Hierarchy;
16

  
17
using ProcessManagement.Common;
18
using ProcessManagement.DB.IOAccess;
19
using ProcessManagement.DataModel;
20
using ProcessManagement.DB.Core;
21
using ProcessManagement.Forms.Master;
22
using ProcessManagement.Forms.SubForms;
23
using ProcessManagement.Forms.ControlsAction;
24
using ProcessManagement.Forms.CustomControls;
25

  
26
namespace ProcessManagement.Forms.DataEntry
27
{
28
    partial class FrmApprovalPerson
29
    {
30
        #region 最終承認が成された後の処理
31
        /// <summary>
32
        /// 最終承認が成された後の処理
33
        /// </summary>
34
        private void FinalUpdateSourceData()
35
        {
36
            try
37
            {
38
                switch (m_ApprovalCode)
39
                {
40
                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
41
                        // 8:出勤管理承認
42
                        break;
43
                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
44
                        // 9:発注者登録承認
45
                        CreateCostomerData();
46
                        break;
47
                    case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:
48
                        // 10:協力会社登録承認
49
                        CreateSubConstrData();
50
                        break;
51
                }
52
            }
53
            catch (Exception ex)
54
            {
55
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
56
            }
57
        }
58
        #endregion
59

  
60
        #region 発注者マスタの登録
61
        /// <summary>
62
        /// 発注者マスタの登録
63
        /// </summary>
64
        private void CreateCostomerData()
65
        {
66
            IOMOrderers OrderDB = new IOMOrderers(); 
67
            IOCostomerRegist RegistDB = new IOCostomerRegist();
68
            try
69
            {
70
                // 発注者登録申請データ取得
71
                string strSQL = RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
72
                CostomerRegist RegistRec = new CostomerRegist();
73
                if (!RegistDB.SelectAction(strSQL, ref RegistRec))
74
                {
75
                    MessageBox.Show("発注者登録申請データが存在しません。", "登録確認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
76
                    return;
77
                }
78
                
79
                OrderDB.connect(); OrderDB.beginTran();
80
                RegistDB.connect(); RegistDB.beginTran();
81

  
82
                // 新規・修正処理
83
                switch (RegistRec.DataMode)
84
                {
85
                    case (int)FrmCostomerRegist.DataMode.NewData:
86

  
87
                        // ソースのコードがあれば再度の作成はしない
88
                        if (RegistRec.SourceCode != 0) return;
89
                        // 新規データ作成
90
                        CreateCostomer(OrderDB, RegistDB, ref RegistRec, strSQL);
91

  
92
                        break;
93
                    case (int)FrmCostomerRegist.DataMode.EditData:
94

  
95
                        // 既存データ更新
96
                        UpdateCostomer(OrderDB, RegistRec);
97
                        break;
98
                }
99

  
100
                OrderDB.commit();
101
                RegistDB.commit();
102
            }
103
            catch (Exception ex)
104
            {
105
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
106
            }
107
            finally
108
            {
109
                RegistDB.close(); RegistDB = null;
110
                OrderDB.close(); OrderDB = null;
111
            }
112
        }
113
        #endregion
114

  
115
        #region 発注者マスタ新規データ作成
116
        /// <summary>
117
        /// 発注者マスタ新規データ作成
118
        /// </summary>
119
        private bool CreateCostomer(IOMOrderers OrderDB, IOCostomerRegist RegistDB, ref CostomerRegist RegistRec, string SourceSQL)
120
        {
121
            try
122
            {
123
                // 新規発注者コード取得
124
                string strSQL = OrderDB.CreatePrimarykeyString(RegistRec.OrderCotegory);
125
                int OrderersCode = OrderDB.SelectMaxOrderersCodeCount(strSQL, false) + 1;
126
                // 表示順取得
127
                int DispOrder = OrderDB.GetMaxDisplayOrder(strSQL, false) + 1;
128

  
129
                strSQL = "INSERT INTO ORDERERSMASTER";
130
                strSQL += " SELECT";
131
                strSQL += " OrderCotegory,";
132
                strSQL += string.Format(" {0},", OrderersCode);
133
                strSQL += string.Format(" {0},", DispOrder);
134
                strSQL += " OrderFlg,";
135
                strSQL += " CorporateStatusName,";
136
                strSQL += " CorporateStatusPoint,";
137
                strSQL += " OrderersName1,";
138
                strSQL += " OrderersName2,";
139
                strSQL += " DepartmentName,";
140
                strSQL += " ChargePersonName,";
141
                strSQL += " ZipCode,";
142
                strSQL += " Address1,";
143
                strSQL += " Address2,";
144
                strSQL += " Address3,";
145
                strSQL += " PhoneNumber,";
146
                strSQL += " FaxNumber,";
147
                strSQL += " MailAddress,";
148
                strSQL += " Note,";
149
                strSQL += " 0,";
150
                strSQL += " NOW(),";
151
                strSQL += " NOW()";
152
                strSQL += " FROM COSTOMERREGIST";
153

  
154
                strSQL += SourceSQL;
155
                if (!OrderDB.ExecuteNonQuery(strSQL, false))
156
                {
157
                    OrderDB.rollback();
158
                    MessageBox.Show("発注者マスタ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
159
                    return false;
160
                }
161

  
162
                // 新規番号のセット
163
                RegistRec.SourceCode = OrderersCode;
164

  
165
                // 成功時は発注者登録データにコードセット
166
                strSQL = "UPDATE COSTOMERREGIST SET";
167
                strSQL += string.Format(" SOURCECOTEGORY = {0}", RegistRec.OrderCotegory);
168
                strSQL += string.Format(", SOURCECODE = {0}", RegistRec.SourceCode);
169
                strSQL += RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
170
                if (!RegistDB.ExecuteNonQuery(strSQL, false))
171
                {
172
                    OrderDB.rollback();
173
                    RegistDB.rollback();
174
                    MessageBox.Show("発注者登録申請データ更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
175
                    return false;
176
                }
177

  
178
                return true;
179
            }
180
            catch (Exception ex)
181
            {
182
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
183
                return false;
184
            }
185
        }
186
        #endregion
187

  
188
        #region 発注者マスタ既存データ更新
189
        /// <summary>
190
        /// 発注者マスタ既存データ更新
191
        /// </summary>
192
        private bool UpdateCostomer(IOMOrderers OrderDB, CostomerRegist RegistRec)
193
        {
194
            try
195
            {
196
                string strSQL = "UPDATE OrderersMaster";
197

  
198
                strSQL += " SET";
199

  
200
                strSQL += string.Format(" OrderFlg = {0}", RegistRec.OrderFlg);
201
                strSQL += string.Format(", CorporateStatusName = '{0}'", RegistRec.CorporateStatusName);
202
                strSQL += string.Format(", CorporateStatusPoint = {0}", RegistRec.CorporateStatusPoint);
203
                strSQL += string.Format(", OrderersName1 = '{0}'", RegistRec.OrderersName1);
204
                strSQL += string.Format(", OrderersName2 = '{0}'", RegistRec.OrderersName2);
205
                strSQL += string.Format(", DepartmentName = '{0}'", RegistRec.DepartmentName);
206
                strSQL += string.Format(", ChargePersonName = '{0}'", RegistRec.ChargePersonName);
207
                strSQL += string.Format(", ZipCode = '{0}'", RegistRec.ZipCode);
208
                strSQL += string.Format(", Address1 = '{0}'", RegistRec.Address1);
209
                strSQL += string.Format(", Address2 = '{0}'", RegistRec.Address2);
210
                strSQL += string.Format(", Address3 = '{0}'", RegistRec.Address3);
211
                strSQL += string.Format(", PhoneNumber = '{0}'", RegistRec.PhoneNumber);
212
                strSQL += string.Format(", FaxNumber = '{0}'", RegistRec.FaxNumber);
213
                strSQL += string.Format(", Note = '{0}'", RegistRec.Note);
214
                strSQL += string.Format(", MailAddress = '{0}'", RegistRec.MailAddress);
215

  
216
                strSQL += ", UpdateDate = NOW()";
217

  
218
                strSQL += OrderDB.CreatePrimarykeyString(RegistRec.SourceCotegory, RegistRec.SourceCode);
219
                if (!OrderDB.ExecuteNonQuery(strSQL, false))
220
                {
221
                    OrderDB.rollback();
222
                    MessageBox.Show("発注者マスタ、更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
223
                    return false;
224
                }
225
                return true;
226
            }
227
            catch (Exception ex)
228
            {
229
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
230
                return false;
231
            }
232
        }
233
        #endregion
234

  
235
        #region 協力会社マスタの登録
236
        /// <summary>
237
        /// 協力会社マスタの登録
238
        /// </summary>
239
        private void CreateSubConstrData()
240
        {
241
            IOMSubContractor SubConstrDB = new IOMSubContractor();
242
            IOSubConstrRegist RegistDB = new IOSubConstrRegist();
243
            try
244
            {
245
                // 協力会社登録申請データ取得
246
                string strSQL = RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
247
                SubConstrRegist RegistRec = new SubConstrRegist();
248
                if (!RegistDB.SelectAction(strSQL, ref RegistRec))
249
                {
250
                    MessageBox.Show("協力会社登録申請データが存在しません。", "登録確認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
251
                    return;
252
                }
253

  
254
                SubConstrDB.connect(); SubConstrDB.beginTran();
255
                RegistDB.connect(); RegistDB.beginTran();
256

  
257
                // 新規・修正処理
258
                switch (RegistRec.DataMode)
259
                {
260
                    case (int)FrmCostomerRegist.DataMode.NewData:
261

  
262
                        // ソースのコードがあれば再度の作成はしない
263
                        if (RegistRec.SourceCode != 0) break;
264

  
265
                        // ----- 新規データ作成
266
                        // 協力会社登録
267
                        if (!CreateSubConstr(SubConstrDB, RegistDB, ref RegistRec, strSQL)) break;
268
                        // 協力業者施工工種登録
269
                        if (!CreateSubConstrJobItem(SubConstrDB, RegistRec, strSQL))
270
                        {
271
                            RegistDB.rollback();
272
                            break;
273
                        }
274
                        // 協力業者職種リンク登録
275
                        if (!CreateSubConstrJobLink(SubConstrDB, RegistRec, strSQL))
276
                        {
277
                            RegistDB.rollback();
278
                            break;
279
                        }
280

  
281
                        break;
282

  
283
                    case (int)FrmCostomerRegist.DataMode.EditData:
284
                        // 既存データ更新
285
                        if (!UpdateSubConstr(SubConstrDB, RegistRec)) break;
286
                        // 協力業者施工工種登録
287
                        if (!UpdateSubConstrJobItem(SubConstrDB, RegistRec, strSQL)) break;
288
                        // 協力業者職種リンク登録
289
                        if (!UpdateSubConstrJobLink(SubConstrDB, RegistRec, strSQL)) break;
290

  
291
                        break;
292
                }
293
                SubConstrDB.commit();
294
                RegistDB.commit();
295
            }
296
            catch (Exception ex)
297
            {
298
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
299
            }
300
            finally
301
            {
302
                RegistDB.close(); RegistDB = null;
303
                SubConstrDB.close(); SubConstrDB = null;
304
            }
305
        }
306
        #endregion
307

  
308
        #region 協力会社マスタ新規データ作成
309
        /// <summary>
310
        /// 協力会社マスタ新規データ作成
311
        /// </summary>
312
        private bool CreateSubConstr(IOMSubContractor SubDB, IOSubConstrRegist RegistDB, ref SubConstrRegist RegistRec, string SourceSQL)
313
        {
314
            try
315
            {
316
                // 新規協力会社コード取得
317
                int CompanyCode = SubDB.SelectMaxCompanyCodeCount("", false) + 1;
318
                int DisplayOrder = SubDB.SelectMaxDisplayOrderCount("", false) + 1;
319

  
320
                string strSQL = "INSERT INTO SUBCONTRACTORMASTER";
321
                strSQL += " SELECT";
322
                strSQL += string.Format(" {0},", CompanyCode);
323
                strSQL += string.Format(" {0},", DisplayOrder);
324
                strSQL += " CorporateStatusName,";
325
                strSQL += " CorporateStatusPoint,";
326
                strSQL += " CompanyName,";
327
                strSQL += " CEOPositionName,";
328
                strSQL += " CEOName,";
329
                strSQL += " ContactPersonName,";
330
                strSQL += " ZipCode,";
331
                strSQL += " Address1,";
332
                strSQL += " Address2,";
333
                strSQL += " Address3,";
334
                strSQL += " CellPhoneNumber,";
335
                strSQL += " MailAddress,";
336
                strSQL += " PhoneNumber,";
337
                strSQL += " FaxNumber,";
338
                strSQL += " JapaneseSyllabary,";
339
                strSQL += " StartDate,";
340
                strSQL += " Note,";
341
                strSQL += " labourKind,";
342
                strSQL += " 0,";
343
                strSQL += " NOW(),";
344
                strSQL += " NOW()";
345
                strSQL += " FROM SUBCONSTRREGIST";
346

  
347
                strSQL += SourceSQL;
348
                if (!SubDB.ExecuteNonQuery(strSQL, false))
349
                {
350
                    SubDB.rollback();
351
                    MessageBox.Show("協力会社マスタ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
352
                    return false;
353
                }
354

  
355
                // 新規番号のセット
356
                RegistRec.SourceCode = CompanyCode;
357

  
358
                // 成功時は発注者登録データにコードセット
359
                strSQL = string.Format("UPDATE SUBCONSTRREGIST SET SOURCECODE = {0}", RegistRec.SourceCode);
360
                strSQL += SourceSQL;
361
                if (!RegistDB.ExecuteNonQuery(strSQL, false))
362
                {
363
                    SubDB.rollback();
364
                    RegistDB.rollback();
365
                    MessageBox.Show("発注者登録申請データ更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
366
                    return false;
367
                }
368

  
369
                return true;
370
            }
371
            catch (Exception ex)
372
            {
373
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
374
                return false;
375
            }
376
        }
377
        #endregion
378

  
379
        #region 協力業者施工工種登録申請データ新規作成
380
        /// <summary>
381
        /// 協力業者施工工種登録申請データ新規作成
382
        /// </summary>
383
        private bool CreateSubConstrJobItem(IOMSubContractor SubDB, SubConstrRegist RegistRec, string SourceSQL)
384
        {
385
            try
386
            {
387
                // データ無は処理しない
388
                string strSQL = "SELECT count(*) FROM SUBCONSTRJOBITEMREGIST";
389
                strSQL += SourceSQL;
390
                ArrayList arCnt = new ArrayList();
391
                if (!SubDB.ExecuteReader(strSQL, ref arCnt, false)) return false;
392
                if (arCnt.Count == 0) return false;
393
                object[] Datacnt = (object[])arCnt[0];
394
                if (CommonMotions.cnvInt(Datacnt[0]) == 0) return true;
395
                
396
                strSQL = "INSERT INTO SUBCONTRACTORJOBITEM";
397
                strSQL += " SELECT";
398
                strSQL += string.Format(" {0},", RegistRec.SourceCode);
399
                strSQL += " ItemCode,";
400
                strSQL += " DisplayOrder,";
401
                strSQL += " NOW(),";
402
                strSQL += " NOW()";
403
                strSQL += " FROM SubConstrJobItemRegist";
404

  
405
                strSQL += SourceSQL;
406
                if (!SubDB.ExecuteNonQuery(strSQL, false))
407
                {
408
                    SubDB.rollback();
409
                    MessageBox.Show("協力業者施工工種登録申請データ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
410
                    return false;
411
                }
412

  
413
                return true;
414
            }
415
            catch (Exception ex)
416
            {
417
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
418
                return false;
419
            }
420
        }
421
        #endregion
422

  
423
        #region 協力業者職種リンク登録申請データ新規作成
424
        /// <summary>
425
        /// 協力業者職種リンク登録申請データ新規作成
426
        /// </summary>
427
        private bool CreateSubConstrJobLink(IOMSubContractor SubDB, SubConstrRegist RegistRec, string SourceSQL)
428
        {
429
            try
430
            {
431
                // データ無は処理しない
432
                string strSQL = "SELECT count(*) FROM SubConstrJobLinkRegist";
433
                strSQL += SourceSQL;
434
                ArrayList arCnt = new ArrayList();
435
                if (!SubDB.ExecuteReader(strSQL, ref arCnt, false)) return false;
436
                if (arCnt.Count == 0) return false;
437
                object[] Datacnt = (object[])arCnt[0];
438
                if (CommonMotions.cnvInt(Datacnt[0]) == 0) return true;
439

  
440
                strSQL = "INSERT INTO SubContractorJobLink";
441
                strSQL += " SELECT";
442
                strSQL += string.Format(" {0},", RegistRec.SourceCode);
443
                strSQL += " JobCategoryCode,";
444
                strSQL += " DisplayOrder,";
445
                strSQL += " NOW(),";
446
                strSQL += " NOW()";
447
                strSQL += " FROM SubConstrJobLinkRegist";
448

  
449
                strSQL += SourceSQL;
450
                if (!SubDB.ExecuteNonQuery(strSQL, false))
451
                {
452
                    SubDB.rollback();
453
                    MessageBox.Show("協力業者職種リンク登録申請データ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
454
                    return false;
455
                }
456

  
457
                return true;
458
            }
459
            catch (Exception ex)
460
            {
461
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
462
                return false;
463
            }
464
        }
465
        #endregion
466

  
467
        #region 協力会社マスタ既存データ更新
468
        /// <summary>
469
        /// 協力会社マスタ既存データ更新
470
        /// </summary>
471
        private bool UpdateSubConstr(IOMSubContractor SubDB, SubConstrRegist RegistRec)
472
        {
473
            try
474
            {
475
                string strSQL = "UPDATE SubContractorMaster";
476

  
477
                strSQL += " SET";
478

  
479
                strSQL += string.Format(" CompanyCode = {0}", RegistRec.SourceCode);
480
                strSQL += string.Format(", CorporateStatusName = '{0}'", RegistRec.CorporateStatusName);
481
                strSQL += string.Format(", CorporateStatusPoint = {0}", RegistRec.CorporateStatusPoint);
482
                strSQL += string.Format(", CompanyName = '{0}'", RegistRec.CompanyName);
483
                strSQL += string.Format(", CEOPositionName = '{0}'", RegistRec.CEOPositionName);
484
                strSQL += string.Format(", CEOName = '{0}'", RegistRec.CEOName);
485
                strSQL += string.Format(", ContactPersonName = '{0}'", RegistRec.ContactPersonName);
486
                strSQL += string.Format(", ZipCode = '{0}'", RegistRec.ZipCode);
487
                strSQL += string.Format(", Address1 = '{0}'", RegistRec.Address1);
488
                strSQL += string.Format(", Address2 = '{0}'", RegistRec.Address2);
489
                strSQL += string.Format(", Address3 = '{0}'", RegistRec.Address3);
490
                strSQL += string.Format(", CellPhoneNumber = '{0}'", RegistRec.CellPhoneNumber);
491
                strSQL += string.Format(", MailAddress = '{0}'", RegistRec.MailAddress);
492
                strSQL += string.Format(", PhoneNumber = '{0}'", RegistRec.PhoneNumber);
493
                strSQL += string.Format(", FaxNumber = '{0}'", RegistRec.FaxNumber);
494
                strSQL += string.Format(", JapaneseSyllabary = '{0}'", RegistRec.JapaneseSyllabary);
495
                strSQL += string.Format(", StartDate = STR_TO_DATE('{0}','%Y/%m/%d')", RegistRec.StartDate.ToShortDateString());
496
                strSQL += string.Format(", Note = '{0}'", RegistRec.Note);
497
                strSQL += string.Format(", labourKind = {0}", RegistRec.labourKind);
498

  
499
                strSQL += ", UpdateDate = NOW()";
500

  
501
                strSQL += SubDB.CreatePrimarykeyString(RegistRec.SourceCode);
502
                if (!SubDB.ExecuteNonQuery(strSQL, false))
503
                {
504
                    SubDB.rollback();
505
                    MessageBox.Show("協力会社マスタ、更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
506
                    return false;
507
                }
508
                return true;
509
            }
510
            catch (Exception ex)
511
            {
512
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
513
                return false;
514
            }
515
        }
516
        #endregion
517

  
518
        #region 協力業者施工工種登録申請データ更新
519
        /// <summary>
520
        /// 協力業者施工工種登録申請データ更新
521
        /// </summary>
522
        private bool UpdateSubConstrJobItem(IOMSubContractor SubDB, SubConstrRegist RegistRec, string SourceSQL)
523
        {
524
            try
525
            {
526
                // まず削除して
527
                string strSQL = "DELETE FROM SubContractorJobItem";
528
                strSQL += string.Format(" WHERE CompanyCode = {0}", RegistRec.SourceCode);
529
                SubDB.ExecuteNonQuery(strSQL, false);
530

  
531
                // 新規作成
532
                return CreateSubConstrJobItem(SubDB, RegistRec, SourceSQL);
533
            }
534
            catch (Exception ex)
535
            {
536
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
537
                return false;
538
            }
539
        }
540
        #endregion
541

  
542
        #region 協力業者職種リンク登録申請データ更新
543
        /// <summary>
544
        /// 協力業者職種リンク登録申請データ更新
545
        /// </summary>
546
        private bool UpdateSubConstrJobLink(IOMSubContractor SubDB, SubConstrRegist RegistRec, string SourceSQL)
547
        {
548
            try
549
            {
550
                // まず削除して
551
                string strSQL = "DELETE FROM SubContractorJobLink";
552
                strSQL += string.Format(" WHERE CompanyCode = {0}", RegistRec.SourceCode);
553
                SubDB.ExecuteNonQuery(strSQL, false);
554

  
555
                // 新規作成
556
                return CreateSubConstrJobLink(SubDB, RegistRec, SourceSQL);
557
            }
558
            catch (Exception ex)
559
            {
560
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
561
                return false;
562
            }
563
        }
564
        #endregion
565
    }
566
}
branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmAppManAux.cs
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8
using System.Collections;
9
using System.Linq;
10
using System.Diagnostics;
11
using System.Data.Common;
12

  
13
using log4net;
14
using log4net.Appender;
15
using log4net.Repository.Hierarchy;
16

  
17
using ProcessManagement.Common;
18
using ProcessManagement.DB.IOAccess;
19
using ProcessManagement.DataModel;
20
using ProcessManagement.DB.Core;
21
using ProcessManagement.Forms.Master;
22
using ProcessManagement.Forms.SubForms;
23
using ProcessManagement.Forms.ControlsAction;
24
using ProcessManagement.Forms.CustomControls;
25

  
26
namespace ProcessManagement.Forms.DataEntry
27
{
28
    partial class FrmApprovalPerson
29
    {
30
        #region 最終承認が成された後の処理
31
        /// <summary>
32
        /// 最終承認が成された後の処理
33
        /// </summary>
34
        private void ApprovalNextProcess()
35
        {
36
            try
37
            {
38
                switch (m_ApprovalCode)
39
                {
40
                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
41
                        // 8:出勤管理承認
42
                        break;
43
                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
44
                        // 9:発注者登録承認
45
                        CreateCostomerData();
46
                        break;
47
                    case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:
48
                        // 10:協力会社登録承認
49
                        CreateSubConstrData();
50
                        break;
51
                }
52
            }
53
            catch (Exception ex)
54
            {
55
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
56
            }
57
        }
58
        #endregion
59

  
60
        #region 発注者マスタの登録
61
        /// <summary>
62
        /// 発注者マスタの登録
63
        /// </summary>
64
        private void CreateCostomerData()
65
        {
66
            IOMOrderers OrderDB = new IOMOrderers(); 
67
            IOCostomerRegist RegistDB = new IOCostomerRegist();
68
            try
69
            {
70
                // 発注者登録申請データ取得
71
                string strSQL = RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
72
                CostomerRegist RegistRec = new CostomerRegist();
73
                if (!RegistDB.SelectAction(strSQL, ref RegistRec))
74
                {
75
                    MessageBox.Show("発注者登録申請データが存在しません。", "登録確認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
76
                    return;
77
                }
78
                
79
                OrderDB.connect(); OrderDB.beginTran();
80
                RegistDB.connect(); RegistDB.beginTran();
81

  
82
                // 新規・修正処理
83
                switch (RegistRec.DataMode)
84
                {
85
                    case (int)FrmCostomerRegist.DataMode.NewData:
86

  
87
                        // ソースのコードがあれば再度の作成はしない
88
                        if (RegistRec.SourceCode != 0) return;
89
                        // 新規データ作成
90
                        CreateCostomer(OrderDB, RegistDB, ref RegistRec, strSQL);
91

  
92
                        break;
93
                    case (int)FrmCostomerRegist.DataMode.EditData:
94

  
95
                        // 既存データ更新
96
                        UpdateCostomer(OrderDB, RegistRec);
97
                        break;
98
                }
99

  
100
                OrderDB.commit();
101
                RegistDB.commit();
102
            }
103
            catch (Exception ex)
104
            {
105
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
106
            }
107
            finally
108
            {
109
                RegistDB.close(); RegistDB = null;
110
                OrderDB.close(); OrderDB = null;
111
            }
112
        }
113
        #endregion
114

  
115
        #region 発注者マスタ新規データ作成
116
        /// <summary>
117
        /// 発注者マスタ新規データ作成
118
        /// </summary>
119
        private bool CreateCostomer(IOMOrderers OrderDB, IOCostomerRegist RegistDB, ref CostomerRegist RegistRec, string SourceSQL)
120
        {
121
            try
122
            {
123
                // 新規発注者コード取得
124
                string strSQL = OrderDB.CreatePrimarykeyString(RegistRec.OrderCotegory);
125
                int OrderersCode = OrderDB.SelectMaxOrderersCodeCount(strSQL, false) + 1;
126
                // 表示順取得
127
                int DispOrder = OrderDB.GetMaxDisplayOrder(strSQL, false) + 1;
128

  
129
                strSQL = "INSERT INTO ORDERERSMASTER";
130
                strSQL += " SELECT";
131
                strSQL += " OrderCotegory,";
132
                strSQL += string.Format(" {0},", OrderersCode);
133
                strSQL += string.Format(" {0},", DispOrder);
134
                strSQL += " OrderFlg,";
135
                strSQL += " CorporateStatusName,";
136
                strSQL += " CorporateStatusPoint,";
137
                strSQL += " OrderersName1,";
138
                strSQL += " OrderersName2,";
139
                strSQL += " DepartmentName,";
140
                strSQL += " ChargePersonName,";
141
                strSQL += " ZipCode,";
142
                strSQL += " Address1,";
143
                strSQL += " Address2,";
144
                strSQL += " Address3,";
145
                strSQL += " PhoneNumber,";
146
                strSQL += " FaxNumber,";
147
                strSQL += " MailAddress,";
148
                strSQL += " Note,";
149
                strSQL += " 0,";
150
                strSQL += " NOW(),";
151
                strSQL += " NOW()";
152
                strSQL += " FROM COSTOMERREGIST";
153

  
154
                strSQL += SourceSQL;
155
                if (!OrderDB.ExecuteNonQuery(strSQL, false))
156
                {
157
                    OrderDB.rollback();
158
                    MessageBox.Show("発注者マスタ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
159
                    return false;
160
                }
161

  
162
                // 新規番号のセット
163
                RegistRec.SourceCode = OrderersCode;
164

  
165
                // 成功時は発注者登録データにコードセット
166
                strSQL = "UPDATE COSTOMERREGIST SET";
167
                strSQL += string.Format(" SOURCECOTEGORY = {0}", RegistRec.OrderCotegory);
168
                strSQL += string.Format(", SOURCECODE = {0}", RegistRec.SourceCode);
169
                strSQL += RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
170
                if (!RegistDB.ExecuteNonQuery(strSQL, false))
171
                {
172
                    OrderDB.rollback();
173
                    RegistDB.rollback();
174
                    MessageBox.Show("発注者登録申請データ更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
175
                    return false;
176
                }
177

  
178
                return true;
179
            }
180
            catch (Exception ex)
181
            {
182
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
183
                return false;
184
            }
185
        }
186
        #endregion
187

  
188
        #region 発注者マスタ既存データ更新
189
        /// <summary>
190
        /// 発注者マスタ既存データ更新
191
        /// </summary>
192
        private bool UpdateCostomer(IOMOrderers OrderDB, CostomerRegist RegistRec)
193
        {
194
            try
195
            {
196
                string strSQL = "UPDATE OrderersMaster";
197

  
198
                strSQL += " SET";
199

  
200
                strSQL += string.Format(" OrderFlg = {0}", RegistRec.OrderFlg);
201
                strSQL += string.Format(", CorporateStatusName = '{0}'", RegistRec.CorporateStatusName);
202
                strSQL += string.Format(", CorporateStatusPoint = {0}", RegistRec.CorporateStatusPoint);
203
                strSQL += string.Format(", OrderersName1 = '{0}'", RegistRec.OrderersName1);
204
                strSQL += string.Format(", OrderersName2 = '{0}'", RegistRec.OrderersName2);
205
                strSQL += string.Format(", DepartmentName = '{0}'", RegistRec.DepartmentName);
206
                strSQL += string.Format(", ChargePersonName = '{0}'", RegistRec.ChargePersonName);
207
                strSQL += string.Format(", ZipCode = '{0}'", RegistRec.ZipCode);
208
                strSQL += string.Format(", Address1 = '{0}'", RegistRec.Address1);
209
                strSQL += string.Format(", Address2 = '{0}'", RegistRec.Address2);
210
                strSQL += string.Format(", Address3 = '{0}'", RegistRec.Address3);
211
                strSQL += string.Format(", PhoneNumber = '{0}'", RegistRec.PhoneNumber);
212
                strSQL += string.Format(", FaxNumber = '{0}'", RegistRec.FaxNumber);
213
                strSQL += string.Format(", Note = '{0}'", RegistRec.Note);
214
                strSQL += string.Format(", MailAddress = '{0}'", RegistRec.MailAddress);
215

  
216
                strSQL += ", UpdateDate = NOW()";
217

  
218
                strSQL += OrderDB.CreatePrimarykeyString(RegistRec.SourceCotegory, RegistRec.SourceCode);
219
                if (!OrderDB.ExecuteNonQuery(strSQL, false))
220
                {
221
                    OrderDB.rollback();
222
                    MessageBox.Show("発注者マスタ、更新に失敗しました。", "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
223
                    return false;
224
                }
225
                return true;
226
            }
227
            catch (Exception ex)
228
            {
229
                logger.ErrorFormat("システムエラー:{0}:{1}", CommonMotions.GetMethodName(), ex.Message);
230
                return false;
231
            }
232
        }
233
        #endregion
234

  
235
        #region 協力会社マスタの登録
236
        /// <summary>
237
        /// 協力会社マスタの登録
238
        /// </summary>
239
        private void CreateSubConstrData()
240
        {
241
            IOMSubContractor SubConstrDB = new IOMSubContractor();
242
            IOSubConstrRegist RegistDB = new IOSubConstrRegist();
243
            try
244
            {
245
                // 協力会社登録申請データ取得
246
                string strSQL = RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
247
                SubConstrRegist RegistRec = new SubConstrRegist();
248
                if (!RegistDB.SelectAction(strSQL, ref RegistRec))
249
                {
250
                    MessageBox.Show("協力会社登録申請データが存在しません。", "登録確認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
251
                    return;
252
                }
253

  
254
                SubConstrDB.connect(); SubConstrDB.beginTran();
255
                RegistDB.connect(); RegistDB.beginTran();
256

  
257
                // 新規・修正処理
258
                switch (RegistRec.DataMode)
259
                {
260
                    case (int)FrmCostomerRegist.DataMode.NewData:
261

  
262
                        // ソースのコードがあれば再度の作成はしない
263
                        if (RegistRec.SourceCode != 0) break;
264

  
265
                        // ----- 新規データ作成
266
                        // 協力会社登録
267
                        if (!CreateSubConstr(SubConstrDB, RegistDB, ref RegistRec, strSQL)) break;
... 差分の行数が表示可能な上限を超えました。超過分は表示しません。

他の形式にエクスポート: Unified diff