Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Tia-dev
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dida Adams Arizona
Tia-dev
Commits
0db200dd
Commit
0db200dd
authored
Sep 27, 2020
by
Deni Rinaldi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
formule formule
parent
009d4e3a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
185 additions
and
67 deletions
+185
-67
index.js
src/api/index.js
+3
-1
BudgetTahunan.js
src/container/BudgetTahunan.js
+4
-2
BalanceSheet.js
src/container/BudgetTahunan/BalanceSheet.js
+15
-6
ProfitLoss.js
src/container/BudgetTahunan/ProfitLoss.js
+163
-58
No files found.
src/api/index.js
View file @
0db200dd
...
...
@@ -198,6 +198,7 @@ const create = (type = "") => {
const
uploadMasterBudget
=
(
body
)
=>
api
.
post
(
'transaction/master_budget/import_master_budget'
,
body
)
const
validateSubmitReport
=
(
body
)
=>
api
.
post
(
'transaction/master_budget/validate_save'
,
body
)
const
getMonthTransaction
=
()
=>
api
.
get
(
'transaction/get_default_month'
)
const
countingFormula
=
(
body
)
=>
api
.
post
(
'transaction/counting_formula'
,
body
)
const
getOpetratingIndID
=
(
body
)
=>
api
.
post
(
'transaction/get_operating_indicator_id'
,
body
)
const
getAllOperatingInd
=
(
body
)
=>
api
.
post
(
'transaction/get_all_operating_indicator_report'
,
body
)
...
...
@@ -350,7 +351,8 @@ const create = (type = "") => {
validateSubmitReport
,
checkUploadOperatingInd
,
uploadOperatingInd
,
getLastestUpdateMB
getLastestUpdateMB
,
countingFormula
}
}
...
...
src/container/BudgetTahunan.js
View file @
0db200dd
...
...
@@ -208,11 +208,12 @@ export default class BudgetTahunan extends Component {
})
}
clickDetail
(
item
,
id
,
revision
)
{
clickDetail
(
item
,
id
,
revision
,
status
)
{
console
.
log
(
item
);
this
.
setState
({
report_id
:
id
,
revisionTable
:
revision
,
status
:
status
},
()
=>
{
if
(
item
===
'Balance Sheet'
)
{
this
.
setState
({
...
...
@@ -415,7 +416,7 @@ export default class BudgetTahunan extends Component {
borderColor
:
'transparent'
}}
onClick
=
{()
=>
tableMeta
.
rowData
[
5
]
?
this
.
clickDetail
(
tableMeta
.
rowData
[
1
],
tableMeta
.
rowData
[
4
],
tableMeta
.
rowData
[
2
])
:
null
tableMeta
.
rowData
[
5
]
?
this
.
clickDetail
(
tableMeta
.
rowData
[
1
],
tableMeta
.
rowData
[
4
],
tableMeta
.
rowData
[
2
]
,
tableMeta
.
rowData
[
3
]
)
:
null
}
>
<
Typography
style
=
{{
color
:
tableMeta
.
rowData
[
5
]
?
'#5198ea'
:
'GrayText'
,
fontSize
:
12
,
}}
>
Detail
<
/Typography
>
...
...
@@ -653,6 +654,7 @@ export default class BudgetTahunan extends Component {
saveToMasterBudget
=
{
this
.
saveToMasterBudget
.
bind
(
this
)}
onClickClose
=
{()
=>
this
.
setState
({
visiblePL
:
false
,
visibleBudgetTahunan
:
true
})}
getReport
=
{
this
.
getReport
.
bind
(
this
)}
status
=
{
this
.
state
.
status
}
/
>
)}
...
...
src/container/BudgetTahunan/BalanceSheet.js
View file @
0db200dd
...
...
@@ -115,7 +115,8 @@ export default class BalanceSheet extends Component {
item
.
balance_sheet
.
december
,
item
.
balance_sheet
.
total_current_year
,
item
.
balance_sheet
.
total_next_year
,
item
.
balance_sheet
.
total_more_year
item
.
balance_sheet
.
total_more_year
,
item
.
order
])
}
if
(
item
.
children
!==
null
)
{
...
...
@@ -149,7 +150,8 @@ export default class BalanceSheet extends Component {
item
.
balance_sheet
.
december
,
item
.
balance_sheet
.
total_current_year
,
item
.
balance_sheet
.
total_next_year
,
item
.
balance_sheet
.
total_more_year
item
.
balance_sheet
.
total_more_year
,
item
.
order
])
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
...
...
@@ -323,12 +325,13 @@ export default class BalanceSheet extends Component {
item
.
total_current_year
,
item
.
total_next_year
,
item
.
total_more_year
,
item
.
order
,
item
.
error
]
})
this
.
setState
({
dataTable
,
dataLoaded
:
true
,
loading
:
false
,
buttonError
:
false
},
()
=>
{
this
.
state
.
dataTable
.
map
(
item
=>
{
if
(
item
[
2
2
].
length
>
0
)
{
if
(
item
[
2
3
].
length
>
0
)
{
console
.
log
(
'masuk'
)
this
.
setState
({
buttonError
:
true
,
errorPreview
:
true
})
}
...
...
@@ -491,7 +494,7 @@ export default class BalanceSheet extends Component {
let
arrayFormula
=
tableMeta
.
rowData
[
3
].
match
(
/
[
a-zA-Z
]
+|
[
0-9
]
+|
[
-!$%^&*()_+|~=`{}
\[\]
:";'<>?,.
\/]
+
(?:\.[
0-9
]
+@|
)
/g
)
let
arrayJumlah
=
[]
arrayFormula
.
map
((
item
,
indexs
)
=>
{
let
index
=
dataTable2
.
findIndex
((
val
)
=>
val
[
1
]
==
item
)
let
index
=
dataTable2
.
findIndex
((
val
)
=>
val
[
22
]
==
item
)
if
(
index
>
0
)
{
arrayJumlah
.
push
(
dataTable2
[
index
][
tableMeta
.
columnIndex
])
}
else
{
...
...
@@ -569,8 +572,8 @@ export default class BalanceSheet extends Component {
customBodyRender
:
(
val
,
tableMeta
)
=>
{
return
(
<
div
style
=
{{
width
:
300
}}
>
{
tableMeta
.
rowData
[
2
2
]
?
tableMeta
.
rowData
[
2
2
].
length
>
0
?
{
tableMeta
.
rowData
[
2
3
]
?
tableMeta
.
rowData
[
2
3
].
length
>
0
?
<
div
style
=
{{
paddingLeft
:
20
*
Number
(
tableMeta
.
rowData
[
4
])
}}
>
<
LightTooltip
title
=
{
"Report Items Not Registered"
}
arrow
>
<
span
style
=
{{
fontSize
:
12
,
color
:
'red'
}}
>
{
tableMeta
.
rowData
[
0
]
===
4
?
""
:
val
}
<
/span
>
...
...
@@ -1936,6 +1939,12 @@ export default class BalanceSheet extends Component {
}
}
},
{
name
:
""
,
options
:
{
display
:
false
}
},
{
name
:
""
,
options
:
{
...
...
src/container/BudgetTahunan/ProfitLoss.js
View file @
0db200dd
...
...
@@ -116,7 +116,8 @@ export default class ProfitLoss extends Component {
item
.
profit_loss
.
december
,
item
.
profit_loss
.
total_current_year
,
item
.
profit_loss
.
total_next_year
,
item
.
profit_loss
.
total_more_year
item
.
profit_loss
.
total_more_year
,
item
.
order
])
}
if
(
item
.
children
!==
null
)
{
...
...
@@ -151,7 +152,8 @@ export default class ProfitLoss extends Component {
item
.
profit_loss
.
december
,
item
.
profit_loss
.
total_current_year
,
item
.
profit_loss
.
total_next_year
,
item
.
profit_loss
.
total_more_year
item
.
profit_loss
.
total_more_year
,
item
.
order
])
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
...
...
@@ -329,12 +331,13 @@ export default class ProfitLoss extends Component {
item
.
total_current_year
,
item
.
total_next_year
,
item
.
total_more_year
,
item
.
order
,
item
.
error
]
})
this
.
setState
({
dataTable
,
dataLoaded
:
true
,
loading
:
false
,
buttonError
:
false
},
()
=>
{
this
.
state
.
dataTable
.
map
(
item
=>
{
if
(
item
[
2
3
].
length
>
0
)
{
if
(
item
[
2
4
].
length
>
0
)
{
console
.
log
(
'masuk'
)
this
.
setState
({
buttonError
:
true
,
errorPreview
:
true
})
}
...
...
@@ -389,7 +392,7 @@ export default class ProfitLoss extends Component {
alert
(
response
.
data
.
status
)
}
}
else
{
this
.
setState
({
loading
:
false
})
this
.
setState
({
loading
:
false
})
alert
(
response
.
problem
)
// this.props.onClickClose()
// this.props.getReport()
...
...
@@ -489,7 +492,7 @@ export default class ProfitLoss extends Component {
total
+=
Number
(
valItem
)
}
})
if
(
String
(
tableMeta
.
rowData
[
5
]).
toLocaleLowerCase
()
==
"sales price"
)
{
if
(
String
(
tableMeta
.
rowData
[
5
]).
toLocaleLowerCase
()
==
"sales price"
)
{
dataTable2
[
tableMeta
.
rowIndex
][
20
]
=
Number
(
dataTable2
[
tableMeta
.
rowIndex
-
2
][
20
])
/
Number
(
dataTable2
[
tableMeta
.
rowIndex
-
1
][
20
])
let
value
=
Number
(
dataTable2
[
tableMeta
.
rowIndex
-
2
][
20
])
/
Number
(
dataTable2
[
tableMeta
.
rowIndex
-
1
][
20
])
return
value
...
...
@@ -517,11 +520,64 @@ export default class ProfitLoss extends Component {
// console.log(indexParent);
return
a
}
const
handleFormula
=
(
data
,
tableMeta
)
=>
{
const
handleFormula
=
(
data
,
tableMeta
,
month
)
=>
{
let
rilFormula
=
String
(
tableMeta
.
rowData
[
3
])
if
(
rilFormula
.
includes
(
'#'
))
{
if
(
this
.
props
.
status
===
"not-yet"
)
{
let
splitOrder
=
String
(
tableMeta
.
rowData
[
3
]).
split
(
'@'
)
for
(
let
index
=
0
;
index
<
splitOrder
.
length
;
index
++
)
{
if
(
splitOrder
[
index
]
===
""
)
{
}
else
{
if
(
splitOrder
[
index
].
includes
(
'#'
))
{
}
else
{
let
splitOperator
=
splitOrder
[
index
].
match
(
/
[
a-zA-Z
]
+|
[
0-9
]
+|
[
-!$%^&*()_+|~=`{}
\[\]
:";'<>?,.
\/]
+
(?:\.[
0-9
]
+@|
)
/g
)
let
reg
=
/^
\d
+$/
splitOperator
.
map
((
item
)
=>
{
if
(
reg
.
test
(
item
)
===
true
)
{
let
i
=
dataTable2
.
findIndex
((
val
)
=>
val
[
23
]
==
item
)
if
(
i
>
0
)
{
rilFormula
=
rilFormula
.
replace
(
item
,
dataTable2
[
i
][
tableMeta
.
columnIndex
]
===
""
?
"0"
:
dataTable2
[
i
][
tableMeta
.
columnIndex
])
}
}
})
}
}
}
let
body
=
{
"submission_id"
:
null
,
"company_id"
:
this
.
props
.
company
.
company_id
,
"report_id"
:
this
.
props
.
report_id
,
"year"
:
this
.
props
.
periode
,
"month"
:
month
,
"formula"
:
rilFormula
}
api
.
create
().
countingFormula
(
body
).
then
(
response
=>
{
console
.
log
(
response
);
})
}
else
{
let
body
=
{
"submission_id"
:
this
.
props
.
submissionID
,
"company_id"
:
this
.
props
.
company
.
company_id
,
"report_id"
:
this
.
props
.
report_id
,
"year"
:
this
.
props
.
periode
,
"month"
:
month
,
"formula"
:
rilFormula
}
api
.
create
().
countingFormula
(
body
).
then
(
response
=>
{
// console.log(response)
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
"success"
)
{
return
response
.
data
.
data
.
result
}
}
})
}
}
else
{
let
arrayFormula
=
tableMeta
.
rowData
[
3
].
match
(
/
[
a-zA-Z
]
+|
[
0-9
]
+|
[
-!$%^&*()_+|~=`{}
\[\]
:";'<>?,.
\/]
+
(?:\.[
0-9
]
+@|
)
/g
)
let
arrayJumlah
=
[]
arrayFormula
.
map
((
item
,
indexs
)
=>
{
let
index
=
dataTable2
.
findIndex
((
val
)
=>
val
[
1
]
==
item
)
let
index
=
dataTable2
.
findIndex
((
val
)
=>
val
[
23
]
==
item
)
if
(
index
>
0
)
{
arrayJumlah
.
push
(
dataTable2
[
index
][
tableMeta
.
columnIndex
])
}
else
{
...
...
@@ -559,6 +615,49 @@ export default class ProfitLoss extends Component {
})
let
a
=
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
Number
(
total
)
return
a
}
// console.log(rilFormula);
// let arrayFormula = tableMeta.rowData[3].match(/[a-zA-Z]+|[0-9]+|[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]+(?:\.[0-9]+@|)/g)
// let arrayJumlah = []
// arrayFormula.map((item, indexs) => {
// let index = dataTable2.findIndex((val) => val[1] == item)
// if (index > 0) {
// arrayJumlah.push(dataTable2[index][tableMeta.columnIndex])
// } else {
// arrayJumlah.push(item)
// }
// // if (indexs % 2 !== 0) {
// // operator.push(item)
// // }
// })
// let array = arrayJumlah
// let total = 0
// let opt = ""
// array.map((item, index) => {
// if (item == "+") {
// opt = "tambah"
// } else if (item == "-") {
// opt = "kurang"
// } else if (item == "*") {
// opt = "kali"
// } else if (item == "/") {
// opt = "bagi"
// } else {
// if (opt == "tambah") {
// total = Number(total) + Number(item)
// } else if (opt == "kurang") {
// total = Number(total) - Number(item)
// } else if (opt == "kali") {
// total = Number(total) * Number(item)
// } else if (opt == "bagi") {
// total = Number(total) / Number(item)
// } else {
// total += item
// }
// }
// })
// let a = dataTable2[tableMeta.rowIndex][tableMeta.columnIndex] = Number(total)
// return a
}
...
...
@@ -599,8 +698,8 @@ export default class ProfitLoss extends Component {
customBodyRender
:
(
val
,
tableMeta
)
=>
{
return
(
<
div
style
=
{{
width
:
300
}}
>
{
tableMeta
.
rowData
[
2
3
]
?
tableMeta
.
rowData
[
2
3
].
length
>
0
?
{
tableMeta
.
rowData
[
2
4
]
?
tableMeta
.
rowData
[
2
4
].
length
>
0
?
<
div
style
=
{{
paddingLeft
:
20
*
Number
(
tableMeta
.
rowData
[
4
])
}}
>
<
LightTooltip
title
=
{
"Report Items Not Registered"
}
arrow
>
<
span
style
=
{{
fontSize
:
12
,
color
:
'red'
}}
>
{
tableMeta
.
rowData
[
0
]
===
4
?
""
:
val
}
<
/span
>
...
...
@@ -746,15 +845,15 @@ export default class ProfitLoss extends Component {
null
:
tableMeta
.
rowData
[
0
]
===
6
?
//
<NumberFormat
//
thousandSeparator={true}
//
style={{ fontSize: 12, textAlign: 'right', borderColor: 'transparent', margin: 0, width: 96, backgroundColor: 'transparent' }}
//
type="text"
//
placeholder=""
//
disabled={true}
// value={handleFormula(value, tableMeta
)}
/
/ /
>
null
<
NumberFormat
thousandSeparator
=
{
true
}
style
=
{{
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
type
=
"text"
placeholder
=
""
disabled
=
{
true
}
value
=
{
Number
(
handleFormula
(
value
,
tableMeta
,
1
)).
toFixed
(
1
)}
/
>
//
null
:
tableMeta
.
rowData
[
0
]
===
5
?
// <NumberFormat
...
...
@@ -1982,6 +2081,12 @@ export default class ProfitLoss extends Component {
}
}
},
{
name
:
""
,
options
:
{
display
:
false
}
},
{
name
:
""
,
options
:
{
...
...
@@ -2256,7 +2361,7 @@ export default class ProfitLoss extends Component {
this
.
uploadProfitLoss
(
'draft'
)
},
100
);
})}
style
=
{{
marginRight
:
20
}}
style
=
{{
marginRight
:
20
}}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
as
Draft
<
/Typography
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment