Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hg-smart
Overview
Overview
Details
Activity
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
platform
hg-smart
Commits
5ef8e4c4
Commit
5ef8e4c4
authored
Sep 25, 2024
by
宋祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.结算单明细累计结算工程量计算错误问题修复
parent
becb1f21
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
93 additions
and
39 deletions
+93
-39
ServiceHGCW008.java
.../java/com/baosight/hggp/hg/cw/service/ServiceHGCW008.java
+2
-0
HGCW009.xml
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW009.xml
+9
-2
HGCWTools.java
src/main/java/com/baosight/hggp/hg/cw/tools/HGCWTools.java
+17
-1
HGSCTools.java
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
+1
-0
HGCW008A.js
src/main/webapp/HG/CW/HGCW008A.js
+37
-22
HGCW008A.jsp
src/main/webapp/HG/CW/HGCW008A.jsp
+2
-2
HGCW008B.js
src/main/webapp/HG/CW/HGCW008B.js
+14
-2
HGCW008B.jsp
src/main/webapp/HG/CW/HGCW008B.jsp
+2
-2
HGCW008C.jsp
src/main/webapp/HG/CW/HGCW008C.jsp
+3
-2
HGSC006.js
src/main/webapp/HG/SC/HGSC006.js
+1
-2
HGSC006.jsp
src/main/webapp/HG/SC/HGSC006.jsp
+2
-2
HGSC006A.js
src/main/webapp/HG/SC/HGSC006A.js
+1
-1
HGSC006A.jsp
src/main/webapp/HG/SC/HGSC006A.jsp
+1
-1
HGSC101.jsp
src/main/webapp/HG/SC/HGSC101.jsp
+1
-0
No files found.
src/main/java/com/baosight/hggp/hg/cw/service/ServiceHGCW008.java
View file @
5ef8e4c4
...
...
@@ -207,6 +207,8 @@ public class ServiceHGCW008 extends ServiceBase {
DaoUtils
.
update
(
HGCW008
.
DELETE
,
hgcw008
);
// 更新累计金额
HGCWTools
.
HgCw008
.
updateCumulativeSettlement
(
hgcw008
.
getContractNumber
());
// 删除明细
HGCWTools
.
HgCw009
.
deleteBySettlement
(
hgcw008
.
getSettlementNumber
());
}
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据删除成功!"
);
...
...
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW009.xml
View file @
5ef8e4c4
...
...
@@ -154,6 +154,11 @@
DELETE FROM ${hggpSchema}.HGCW009 WHERE ID = #id#
</delete>
<!-- 根据结算单号删除 -->
<delete
id=
"deleteBySettlement"
>
DELETE FROM ${hggpSchema}.HGCW009 WHERE SETTLEMENT_NUMBER = #settlementNumber#
</delete>
<update
id=
"update"
>
UPDATE ${hggpSchema}.HGCW009
SET
...
...
@@ -177,8 +182,10 @@
WHERE ID = #id#
</update>
<select
id=
"queryEngineeringQuantity"
resultClass=
"int"
>
SELECT IFNULL(SUM( THIS_ENGINEERING_QUANTITY ),0) as "sumEngineeringQuantity" FROM ${hggpSchema}.HGCW009 WHERE 1=1
<select
id=
"queryEngineeringQuantity"
resultClass=
"float"
>
SELECT IFNULL(SUM(THIS_ENGINEERING_QUANTITY ),0) as "sumEngineeringQuantity"
FROM ${hggpSchema}.HGCW009
WHERE 1=1
AND SETTLEMENT_NUMBER IN (
SELECT SETTLEMENT_NUMBER FROM ${hggpSchema}.HGCW008 WHERE CONTRACT_NUMBER = #contractNumber#
)
...
...
src/main/java/com/baosight/hggp/hg/cw/tools/HGCWTools.java
View file @
5ef8e4c4
...
...
@@ -646,15 +646,31 @@ public class HGCWTools {
}
/**
*
* @author:songx
* @date:2024/9/25,16:45
*/
public
static
class
HgCw009
{
/**
* 根据结算单删除
*
* @param settlementNumber
*/
public
static
void
deleteBySettlement
(
String
settlementNumber
)
{
Map
paramMap
=
new
HashMap
();
paramMap
.
put
(
"settlementNumber"
,
settlementNumber
);
DaoUtils
.
update
(
"HGCW009.deleteBySettlement"
,
paramMap
);
}
public
static
void
save
(
List
<
Map
>
rows
,
String
settlementNumber
,
HGCW008
hgcw008
)
{
AssertUtils
.
isNull
(
settlementNumber
,
"结算单号不能为空!"
);
rows
.
forEach
(
row
->
{
HGCW009
hgcw009
=
new
HGCW009
();
hgcw009
.
fromMap
(
row
);
hgcw009
.
setCompanyCode
(
hgcw008
.
getCompanyCode
());
hgcw009
.
setCompanyName
(
hgcw008
.
getCompany
Cod
e
());
hgcw009
.
setCompanyName
(
hgcw008
.
getCompany
Nam
e
());
hgcw009
.
setSettlementNumber
(
settlementNumber
);
DaoUtils
.
insert
(
HGCW009
.
INSERT
,
hgcw009
);
});
...
...
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
View file @
5ef8e4c4
...
...
@@ -244,6 +244,7 @@ public class HGSCTools {
AssertUtils
.
isNull
(
code
,
"项目Code不能为空!"
);
Map
queryMap
=
new
HashMap
();
queryMap
.
put
(
HGSC001
.
FIELD_proj_code
,
code
);
queryMap
.
put
(
"notAuth"
,
true
);
List
<
HGSC001
>
results
=
DaoBase
.
getInstance
().
query
(
HgScSqlConstant
.
HgSc001
.
GET_BY_CODE
,
queryMap
);
return
CollectionUtils
.
isEmpty
(
results
)
?
null
:
results
.
get
(
0
);
}
...
...
src/main/webapp/HG/CW/HGCW008A.js
View file @
5ef8e4c4
...
...
@@ -48,7 +48,10 @@ $(function() {
loadComplete
:
function
(
grid
)
{
$
(
"#BTN_CHOICE"
).
on
(
"click"
,
choiceFunc
);
grid
.
dataSource
.
bind
(
"change"
,
function
(
e
)
{
if
(
e
.
field
==
"thisEngineeringQuantity"
||
e
.
field
==
"unitPrice"
)
{
if
(
e
.
field
==
"unitPrice"
)
{
calcTotalPrice
(
e
,
3
);
}
if
(
e
.
field
==
"thisEngineeringQuantity"
)
{
calcTotalPrice
(
e
,
2
);
}
if
(
e
.
field
==
"totalTaxPrice"
)
{
...
...
@@ -374,27 +377,31 @@ let refreshRowNo = function () {
detail1Grid
.
refresh
();
}
}
function
queryCumulativeEngineeringQuantity
(
inventoryId
,
item
)
{
if
(
inventoryId
)
{
var
thisEngineeringQuantity
=
parseFloat
(
item
.
thisEngineeringQuantity
)
||
0
;
// 工程量
var
info
=
new
EiInfo
();
info
.
set
(
"inventoryId"
,
inventoryId
);
EiCommunicator
.
send
(
"HGCW009"
,
"queryEngineeringQuantity"
,
info
,
{
onSuccess
:
function
(
ei
)
{
if
(
ei
.
getStatus
()
>=
0
)
{
var
cumulativeEngineeringQuantity
=
ei
.
extAttr
.
result
||
0
;
detail1Grid
.
setCellValue
(
item
,
'cumulativeEngineeringQuantity'
,
thisEngineeringQuantity
+
cumulativeEngineeringQuantity
);
}
else
{
NotificationUtil
(
ei
,
"error"
);
detail1Grid
.
setCellValue
(
item
,
'cumulativeEngineeringQuantity'
,
thisEngineeringQuantity
);
}
},
onFail
:
function
(
ei
)
{
// 发生异常
NotificationUtil
(
"操作失败,原因["
+
ei
+
"]"
,
"error"
);
}
});
}
function
queryCumulativeEngineeringQuantity
(
item
)
{
let
inventoryId
=
item
.
inventoryId
;
if
(
isBlank
(
inventoryId
))
{
return
;
}
var
thisEngineeringQuantity
=
parseFloat
(
item
.
thisEngineeringQuantity
)
||
0
;
// 工程量
var
info
=
new
EiInfo
();
info
.
set
(
"inventoryId"
,
inventoryId
);
info
.
set
(
"contractNumber"
,
$
(
"#result-0-contractNumber"
).
val
());
EiCommunicator
.
send
(
"HGCW009"
,
"queryEngineeringQuantity"
,
info
,
{
onSuccess
:
function
(
ei
)
{
if
(
ei
.
getStatus
()
>=
0
)
{
var
cumulativeEngineeringQuantity
=
ei
.
extAttr
.
result
||
0
;
detail1Grid
.
setCellValue
(
item
,
'cumulativeEngineeringQuantity'
,
thisEngineeringQuantity
+
cumulativeEngineeringQuantity
);
}
else
{
NotificationUtil
(
ei
,
"error"
);
detail1Grid
.
setCellValue
(
item
,
'cumulativeEngineeringQuantity'
,
thisEngineeringQuantity
);
}
},
onFail
:
function
(
ei
)
{
// 发生异常
NotificationUtil
(
"操作失败,原因["
+
ei
+
"]"
,
"error"
);
}
});
}
/**
...
...
@@ -430,6 +437,10 @@ function calcTotalPrice(e, type) {
let
totalPrice
=
isBlank
(
taxPoints
)
?
totalTaxPrice
:
totalTaxPrice
/
(
1
+
taxPoints
/
100
);
detail1Grid
.
setCellValue
(
item
,
'totalPrice'
,
parseFloat
(
totalPrice
));
detail1Grid
.
setCellValue
(
item
,
'totalTaxPrice'
,
parseFloat
(
totalTaxPrice
));
// 累计工程量
if
(
type
==
2
)
{
queryCumulativeEngineeringQuantity
(
item
);
}
}
// 计算总金额
calculateAmount
(
detail1Grid
.
getDataItems
());
...
...
@@ -458,6 +469,10 @@ function calculateAmount(rows) {
}
else
{
deductionPrice
+=
parseFloat
(
row
.
totalPrice
);
}
// 计算累计至本次的工程量
if
(
isBlank
(
row
.
cumulativeEngineeringQuantity
))
{
queryCumulativeEngineeringQuantity
(
row
);
}
});
// 累计结算工程量
let
cumulativeEngineeringQuantity
=
sumCumulativeEngineeringQuantity
+
thisEngineeringQuantity
;
...
...
src/main/webapp/HG/CW/HGCW008A.jsp
View file @
5ef8e4c4
...
...
@@ -77,9 +77,9 @@
<EF:EFColumn
ename=
"settlementBasis"
cname=
"结算依据"
enable=
"false"
width=
"100"
align=
"center"
/>
<EF:EFColumn
ename=
"taskName"
cname=
"任务名称"
align=
"left"
/>
<EF:EFColumn
ename=
"engineeringContent"
cname=
"工程内容"
align=
"left"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
width=
"120"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"cumulativeEngineeringQuantity"
cname=
"至本次累计结算工程量"
enable=
"false"
width=
"140"
format=
"{0:N3}"
align=
"right"
hidden=
"true"
/>
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"unit"
cname=
"单位"
align=
"center"
/>
<EF:EFColumn
ename=
"unitPrice"
cname=
"含税单价"
format=
"{0:N2}"
align=
"right"
/>
<EF:EFColumn
ename=
"totalPrice"
cname=
"不含税总价"
enable=
"false"
format=
"{0:N2}"
align=
"right"
/>
...
...
src/main/webapp/HG/CW/HGCW008B.js
View file @
5ef8e4c4
...
...
@@ -43,7 +43,10 @@ $(function() {
loadComplete
:
function
(
grid
)
{
$
(
"#BTN_CHOICE"
).
on
(
"click"
,
choiceFunc
);
grid
.
dataSource
.
bind
(
"change"
,
function
(
e
)
{
if
(
e
.
field
==
"thisEngineeringQuantity"
||
e
.
field
==
"unitPrice"
)
{
if
(
e
.
field
==
"unitPrice"
)
{
calcTotalPrice
(
e
,
3
);
}
if
(
e
.
field
==
"thisEngineeringQuantity"
)
{
calcTotalPrice
(
e
,
2
);
}
if
(
e
.
field
==
"totalTaxPrice"
)
{
...
...
@@ -280,7 +283,8 @@ function choiceCallbackFunc(result1, result2) {
detail1Grid
.
refresh
();
})
}
// 计算总金额
calculateAmount
(
detail1Grid
.
getDataItems
())
JSColorbox
.
close
();
}
function
cancelFunc
()
{
...
...
@@ -354,6 +358,10 @@ function calcTotalPrice(e, type) {
let
totalPrice
=
isBlank
(
taxPoints
)
?
totalTaxPrice
:
totalTaxPrice
/
(
1
+
taxPoints
/
100
);
detail1Grid
.
setCellValue
(
item
,
'totalPrice'
,
parseFloat
(
totalPrice
));
detail1Grid
.
setCellValue
(
item
,
'totalTaxPrice'
,
parseFloat
(
totalTaxPrice
));
// 累计工程量
if
(
type
==
2
)
{
queryCumulativeEngineeringQuantity
(
item
);
}
}
// 计算总金额
calculateAmount
(
detail1Grid
.
getDataItems
());
...
...
@@ -378,6 +386,10 @@ function calculateAmount(rows) {
thisAmount
+=
parseFloat
(
row
.
totalPrice
);
thisTaxAmount
+=
parseFloat
(
row
.
totalTaxPrice
);
thisQuantity
+=
parseFloat
(
row
.
thisEngineeringQuantity
);
// 计算累计至本次的工程量
if
(
isBlank
(
row
.
cumulativeEngineeringQuantity
))
{
queryCumulativeEngineeringQuantity
(
row
);
}
});
// 累计结算工程量
var
sumQuantity
=
$
(
"#main-0-thisEngineeringQuantity"
).
val
();
...
...
src/main/webapp/HG/CW/HGCW008B.jsp
View file @
5ef8e4c4
...
...
@@ -63,9 +63,9 @@
<EF:EFColumn
ename=
"settlementBasis"
cname=
"结算依据"
enable=
"false"
width=
"100"
align=
"center"
/>
<EF:EFColumn
ename=
"taskName"
cname=
"任务名称"
align=
"left"
/>
<EF:EFColumn
ename=
"engineeringContent"
cname=
"工程内容"
align=
"left"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
width=
"120"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"cumulativeEngineeringQuantity"
cname=
"至本次累计结算工程量"
enable=
"false"
width=
"140"
format=
"{0:N3}"
align=
"right"
hidden=
"true"
/>
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"unit"
cname=
"单位"
align=
"center"
/>
<EF:EFColumn
ename=
"unitPrice"
cname=
"含税单价"
format=
"{0:N2}"
align=
"right"
/>
<EF:EFColumn
ename=
"totalPrice"
cname=
"不含税总价"
enable=
"false"
format=
"{0:N2}"
align=
"right"
/>
...
...
src/main/webapp/HG/CW/HGCW008C.jsp
View file @
5ef8e4c4
...
...
@@ -60,9 +60,10 @@
<EF:EFColumn
ename=
"settlementBasis"
cname=
"结算依据"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
ename=
"taskName"
cname=
"任务名称"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
ename=
"engineeringContent"
cname=
"工程内容"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
enable=
"false"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"thisEngineeringQuantity"
cname=
"本次结算工程量"
enable=
"false"
width=
"120"
format=
"{0:N3}"
align=
"right"
/>
<EF:EFColumn
ename=
"cumulativeEngineeringQuantity"
cname=
"至本次累计结算工程量"
enable=
"false"
width=
"140"
align=
"right"
format=
"{0:N3}"
hidden=
"true"
/>
align=
"right"
format=
"{0:N3}"
/>
<EF:EFColumn
ename=
"unit"
cname=
"单位"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
ename=
"unitPrice"
cname=
"含税单价"
enable=
"false"
format=
"{0:N2}"
align=
"right"
/>
<EF:EFColumn
ename=
"totalPrice"
cname=
"不含税总价"
enable=
"false"
format=
"{0:N2}"
align=
"right"
/>
...
...
src/main/webapp/HG/SC/HGSC006.js
View file @
5ef8e4c4
...
...
@@ -4,11 +4,10 @@ $(function () {
resultGrid
.
dataSource
.
page
(
1
);
});
IPLATUI
.
EFGrid
.
result
=
{
pageable
:
{
pageSize
:
20
,
pageSizes
:
[
10
,
20
,
50
,
70
,
100
],
pageSizes
:
[
20
,
80
,
150
,
300
]
},
columns
:
[{
field
:
"operator"
,
...
...
src/main/webapp/HG/SC/HGSC006.jsp
View file @
5ef8e4c4
...
...
@@ -25,8 +25,8 @@
</div>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
isFloa
t=
"true"
>
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
isFloat=
"true"
showCoun
t=
"true"
>
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFColumn
ename=
"operator"
cname=
"操作"
locked=
"true"
enable=
"true"
width=
"200"
align=
"center"
/>
<EF:EFColumn
ename=
"companyName"
cname=
"公司名称"
enable=
"true"
width=
"120"
align=
"center"
readOnly=
"true"
/>
<EF:EFColumn
ename=
"projCode"
cname=
"项目编码"
enable=
"true"
width=
"120"
align=
"center"
readOnly=
"true"
/>
...
...
src/main/webapp/HG/SC/HGSC006A.js
View file @
5ef8e4c4
...
...
@@ -10,7 +10,7 @@ $(function () {
IPLATUI
.
EFGrid
.
result
=
{
pageable
:
{
pageSize
:
20
,
pageSizes
:
[
10
,
20
,
50
,
70
,
1
00
],
pageSizes
:
[
20
,
80
,
150
,
3
00
],
},
columns
:
[{
field
:
"operator"
,
...
...
src/main/webapp/HG/SC/HGSC006A.jsp
View file @
5ef8e4c4
...
...
@@ -33,7 +33,7 @@
</div>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
isFloat=
"true"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
isFloat=
"true"
showCount=
"true"
>
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFColumn
ename=
"operator"
cname=
"操作"
locked=
"true"
enable=
"true"
width=
"160"
align=
"center"
/>
<EF:EFColumn
ename=
"companyName"
cname=
"公司名称"
enable=
"true"
width=
"120"
align=
"center"
readOnly=
"true"
/>
...
...
src/main/webapp/HG/SC/HGSC101.jsp
View file @
5ef8e4c4
...
...
@@ -16,6 +16,7 @@
<EF:EFColumn
ename=
"operator"
cname=
"操作"
locked=
"true"
enable=
"false"
width=
"100"
align=
"center"
/>
<EF:EFColumn
ename=
"companyName"
cname=
"公司名称"
enable=
"false"
width=
"120"
align=
"left"
/>
<EF:EFColumn
ename=
"projCode"
cname=
"项目编码"
enable=
"false"
width=
"120"
align=
"left"
/>
<EF:EFColumn
ename=
"contractNo"
cname=
"合同号"
enable=
"false"
width=
"120"
align=
"left"
/>
<EF:EFColumn
ename=
"projName"
cname=
"项目名称"
enable=
"false"
width=
"220"
align=
"left"
/>
<EF:EFColumn
ename=
"createdBy"
cname=
"创建人"
enable=
"false"
width=
"100"
align=
"center"
/>
<EF:EFColumn
ename=
"createdTime"
cname=
"创建时间"
enable=
"false"
width=
"140"
align=
"center"
...
...
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