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
d4c5a55b
Commit
d4c5a55b
authored
Jul 23, 2024
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2024-07-23
1.付款单录入收款金额,保存提示生成收款单失败bug 2.付款单删除bug 3、付款单明细显示调整 4、付款单核销优化
parent
6c4f78c3
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
198 additions
and
109 deletions
+198
-109
FileUploadController.java
...va/com/baosight/hggp/controller/FileUploadController.java
+3
-2
ServiceHGCW016.java
.../java/com/baosight/hggp/hg/cw/service/ServiceHGCW016.java
+63
-61
ServiceHGCW016A.java
...java/com/baosight/hggp/hg/cw/service/ServiceHGCW016A.java
+9
-3
ServiceHGCW017.java
.../java/com/baosight/hggp/hg/cw/service/ServiceHGCW017.java
+20
-22
HGCW012.xml
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW012.xml
+4
-1
HGCW016.xml
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW016.xml
+1
-1
HGCWTools.java
src/main/java/com/baosight/hggp/hg/cw/tools/HGCWTools.java
+4
-4
UploadUtils.java
src/main/java/com/baosight/hggp/hg/mt/utils/UploadUtils.java
+46
-0
HGCW016.js
src/main/webapp/HG/CW/HGCW016.js
+8
-1
HGCW016.jsp
src/main/webapp/HG/CW/HGCW016.jsp
+6
-3
HGCW016A.jsp
src/main/webapp/HG/CW/HGCW016A.jsp
+24
-8
HGCW016B.js
src/main/webapp/HG/CW/HGCW016B.js
+2
-1
HGCW016B.jsp
src/main/webapp/HG/CW/HGCW016B.jsp
+4
-1
HGCW016C.jsp
src/main/webapp/HG/CW/HGCW016C.jsp
+4
-1
No files found.
src/main/java/com/baosight/hggp/controller/FileUploadController.java
View file @
d4c5a55b
package
com
.
baosight
.
hggp
.
controller
;
import
com.baosight.hggp.core.utils.QrCodeUtils
;
import
com.baosight.hggp.hg.mt.utils.UploadUtils
;
import
com.baosight.hggp.util.LogUtils
;
import
com.baosight.iplat4j.core.ei.EiConstant
;
import
org.springframework.data.repository.query.Param
;
...
...
@@ -36,8 +37,8 @@ public class FileUploadController {
public
Map
upload
(
MultipartFile
file
)
throws
IOException
{
Map
resultMap
=
new
HashMap
();
try
{
// JSONObject upload = UploadUtils2
.upload((CommonsMultipartFile)file);
//
resultMap.put("id", upload.getString("docId"));
JSONObject
upload
=
UploadUtils
.
upload
((
CommonsMultipartFile
)
file
);
resultMap
.
put
(
"id"
,
upload
.
getString
(
"docId"
));
resultMap
.
put
(
"status"
,
EiConstant
.
STATUS_SUCCESS
);
resultMap
.
put
(
"message"
,
"SUCCESS"
);
return
resultMap
;
...
...
src/main/java/com/baosight/hggp/hg/cw/service/ServiceHGCW016.java
View file @
d4c5a55b
...
...
@@ -6,6 +6,7 @@ import com.baosight.hggp.common.DdynamicEnum;
import
com.baosight.hggp.core.dao.DaoUtils
;
import
com.baosight.hggp.core.security.UserSessionUtils
;
import
com.baosight.hggp.hg.constant.HGConstant
;
import
com.baosight.hggp.hg.cw.domain.HGCW012
;
import
com.baosight.hggp.hg.cw.domain.HGCW016
;
import
com.baosight.hggp.hg.cw.domain.HGCW015
;
import
com.baosight.hggp.hg.cw.domain.HGCW017
;
...
...
@@ -84,24 +85,20 @@ public class ServiceHGCW016 extends ServiceBase {
try
{
List
<
Map
>
resultRows
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
).
getRows
();
// 写入数据
for
(
int
i
=
0
;
i
<
resultRows
.
size
();
i
++)
{
HGCW016
HGCW016
=
new
HGCW016
();
HGCW016
.
fromMap
(
resultRows
.
get
(
i
));
UserVO
userVO
=
HGCWTools
.
HgCw002
.
getUserCompany
();
HGCW016
.
setCompanyCode
(
userVO
.
getUsercode
());
HGCW016
.
setCompanyName
(
userVO
.
getUsername
());
HGCW016
.
setCancelStatus
(
1
);
HGCW016
.
setReviewStatus
(
0
);
HGCW016
.
setIncomeNumber
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
CW_COLLECTION_NO
));
HGCW016
.
setSigningDate
(
DateUtils
.
formatShort
(
HGCW016
.
getSigningDate
()));
for
(
Map
resultRow
:
resultRows
)
{
HGCW016
hgcw016
=
new
HGCW016
();
hgcw016
.
fromMap
(
resultRow
);
//UserVO userVO = HGCWTools.HgCw002.getUserCompany();
//hgcw016.setCompanyCode(userVO.getUsercode());
//hgcw016.setCompanyName(userVO.getUsername());
hgcw016
.
setSigningDate
(
DateUtils
.
formatShort
(
hgcw016
.
getSigningDate
()));
if
(
HGCW016
.
getId
()
==
null
||
HGCW
016
.
getId
()
==
0
)
{
this
.
add
(
HGCW
016
);
if
(
hgcw016
.
getId
()
==
null
||
hgcw
016
.
getId
()
==
0
)
{
this
.
add
(
hgcw
016
);
}
else
{
this
.
modify
(
HGCW
016
);
this
.
modify
(
hgcw
016
);
}
}
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据保存成功!"
);
}
catch
(
Exception
e
)
{
...
...
@@ -113,21 +110,24 @@ public class ServiceHGCW016 extends ServiceBase {
/**
* 新增操作
*
* @param
HGCW
016
* @param
hgcw
016
* @return
*/
public
void
add
(
HGCW016
HGCW016
)
{
DaoUtils
.
insert
(
"HGCW016.insert"
,
HGCW016
);
public
void
add
(
HGCW016
hgcw016
)
{
hgcw016
.
setCancelStatus
(
1
);
hgcw016
.
setReviewStatus
(
0
);
hgcw016
.
setIncomeNumber
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
CW_COLLECTION_NO
));
DaoUtils
.
insert
(
HGCW016
.
INSERT
,
hgcw016
);
}
/**
* 修改操作
*
* @param
HGCW
016
* @param
hgcw
016
* @return
*/
public
void
modify
(
HGCW016
HGCW
016
)
{
DaoUtils
.
update
(
"HGCW016.update"
,
HGCW
016
);
public
void
modify
(
HGCW016
hgcw
016
)
{
DaoUtils
.
update
(
HGCW016
.
UPDATE
,
hgcw
016
);
}
/**
...
...
@@ -137,23 +137,23 @@ public class ServiceHGCW016 extends ServiceBase {
* @return
*/
@OperationLogAnnotation
(
operModul
=
"付款单"
,
operType
=
"删除"
,
operDesc
=
"删除"
)
@Override
public
EiInfo
delete
(
EiInfo
inInfo
)
{
try
{
List
<
Map
>
resultRows
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
).
getRows
();
for
(
int
i
=
0
;
i
<
resultRows
.
size
();
i
++
)
{
HGCW016
HGCW
016
=
new
HGCW016
();
HGCW016
.
fromMap
(
resultRows
.
get
(
i
)
);
List
<
HGCW01
5
>
hgcw015List
=
HGCWTools
.
HgCw015
.
getMainId
(
HGCW
016
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
hgcw01
5
List
))
{
for
(
HGCW01
5
hgcw015
:
hgcw015
List
)
{
HGCWTools
.
HgCw01
0
.
cutAmount
(
hgcw015
.
getContractNumber
(),
hgcw01
5
.
getTotalContractPriceIncluding
().
multiply
(
new
BigDecimal
(-
1
)));
DaoUtils
.
update
(
"HGCW015.delete"
,
hgcw015
);
for
(
Map
resultRow
:
resultRows
)
{
HGCW016
hgcw
016
=
new
HGCW016
();
hgcw016
.
fromMap
(
resultRow
);
List
<
HGCW01
7
>
hgcw017List
=
HGCWTools
.
HgCw017
.
getMainId
(
hgcw
016
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
hgcw01
7
List
))
{
for
(
HGCW01
7
hgcw017
:
hgcw017
List
)
{
HGCWTools
.
HgCw01
2
.
cutAmount
(
hgcw017
.
getContractNumber
(),
hgcw01
7
.
getTotalContractPriceIncluding
().
multiply
(
new
BigDecimal
(-
1
)));
DaoUtils
.
update
(
HGCW017
.
DELETE
,
hgcw017
);
}
}
DaoUtils
.
update
(
"HGCW016.delete"
,
HGCW
016
);
DaoUtils
.
update
(
HGCW016
.
DELETE
,
hgcw
016
);
}
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据删除成功!"
);
}
catch
(
Exception
e
)
{
...
...
@@ -177,14 +177,14 @@ public class ServiceHGCW016 extends ServiceBase {
if
(
CollectionUtils
.
isNotEmpty
(
hgcw017List
))
{
if
(
StringUtils
.
isEmpty
(
mainId
))
{
//先生成主表
HGCW016
HGCW
016
=
new
HGCW016
();
HGCW016
hgcw
016
=
new
HGCW016
();
UserVO
userVO
=
HGCWTools
.
HgCw002
.
getUserCompany
();
HGCW
016
.
setCompanyCode
(
userVO
.
getUsercode
());
HGCW
016
.
setCompanyName
(
userVO
.
getUsername
());
HGCW
016
.
setCancelStatus
(
1
);
HGCW
016
.
setReviewStatus
(
0
);
HGCW
016
.
setIncomeNumber
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
CW_COLLECTION_NO
));
HGCW
016
.
setSigningDate
(
DateUtils
.
shortDate
());
hgcw
016
.
setCompanyCode
(
userVO
.
getUsercode
());
hgcw
016
.
setCompanyName
(
userVO
.
getUsername
());
//hgcw
016.setCancelStatus(1);
//hgcw
016.setReviewStatus(0);
//hgcw
016.setIncomeNumber(SequenceGenerator.getNextSequence(HGConstant.SequenceId.CW_COLLECTION_NO));
hgcw
016
.
setSigningDate
(
DateUtils
.
shortDate
());
BigDecimal
totalContractPriceIncluding
=
BigDecimal
.
ZERO
;
StringBuffer
contractNumber
=
new
StringBuffer
();
Map
<
String
,
BigDecimal
>
rowMap
=
new
HashMap
<>();
...
...
@@ -192,40 +192,41 @@ public class ServiceHGCW016 extends ServiceBase {
contractNumber
.
append
(
hgcw017
.
getContractNumber
()).
append
(
","
);
}
for
(
Map
m
:
resultRows
)
{
String
c
=
m
.
get
(
"settlementNumber"
).
toString
();
String
c
=
m
.
get
(
HGCW012
.
FIELD_BILL_NUMBER
).
toString
();
BigDecimal
remainingAmount
=
new
BigDecimal
(
m
.
get
(
"thisAmount"
).
toString
());
rowMap
.
put
(
c
,
remainingAmount
);
totalContractPriceIncluding
=
totalContractPriceIncluding
.
add
(
remainingAmount
);
}
HGCW
016
.
setTotalContractPriceIncluding
(
new
BigDecimal
(
decimalFormat
.
format
(
totalContractPriceIncluding
)));
HGCW
016
.
setPartyA
(
hgcw017List
.
get
(
0
).
getPartyA
());
HGCW
016
.
setContractNumber
(
contractNumber
.
toString
().
substring
(
0
,
contractNumber
.
length
()
-
1
));
this
.
add
(
HGCW
016
);
hgcw
016
.
setTotalContractPriceIncluding
(
new
BigDecimal
(
decimalFormat
.
format
(
totalContractPriceIncluding
)));
hgcw
016
.
setPartyA
(
hgcw017List
.
get
(
0
).
getPartyA
());
hgcw
016
.
setContractNumber
(
contractNumber
.
toString
().
substring
(
0
,
contractNumber
.
length
()
-
1
));
this
.
add
(
hgcw
016
);
//生成明细表
for
(
HGCW017
hgcw017
:
hgcw017List
)
{
hgcw017
.
setMainId
(
HGCW
016
.
getId
());
hgcw017
.
setMainId
(
hgcw
016
.
getId
());
// 反写金额
HGCWTools
.
HgCw012
.
cutAmount
(
hgcw017
.
getContractNumber
(),
rowMap
.
get
(
hgcw017
.
getContractNumber
()));
hgcw017
.
setDepCode
(
null
);
DaoUtils
.
insert
(
HGCW017
.
INSERT
,
hgcw017
);
}
}
else
{
HGCW016
HGCW
016
=
HGCWTools
.
HgCw016
.
getId
(
mainId
);
HGCW016
hgcw
016
=
HGCWTools
.
HgCw016
.
getId
(
mainId
);
Map
<
String
,
BigDecimal
>
rowMap
=
new
HashMap
<>();
for
(
Map
m
:
resultRows
)
{
String
c
=
m
.
get
(
"settlementNumber"
).
toString
();
String
c
=
m
.
get
(
HGCW012
.
FIELD_BILL_NUMBER
).
toString
();
BigDecimal
remainingAmount
=
new
BigDecimal
(
m
.
get
(
"thisAmount"
).
toString
());
rowMap
.
put
(
c
,
remainingAmount
);
}
// 生成明细表
for
(
HGCW017
hgcw017
:
hgcw017List
)
{
hgcw017
.
setMainId
(
HGCW
016
.
getId
());
hgcw017
.
setMainId
(
hgcw
016
.
getId
());
// 反写金额
HGCWTools
.
HgCw012
.
cutAmount
(
hgcw017
.
getContractNumber
(),
rowMap
.
get
(
hgcw017
.
getContractNumber
()));
this
.
addHGCW017
(
hgcw017
);
}
List
<
HGCW017
>
hgcw017s
=
HGCWTools
.
HgCw017
.
getMainId
(
HGCW
016
.
getId
());
List
<
HGCW017
>
hgcw017s
=
HGCWTools
.
HgCw017
.
getMainId
(
hgcw
016
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
hgcw017s
))
{
// 更新主表
BigDecimal
totalContractPriceIncluding
=
BigDecimal
.
ZERO
;
...
...
@@ -234,10 +235,10 @@ public class ServiceHGCW016 extends ServiceBase {
totalContractPriceIncluding
=
totalContractPriceIncluding
.
add
(
hgcw017
.
getTotalContractPriceIncluding
());
contractNumber
.
append
(
hgcw017
.
getContractNumber
()).
append
(
","
);
}
HGCW
016
.
setTotalContractPriceIncluding
(
totalContractPriceIncluding
);
HGCW
016
.
setPartyA
(
hgcw017s
.
get
(
0
).
getPartyA
());
HGCW
016
.
setContractNumber
(
contractNumber
.
toString
().
substring
(
0
,
contractNumber
.
length
()
-
1
));
this
.
modify
(
HGCW
016
);
hgcw
016
.
setTotalContractPriceIncluding
(
totalContractPriceIncluding
);
hgcw
016
.
setPartyA
(
hgcw017s
.
get
(
0
).
getPartyA
());
hgcw
016
.
setContractNumber
(
contractNumber
.
toString
().
substring
(
0
,
contractNumber
.
length
()
-
1
));
this
.
modify
(
hgcw
016
);
}
}
}
...
...
@@ -247,8 +248,8 @@ public class ServiceHGCW016 extends ServiceBase {
return
inInfo
;
}
public
void
addHGCW017
(
HGCW017
HGCW
017
)
{
DaoUtils
.
insert
(
"HGCW017.insert"
,
HGCW
017
);
public
void
addHGCW017
(
HGCW017
hgcw
017
)
{
DaoUtils
.
insert
(
HGCW017
.
INSERT
,
hgcw
017
);
}
...
...
@@ -266,7 +267,6 @@ public class ServiceHGCW016 extends ServiceBase {
HGCW016
.
setReviewStatus
(
1
);
DaoUtils
.
update
(
"HGCW016.submit"
,
HGCW016
);
}
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据审核成功!"
);
}
catch
(
Exception
e
)
{
...
...
@@ -279,14 +279,16 @@ public class ServiceHGCW016 extends ServiceBase {
try
{
List
<
Map
>
resultRows
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
).
getRows
();
for
(
int
i
=
0
;
i
<
resultRows
.
size
();
i
++)
{
HGCW016
HGCW016
=
new
HGCW016
();
HGCW016
.
fromMap
(
resultRows
.
get
(
i
));
HGCW016
.
setCancelStatus
(
2
);
DaoUtils
.
update
(
"HGCW016.writeoff"
,
HGCW016
);
HGCW016
hgcw016
=
new
HGCW016
();
hgcw016
.
fromMap
(
resultRows
.
get
(
i
));
hgcw016
.
setCancelStatus
(
2
);
if
(
hgcw016
.
getReviewStatus
()
==
0
){
throw
new
Exception
(
"请先审核!"
);
}
DaoUtils
.
update
(
"HGCW016.writeoff"
,
hgcw016
);
}
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据
提交
成功!"
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据
核销
成功!"
);
}
catch
(
Exception
e
)
{
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"查询失败"
);
}
...
...
src/main/java/com/baosight/hggp/hg/cw/service/ServiceHGCW016A.java
View file @
d4c5a55b
package
com
.
baosight
.
hggp
.
hg
.
cw
.
service
;
import
com.baosight.hggp.aspect.annotation.OperationLogAnnotation
;
import
com.baosight.hggp.common.ReviewStatusEnum
;
import
com.baosight.hggp.core.security.UserSessionUtils
;
import
com.baosight.hggp.hg.cw.domain.HGCW012
;
import
com.baosight.hggp.hg.cw.domain.HGCW012
;
import
com.baosight.hggp.hg.cw.domain.HGCW016
;
import
com.baosight.hggp.hg.xs.domain.Company
;
import
com.baosight.hggp.util.EiInfoUtils
;
import
com.baosight.hggp.util.LogUtils
;
import
com.baosight.hggp.util.contants.ACConstants
;
import
com.baosight.iplat4j.core.ei.EiConstant
;
import
com.baosight.iplat4j.core.ei.EiInfo
;
import
com.baosight.iplat4j.core.exception.PlatException
;
...
...
@@ -25,13 +28,14 @@ public class ServiceHGCW016A extends ServiceBase {
* @return
*/
@OperationLogAnnotation
(
operModul
=
"账期维护"
,
operType
=
"查询"
,
operDesc
=
"初始化"
)
@OperationLogAnnotation
(
operModul
=
"付款单"
,
operType
=
"查询"
,
operDesc
=
"初始化"
)
@Override
public
EiInfo
initLoad
(
EiInfo
inInfo
)
{
try
{
EiInfoUtils
.
addBlock
(
inInfo
,
"roleCompany"
,
UserSessionUtils
.
getRoleCompany
(),
Company
.
class
);
inInfo
.
addBlock
(
EiConstant
.
resultBlock
).
addBlockMeta
(
new
HGCW012
().
eiMetadata
);
}
catch
(
Exception
e
)
{
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"初始化失败"
);
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"初始化
付款单
失败"
);
}
return
inInfo
;
}
...
...
@@ -42,10 +46,12 @@ public class ServiceHGCW016A extends ServiceBase {
* @param inInfo
* @return
*/
@OperationLogAnnotation
(
operModul
=
"
账期维护
"
,
operType
=
"查询"
,
operDesc
=
"查询"
)
@OperationLogAnnotation
(
operModul
=
"
付款单
"
,
operType
=
"查询"
,
operDesc
=
"查询"
)
@Override
public
EiInfo
query
(
EiInfo
inInfo
)
{
try
{
inInfo
.
setCell
(
EiConstant
.
queryBlock
,
ACConstants
.
ROW_CODE_0
,
HGCW016
.
FIELD_REVIEW_STATUS
,
ReviewStatusEnum
.
REVIEWED
.
getCode
());
inInfo
.
setCell
(
EiConstant
.
queryBlock
,
ACConstants
.
ROW_CODE_0
,
"notRemainingAmount"
,
0
);
inInfo
=
super
.
query
(
inInfo
,
HGCW012
.
QUERY
,
new
HGCW012
());
}
catch
(
Exception
e
)
{
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"查询失败"
);
...
...
src/main/java/com/baosight/hggp/hg/cw/service/ServiceHGCW017.java
View file @
d4c5a55b
...
...
@@ -72,29 +72,28 @@ public class ServiceHGCW017 extends ServiceBase {
List
<
Map
>
resultRows
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
).
getRows
();
// 写入数据
Long
mainId
=
null
;
for
(
int
i
=
0
;
i
<
resultRows
.
size
();
i
++
)
{
HGCW017
HGCW
017
=
new
HGCW017
();
HGCW017
.
fromMap
(
resultRows
.
get
(
i
)
);
for
(
Map
resultRow
:
resultRows
)
{
HGCW017
hgcw
017
=
new
HGCW017
();
hgcw017
.
fromMap
(
resultRow
);
UserVO
userVO
=
HGCWTools
.
HgCw002
.
getUserCompany
();
HGCW
017
.
setCompanyCode
(
userVO
.
getUsercode
());
HGCW
017
.
setCompanyName
(
userVO
.
getUsername
());
mainId
=
HGCW
017
.
getMainId
();
if
(
HGCW017
.
getId
()
==
null
||
HGCW
017
.
getId
()
==
0
)
{
this
.
add
(
HGCW
017
);
hgcw
017
.
setCompanyCode
(
userVO
.
getUsercode
());
hgcw
017
.
setCompanyName
(
userVO
.
getUsername
());
mainId
=
hgcw
017
.
getMainId
();
if
(
hgcw017
.
getId
()
==
null
||
hgcw
017
.
getId
()
==
0
)
{
this
.
add
(
hgcw
017
);
}
else
{
// 回写数据
HGCW017
oldH
GCW017
=
HGCWTools
.
HgCw017
.
getId
(
HGCW
017
.
getId
());
HGCW017
oldH
gcw017
=
HGCWTools
.
HgCw017
.
getId
(
hgcw
017
.
getId
());
//先加再扣
HGCWTools
.
HgCw012
.
cutAmount
(
oldH
GCW
017
.
getContractNumber
(),
oldH
GCW
017
.
getTotalContractPriceIncluding
().
multiply
(
new
BigDecimal
(-
1
)));
this
.
modify
(
HGCW
017
);
HGCWTools
.
HgCw012
.
cutAmount
(
HGCW
017
.
getContractNumber
(),
HGCW
017
.
getTotalContractPriceIncluding
());
HGCWTools
.
HgCw012
.
cutAmount
(
oldH
gcw
017
.
getContractNumber
(),
oldH
gcw
017
.
getTotalContractPriceIncluding
().
multiply
(
new
BigDecimal
(-
1
)));
this
.
modify
(
hgcw
017
);
HGCWTools
.
HgCw012
.
cutAmount
(
hgcw
017
.
getContractNumber
(),
hgcw
017
.
getTotalContractPriceIncluding
());
}
}
// 更新主表
HGCWTools
.
HgCw016
.
updateAmount
(
mainId
);
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据保存成功!"
);
}
catch
(
Exception
e
)
{
...
...
@@ -106,21 +105,21 @@ public class ServiceHGCW017 extends ServiceBase {
/**
* 新增操作
*
* @param
HGCW
017
* @param
hgcw
017
* @return
*/
public
void
add
(
HGCW017
HGCW
017
)
{
DaoUtils
.
insert
(
"HGCW017.insert"
,
HGCW
017
);
public
void
add
(
HGCW017
hgcw
017
)
{
DaoUtils
.
insert
(
HGCW017
.
INSERT
,
hgcw
017
);
}
/**
* 修改操作
*
* @param
HGCW
017
* @param
hgcw
017
* @return
*/
public
void
modify
(
HGCW017
HGCW
017
)
{
DaoUtils
.
update
(
"HGCW017.update"
,
HGCW
017
);
public
void
modify
(
HGCW017
hgcw
017
)
{
DaoUtils
.
update
(
HGCW017
.
UPDATE
,
hgcw
017
);
}
/**
...
...
@@ -145,7 +144,6 @@ public class ServiceHGCW017 extends ServiceBase {
}
// 更新主表
HGCWTools
.
HgCw016
.
updateAmount
(
mainId
);
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据删除成功!"
);
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW012.xml
View file @
d4c5a55b
...
...
@@ -165,6 +165,9 @@
<isNotEmpty
prepend=
" AND "
property=
"receiveWeight"
>
RECEIVE_WEIGHT = #receiveWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"notRemainingAmount"
>
REMAINING_AMOUNT != #notRemainingAmount#
</isNotEmpty>
</sql>
<select
id=
"query"
parameterClass=
"java.util.HashMap"
...
...
@@ -178,7 +181,7 @@
$orderBy$
</isNotEmpty>
<isEmpty
property=
"orderBy"
>
ID desc
RECEIVE_DATE desc ,SIGNING_DATE desc,
ID desc
</isEmpty>
</dynamic>
...
...
src/main/java/com/baosight/hggp/hg/cw/sql/HGCW016.xml
View file @
d4c5a55b
...
...
@@ -117,7 +117,7 @@
$orderBy$
</isNotEmpty>
<isEmpty
property=
"orderBy"
>
ID a
sc
SIGNING_DATE desc ,ID de
sc
</isEmpty>
</dynamic>
...
...
src/main/java/com/baosight/hggp/hg/cw/tools/HGCWTools.java
View file @
d4c5a55b
...
...
@@ -725,13 +725,13 @@ public class HGCWTools {
DaoUtils
.
update
(
"HGCW012.update"
,
HGCW012
);
}
}
public
static
void
cutAmount
(
String
settlement
Number
,
BigDecimal
cutAmount
)
{
AssertUtils
.
isNull
(
settlementNumber
,
"来源单
号不能为空!"
);
public
static
void
cutAmount
(
String
bill
Number
,
BigDecimal
cutAmount
)
{
AssertUtils
.
isNull
(
billNumber
,
"发票
号不能为空!"
);
// if (cutAmount.compareTo(new BigDecimal(BigInteger.ZERO)) <= 0) {
// throw new PlatException("扣款金额不能小于等于0!");
// }
List
<
HGCW012
>
results
=
DaoBase
.
getInstance
().
query
(
HGCW012
.
QUERY
,
new
HashMap
<
String
,
Object
>(){
{
put
(
"settlementNumber"
,
settlement
Number
);}
{
put
(
HGCW012
.
FIELD_BILL_NUMBER
,
bill
Number
);}
});
if
(
CollectionUtils
.
isEmpty
(
results
))
{
throw
new
PlatException
(
"找不到对应的采购收票记录!"
);
...
...
@@ -1007,7 +1007,7 @@ public class HGCWTools {
rows
.
forEach
(
row
->
{
HGCW017
hgcw017
=
new
HGCW017
();
hgcw017
.
fromMap
(
row
);
String
contractNumber
=
row
.
get
(
"settlementNumber"
).
toString
();
String
contractNumber
=
row
.
get
(
HGCW012
.
FIELD_BILL_NUMBER
).
toString
();
String
remainingAmount
=
row
.
get
(
"thisAmount"
).
toString
();
hgcw017
.
setContractNumber
(
contractNumber
);
hgcw017
.
setTotalContractPriceIncluding
(
new
BigDecimal
(
remainingAmount
));
...
...
src/main/java/com/baosight/hggp/hg/mt/utils/UploadUtils.java
0 → 100644
View file @
d4c5a55b
package
com
.
baosight
.
hggp
.
hg
.
mt
.
utils
;
import
com.baosight.iplat4j.core.data.ibatis.dao.Dao
;
import
com.baosight.iplat4j.core.ioc.spring.PlatApplicationContext
;
import
com.baosight.iplat4j.core.util.StringUtils
;
import
com.baosight.iplat4j.eu.dm.PlatFileUploadUtils
;
import
net.sf.json.JSONObject
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author LiuYang
* @version 1.0 2024/7/23
*/
public
class
UploadUtils
{
private
static
Dao
dao
=
(
Dao
)
PlatApplicationContext
.
getApplicationContext
().
getBean
(
"dao"
);
public
static
JSONObject
upload
(
CommonsMultipartFile
multipartFile
)
throws
Exception
{
JSONObject
documentJSON
=
new
JSONObject
();
String
docName
=
multipartFile
.
getOriginalFilename
();
Long
docSize
=
multipartFile
.
getSize
();
HashMap
<
String
,
String
>
inMap
=
new
HashMap
();
inMap
.
put
(
"groupId"
,
"hk_file11"
);
inMap
.
put
(
"configPathDefine"
,
"A"
);
Map
<
String
,
String
>
returnMap
=
PlatFileUploadUtils
.
uploadFile
(
multipartFile
,
inMap
);
String
docId
=
(
String
)
returnMap
.
get
(
"docId"
);
String
docUrl
=
(
String
)
returnMap
.
get
(
"docUrl"
);
docId
=
docId
==
null
?
""
:
docId
;
documentJSON
.
put
(
"docId"
,
docId
);
if
(
StringUtils
.
isNotEmpty
(
docUrl
))
{
documentJSON
.
put
(
"docUrl"
,
docUrl
);
}
else
{
documentJSON
.
remove
(
"docUrl"
);
}
documentJSON
.
put
(
"groupId"
,
returnMap
.
get
(
"groupId"
)
==
null
?
""
:
returnMap
.
get
(
"groupId"
));
documentJSON
.
put
(
"docName"
,
docName
);
documentJSON
.
put
(
"docSize"
,
docSize
);
documentJSON
.
put
(
"docType"
,
docName
.
substring
(
docName
.
lastIndexOf
(
46
)));
return
documentJSON
;
}
}
src/main/webapp/HG/CW/HGCW016.js
View file @
d4c5a55b
...
...
@@ -12,13 +12,20 @@ $(function() {
pageSize
:
20
,
pageSizes
:
[
10
,
20
,
30
,
50
,
100
,
200
],
},
columns
:
[{
columns
:
[
{
field
:
"operator"
,
template
:
function
(
item
)
{
let
template
=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="contractDetailFunc('
+
item
.
id
+
')">付款清单</a>'
;
return
template
;
}
},
{
field
:
"signingDate"
,
defaultValue
:
function
()
{
return
currShortDate
();
}
}
],
loadComplete
:
function
(
grid
)
{
...
...
src/main/webapp/HG/CW/HGCW016.jsp
View file @
d4c5a55b
...
...
@@ -46,13 +46,16 @@
editType=
"date"
dateFormat=
"yyyy-MM-dd"
parseFormats=
"['yyyyMMdd']"
/>
<EF:EFColumn
ename=
"contractNumber"
cname=
"来源单号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"incomeNumber"
cname=
"付款单号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
format=
"{0:N3}"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
readonly=
"true"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
<EF:EFComboColumn
ename=
"cancelStatus"
cname=
"核销状态"
width=
"100"
align=
"center"
readonly=
"true"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
enable=
"false"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
enable=
"false"
defaultValue=
"1"
>
<EF:EFCodeOption
codeName=
"hggp.cw.cancelStatus"
/>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"reviewStatus"
cname=
"审批状态"
width=
"100"
align=
"center"
readonly=
"true"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
enable=
"false"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
enable=
"false"
defaultValue=
"0"
>
<EF:EFCodeOption
codeName=
"hggp.cw.reviewStatus"
/>
</EF:EFComboColumn>
</EF:EFGrid>
...
...
src/main/webapp/HG/CW/HGCW016A.jsp
View file @
d4c5a55b
...
...
@@ -40,21 +40,37 @@
align=
"center"
filter=
"contains"
sort=
"true"
>
<EF:EFOptions
blockId=
"roleCompany"
textField=
"companyName"
valueField=
"companyCode"
/>
</EF:EFComboColumn>
<EF:EFColumn
ename=
"thisAmount"
cname=
"本次付款金额"
width=
"120"
align=
"center"
/>
<EF:EFColumn
ename=
"remainingAmount"
cname=
"剩余付款金额"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"thisAmount"
cname=
"本次付款金额"
width=
"120"
enable=
"true"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"true"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
<EF:EFColumn
ename=
"remainingAmount"
cname=
"剩余付款金额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"true"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
<EF:EFColumn
ename=
"partyA"
cname=
"供应商名称"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"settlementNumber"
cname=
"来源单号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFComboColumn
ename=
"billTybe"
cname=
"票据类型"
width=
"1
0
0"
align=
"center"
<EF:EFComboColumn
ename=
"billTybe"
cname=
"票据类型"
width=
"1
2
0"
align=
"center"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
enable=
"false"
>
<EF:EFCodeOption
codeName=
"hggp.cw.billTybe"
/>
</EF:EFComboColumn>
<EF:EFColumn
ename=
"signingDate"
cname=
"付款日期"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<
%
--
<
EF:EFColumn
ename=
"signingDate"
cname=
"付款日期"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
--%>
<EF:EFColumn
ename=
"signingDate"
cname=
"付款日期"
width=
"120"
enable=
"true"
align=
"center"
editType=
"date"
dateFormat=
"yyyy-MM-dd"
parseFormats=
"['yyyyMMdd']"
required=
"false"
/>
<EF:EFColumn
ename=
"billNumber"
cname=
"发票号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"taxPoints"
cname=
"税率(%)"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"thisSettlementAmount"
cname=
"不含税金额"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"thisSettlementTax"
cname=
"税额"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"发票总额"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"thisSettlementAmount"
cname=
"不含税金额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
readonly=
"true"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
<EF:EFColumn
ename=
"thisSettlementTax"
cname=
"税额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
readonly=
"true"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"发票总额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
readonly=
"true"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
</EF:EFGrid>
</EF:EFRegion>
<div
class=
"row"
style=
"display:flex;justify-content:center;"
>
...
...
src/main/webapp/HG/CW/HGCW016B.js
View file @
d4c5a55b
...
...
@@ -62,7 +62,7 @@ function saveFunc() {
onSuccess
:
function
(
ei
)
{
if
(
ei
.
getStatus
()
>=
0
)
{
try
{
query
();
}
catch
(
e
)
{
// TODO: handle exception
}
...
...
@@ -71,6 +71,7 @@ function saveFunc() {
}
else
{
NotificationUtil
(
ei
);
}
query
();
}
else
{
NotificationUtil
(
ei
,
"error"
);
}
...
...
src/main/webapp/HG/CW/HGCW016B.jsp
View file @
d4c5a55b
...
...
@@ -13,7 +13,10 @@
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFColumn
ename=
"partyA"
cname=
"客户名称"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"contractNumber"
cname=
"来源单号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
format=
"{0:N3}"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
enable=
"true"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
...
...
src/main/webapp/HG/CW/HGCW016C.jsp
View file @
d4c5a55b
...
...
@@ -13,7 +13,10 @@
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFColumn
ename=
"partyA"
cname=
"客户名称"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"contractNumber"
cname=
"来源单号"
width=
"120"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
format=
"{0:N3}"
align=
"center"
enable=
"false"
readonly=
"true"
/>
<EF:EFColumn
ename=
"totalContractPriceIncluding"
cname=
"付款总额"
width=
"120"
enable=
"false"
format=
"{0:N3}"
editType=
"text"
displayType=
"0.000"
sort=
"true"
align=
"right"
readonly=
"true"
data-regex=
"/^-?[0-9]{1,15}([.][0-9]{1,3})?$/"
maxLength=
"15"
required=
"false"
data-errorprompt=
"请输入数字,该值最大可设置15位整数和3位小数!"
/>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
...
...
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