Programming/.NET

그룹별 스크립트로 합계 계산하기

초록깨비 2008. 12. 4. 09:19
728x90

그룹별 스크립트로 합계 계산하기
Private _value As String = ""
    '그룹별로 금액 구하기
    Private Sub xgSheetView_CustomSummaryCalculate(ByVal sender As Object, ByVal e As DevExpress.Data.CustomSummaryEventArgs) Handles xgSheetView.CustomSummaryCalculate


        Dim summaryID As Integer = Convert.ToInt32(CType(e.Item, DevExpress.XtraGrid.GridSummaryItem).Tag)
        Dim View As DevExpress.XtraGrid.Views.Grid.GridView = CType(sender, DevExpress.XtraGrid.Views.Grid.GridView)

        If e.SummaryProcess = CustomSummaryProcess.Start Then
            decTagAmt = 0    'TAG_AMT
            decTagQty = 0    'TAG_QTY
            decInAmt = 0     'IN_AMT
            decInQty = 0     'IN_QTY
            decMmatPrice = 0
            decSmatPrice = 0
            decMakePrice = 0
            decEtcMakePrice = 0
            decExpensePrice = 0
            decShortPrice = 0
            decMakeQty = 0
            decShortQty = 0
            decSumAll = 0

            decTagAmtGp = 0  'TAG_AMT
            decTagQtyGp = 0  'TAG_QTY
            decInAmtGp = 0   'IN_AMT
            decInQtyGp = 0   'IN_QTY
            decMmatPriceGp = 0
            decSmatPriceGp = 0
            decMakePriceGp = 0
            decExpensePriceGp = 0
            decEtcMakePriceGp = 0
            decShortPriceGp = 0
            decMakeQtyGp = 0
            decShortQtyGp = 0
        End If


        'Calculation
        If e.SummaryProcess = CustomSummaryProcess.Calculate Then
            Select Case summaryID
                Case 7 'TAG_AMT
                    decTagAmt += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)

                Case 8 'TAG_QTY
                    decTagQty += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0)

                Case 9 'IN_AMT
                    decTagAmt += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_AMT"), 0)

                Case 10 'IN_QTY
                    decTagQty += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_QTY"), 0)

                Case 11 'MAKE_QTY
                    decMakeQty += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)

                Case 12 'MMAT_PRICE
                    decMmatPrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)

                Case 13 'SMAT_PRICE
                    decSmatPrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)

                Case 14 'MAKE_PRICE
                    decMakePrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)

                Case 15 'ETCMAKE_PRICE
                    decEtcMakePrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)

                Case 20 'ETCMAKE_PRICE
                    decExpensePrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)

                Case 22 'SHORT_QTY
                    decShortPrice += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                    decShortQty += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_QTY"), 0)

                Case 16 'SUM_ALL2
                    decSumAll += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0) + _
                                 Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0) + _
                                 Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0) + _
                                 Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0) + _
                                 Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0) - _
                                 Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                Case 17 '합계
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                            decShortPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                            decShortQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_QTY"), 0)

                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                            decShortPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                            decShortQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_QTY"), 0)

                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                            decShortPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                            decShortQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_QTY"), 0)

                    End Select

                Case 18 '등배
                    Select Case e.GroupLevel
                        Case 0
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decSumAll += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0) - _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                        Case 1
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decSumAll += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0) - _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)
                        Case 2
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decSumAll += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0) + _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0) - _
                                           Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SHORT_PRICE"), 0)

                    End Select

                Case 1 '판매가격결정 금액
                    Select Case e.GroupLevel
                        Case 0
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0)
                        Case 1
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0)
                        Case 2
                            decTagAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_AMT"), 0)
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0)
                    End Select

                Case 2 '입고
                    Select Case e.GroupLevel
                        Case 0
                            decInAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_AMT"), 0)
                            decInQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_QTY"), 0)
                        Case 1
                            decInAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_AMT"), 0)
                            decInQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_QTY"), 0)
                        Case 2
                            decInAmtGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_AMT"), 0)
                            decInQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "IN_QTY"), 0)
                    End Select

                Case 3 '원재료
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MMAT_PRICE"), 0)
                    End Select

                Case 4 '부재료
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decSmatPriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "SMAT_PRICE"), 0)
                    End Select

                Case 5 '임가공비
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_PRICE"), 0)
                    End Select

                Case 6 '기타공임
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decEtcMakePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "ETCMAKE_PRICE"), 0)
                    End Select

                Case 21 '비용
                    Select Case e.GroupLevel
                        Case 0
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                        Case 1
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                        Case 2
                            decTagQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "TAG_QTY"), 0) ''
                            decMakeQtyGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "MAKE_QTY"), 0)
                            decExpensePriceGp += Func.NVL(Me.xgSheetView.GetRowCellValue(e.RowHandle, "EXPENSE_PRICE"), 0)
                    End Select

                Case 0
                    Select Case e.GroupLevel
                        Case 0
                            _value = View.GetRowCellValue(e.RowHandle, "MAKE_TYPE") + " "
                        Case 1
                            _value = View.GetRowCellValue(e.RowHandle, "MAT_TYPE") + " "
                    End Select

            End Select
        End If

        'Finalization
        If e.SummaryProcess = CustomSummaryProcess.Finalize Then
            If Not Me.IsShown Then Return

            Select Case summaryID
                Case 1 '판매 가격결정 금액
                    Select Case e.GroupLevel
                        Case 0
                            If decTagQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decTagQtyGp, 2)
                            End If
                        Case 1
                            If decTagQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decTagQtyGp, 2)
                            End If
                        Case 2
                            If decTagQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decTagQtyGp, 2)
                            End If
                    End Select

                Case 2 '입고 금액
                    Select Case e.GroupLevel
                        Case 0
                            If decInQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decInAmtGp / decInQtyGp, 2)
                            End If
                        Case 1
                            If decInQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decInAmtGp / decInQtyGp, 2)
                            End If
                        Case 2
                            If decInQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decInAmtGp / decInQtyGp, 2)
                            End If
                    End Select

                Case 3 '원재료
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2)
                            End If
                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2)
                            End If
                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 4 '부재료
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decSmatPriceGp / decMakeQtyGp, 2)
                            End If
                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decSmatPriceGp / decMakeQtyGp, 2)
                            End If
                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decSmatPriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 5 '임가공비
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMakePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMakePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMakePriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 6 '기타공임
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 21 '비용
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If
                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 17 '합계
                    Select Case e.GroupLevel
                        Case 0
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decSmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If

                        Case 1
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decSmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If

                        Case 2
                            If decMakeQtyGp = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decMmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decSmatPriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decEtcMakePriceGp / decMakeQtyGp, 2) + _
                                               Func.Round(decExpensePriceGp / decMakeQtyGp, 2)
                            End If
                    End Select

                Case 18 '등배
                    Select Case e.GroupLevel
                        Case 0
                            If decSumAll = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decSumAll, 2)
                            End If
                        Case 1
                            If decSumAll = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decSumAll, 2)
                            End If
                        Case 2
                            If decSumAll = 0 Then
                                e.TotalValue = 0
                            Else
                                e.TotalValue = Func.Round(decTagAmtGp / decSumAll, 2)
                            End If
                    End Select
                Case 0
                    e.TotalValue = _value

            End Select
        End If

    End Sub

728x90