Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-fb
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
王衍超
cloud-fb
Commits
31e53961
Commit
31e53961
authored
Apr 19, 2022
by
yanHeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[初始化] 异常数据初始化
parent
bafed41d
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
549 additions
and
23 deletions
+549
-23
RetailInfoServiceImpl.java
...yst/dinas/biz/internal/service/RetailInfoServiceImpl.java
+13
-0
RetailInfoService.java
...in/java/com/xyst/dinas/biz/service/RetailInfoService.java
+2
-0
SalesRecordConstant.java
...va/com/xyst/dinas/sales/constant/SalesRecordConstant.java
+28
-0
SalesRecordDao.java
...rc/main/java/com/xyst/dinas/sales/dao/SalesRecordDao.java
+9
-3
SalesRecordDaoImpl.java
...com/xyst/dinas/sales/internal/dao/SalesRecordDaoImpl.java
+48
-9
SalesRecordServiceImpl.java
.../dinas/sales/internal/service/SalesRecordServiceImpl.java
+214
-0
SalesRecordService.java
...java/com/xyst/dinas/sales/service/SalesRecordService.java
+31
-2
SalesRecordController.java
.../java/com/xyst/dinas/sales/web/SalesRecordController.java
+75
-8
SalesRecordInfo.java
...n/java/com/xyst/dinas/sales/web/info/SalesRecordInfo.java
+55
-1
SalesRecord.mk
.../main/model/com/xyst/dinas/sales/datamodel/SalesRecord.mk
+18
-0
SalesRecord.mk
.../src/main/model/com/xyst/dinas/sales/query/SalesRecord.mk
+31
-0
SalesRecord.hbm.xml
...dinas.sales/src/main/resources/config/SalesRecord.hbm.xml
+25
-0
No files found.
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/internal/service/RetailInfoServiceImpl.java
View file @
31e53961
...
...
@@ -213,5 +213,18 @@ public class RetailInfoServiceImpl implements RetailInfoService {
return
orGet
;
}
@Override
public
KObject
createRetailInfo
(
KObject
station
,
KObject
dinasType
,
String
carNum
,
String
retailName
,
Double
dealAmount
,
Double
amount
)
{
KObject
orGet
=
retailInfoDao
.
createOrGet
(
retailName
,
carNum
,
station
);
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
RetailInfoConstant
.
DETAIL_ENTITY
,
KClass
.
class
);
KObject
object
=
bean
.
newInstance
();
object
.
set
(
"purchaseAmount"
,
dealAmount
);
object
.
set
(
"master"
,
retailInfoDao
.
load
(
orGet
.
getUuid
(
"id"
)));
object
.
set
(
"dinasType"
,
dinasType
);
object
.
set
(
BaseConstants
.
ID
,
UUID
.
randomUUID
());
retailInfoDao
.
saveOrUpdate
(
object
);
return
orGet
;
}
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/service/RetailInfoService.java
View file @
31e53961
...
...
@@ -30,4 +30,6 @@ public interface RetailInfoService {
BigDecimal
selectBuyAmountByIdCard
(
String
idCard
,
UUID
fromString
);
KObject
create
(
KObject
station
,
KObject
dinasType
,
String
retailIdNum
,
String
retailName
,
String
carInfo
,
Double
dealAmount
,
Double
amount
);
KObject
createRetailInfo
(
KObject
station
,
KObject
dinasType
,
String
carNum
,
String
retailName
,
Double
dealAmount
,
Double
amount
);
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/constant/SalesRecordConstant.java
View file @
31e53961
...
...
@@ -152,4 +152,32 @@ public interface SalesRecordConstant {
*/
String
PIC
=
"pic"
;
//数据来源
String
DATA_SOURCE
=
"dataSource"
;
//原因
String
REASON
=
"reason"
;
//删除原因
String
DEL_REASON
=
"delReason"
;
//方法类型
String
METHOD_TYPE
=
"methodType"
;
//数据来源字段值
String
DATA_SOURCE_REN_GONG
=
"人工补录"
;
String
DATA_SOURCE_DI_BANG
=
"地磅"
;
//方法类型 新增
Integer
ADD_METHOD
=
0
;
//---- 删除
Integer
DEL_METHOD
=
1
;
//待审核状态
Integer
TO_AUDIT
=
0
;
//审核通过状态
Integer
APPROVED
=
2
;
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/SalesRecordDao.java
View file @
31e53961
package
com
.
xyst
.
dinas
.
sales
.
dao
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.sales.web.info.SalesRecordInfo
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.sales.web.info.SalesRecordInfo
;
public
interface
SalesRecordDao
{
KObject
load
(
UUID
id
);
...
...
@@ -21,4 +21,10 @@ public interface SalesRecordDao {
void
insertList
(
List
<
KObject
>
salesRecordInfos
);
void
updateActualTransportationById
(
SalesRecordInfo
salesRecordInfo
);
void
deleteById
(
UUID
id
,
String
delReason
);
void
approval
(
KObject
kobject
);
void
update
(
KObject
salesRecord
);
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/dao/SalesRecordDaoImpl.java
View file @
31e53961
package
com
.
xyst
.
dinas
.
sales
.
internal
.
dao
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
javax.persistence.Tuple
;
import
com.beecode.amino.common.Convert
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bcp.core.context.AminoContextHolder
;
import
com.beecode.bcp.serial.Serial
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.common.BaseConstants
;
import
com.beecode.util.DateUtil
;
import
com.xyst.dinas.sales.constant.SalesRecordConstant
;
import
com.xyst.dinas.sales.dao.SalesRecordDao
;
import
com.xyst.dinas.sales.web.info.SalesRecordInfo
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -22,10 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.orm.hibernate5.HibernateCallback
;
import
org.springframework.orm.hibernate5.HibernateOperations
;
import
com.beecode.amino.common.Convert
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.sales.constant.SalesRecordConstant
;
import
com.xyst.dinas.sales.dao.SalesRecordDao
;
import
javax.persistence.Tuple
;
import
java.math.BigDecimal
;
import
java.util.*
;
public
class
SalesRecordDaoImpl
implements
SalesRecordDao
,
SalesRecordConstant
{
@Autowired
...
...
@@ -129,4 +128,43 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
}
}
@Override
public
void
deleteById
(
UUID
id
,
String
delReason
)
{
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
KObject
kobject
=
(
KObject
)
template
.
load
(
ENTITY
,
id
);
kobject
.
set
(
BaseConstants
.
MODIFY_TIME
,
new
Date
());
kobject
.
set
(
BaseConstants
.
MODIFIER
,
staff
);
kobject
.
set
(
SalesRecordConstant
.
DEL_REASON
,
delReason
);
kobject
.
set
(
SalesRecordConstant
.
METHOD_TYPE
,
SalesRecordConstant
.
DEL_METHOD
);
template
.
update
(
kobject
);
}
@Override
public
void
approval
(
KObject
approObject
)
{
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
KObject
kobject
=
(
KObject
)
template
.
load
(
ENTITY
,
approObject
.
getUuid
(
BaseConstants
.
ID
));
kobject
.
set
(
BaseConstants
.
MODIFY_TIME
,
new
Date
());
kobject
.
set
(
BaseConstants
.
MODIFIER
,
staff
);
kobject
.
set
(
SalesRecordConstant
.
APPROVE_STATE
,
Integer
.
valueOf
(
kobject
.
getString
(
SalesRecordConstant
.
APPROVE_STATE
)));
//当前数据方法类型
Integer
methodType
=
Integer
.
valueOf
(
approObject
.
getString
(
SalesRecordConstant
.
METHOD_TYPE
));
if
(
SalesRecordConstant
.
DEL_METHOD
.
equals
(
methodType
)){
//逻辑删除
kobject
.
set
(
BaseConstants
.
DEL
,
true
);
kobject
.
set
(
BaseConstants
.
DISCARD
,
true
);
}
template
.
update
(
kobject
);
}
@Override
public
void
update
(
KObject
kobject
)
{
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
kobject
.
set
(
BaseConstants
.
MODIFY_TIME
,
new
Date
());
kobject
.
set
(
BaseConstants
.
MODIFIER
,
staff
);
kobject
.
set
(
BaseConstants
.
DEL
,
false
);
template
.
update
(
kobject
);
}
}
\ No newline at end of file
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/service/SalesRecordServiceImpl.java
View file @
31e53961
package
com
.
xyst
.
dinas
.
sales
.
internal
.
service
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.basis.util.JsonUtil
;
import
com.beecode.inz.common.BaseConstants
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.xyst.dinas.biz.dao.DinasOrganizationDao
;
import
com.xyst.dinas.biz.dao.DinasTypeDao
;
import
com.xyst.dinas.biz.dao.ProductionLineDao
;
...
...
@@ -104,6 +109,8 @@ public class SalesRecordServiceImpl implements SalesRecordService {
salesRecord
.
set
(
SalesRecordConstant
.
DEALTIME
,
salesRecordInfo
.
getGrossWeightTime
());
salesRecord
.
set
(
SalesRecordConstant
.
DEALBILLCODE
,
salesRecordInfo
.
getDealBillCode
());
salesRecord
.
set
(
SalesRecordConstant
.
CARINFO
,
salesRecordInfo
.
getCarNum
());
//modify by 新增数据来源类型 from yanH for 2022-04-18
salesRecord
.
set
(
SalesRecordConstant
.
DATA_SOURCE
,
SalesRecordConstant
.
DATA_SOURCE_DI_BANG
);
salesRecord
.
set
(
SalesRecordConstant
.
PRICE
,
salesRecordInfo
.
getPrice
());
Integer
paymentSource
=
salesRecordInfo
.
getPaymentSource
();
...
...
@@ -346,6 +353,211 @@ public class SalesRecordServiceImpl implements SalesRecordService {
return
error1
;
}
/**
* @Author yanHeng
* @Date 2022/4/18 10:07
* @Param [salesRecord, station]
* @return java.util.HashMap<java.lang.String,java.lang.Object>
**/
@Override
@Transactional
public
HashMap
<
String
,
Object
>
saveSalesRecordInfo
(
SalesRecordInfo
salesRecordVO
,
KObject
station
)
{
logger
.
info
(
"补录异常数据,传输参数为:"
+
JsonUtil
.
beanToJson
(
salesRecordVO
));
HashMap
<
String
,
Object
>
returnMap
=
new
HashMap
<>(
12
);
try
{
BigDecimal
advanceBalance1
=
new
BigDecimal
(
0
);
Date
thentime
=
new
Date
();
// 获取砂石类型
KObject
dinasType
;
dinasType
=
dinasTypeDao
.
load
(
UUID
.
fromString
(
salesRecordVO
.
getDinasTypeId
()));
KObject
regionalCompany
;
//获取区域公司
regionalCompany
=
station
.
get
(
"regionalCompany"
);
salesRecordVO
.
setDealAmount
(
salesRecordVO
.
getGrossWeight
().
subtract
(
salesRecordVO
.
getTareWeight
()).
doubleValue
());
KObject
salesRecord
=
salesRecordClass
.
newInstance
();
if
(
null
==
salesRecordVO
.
getId
()){
salesRecord
.
set
(
SalesRecordConstant
.
ID
,
UUID
.
randomUUID
());
}
salesRecord
.
set
(
SalesRecordConstant
.
CREATETIME
,
thentime
);
salesRecord
.
set
(
SalesRecordConstant
.
STATION
,
station
);
salesRecord
.
set
(
SalesRecordConstant
.
GROSS_WEIGHT
,
salesRecordVO
.
getGrossWeight
());
salesRecord
.
set
(
SalesRecordConstant
.
TARE_WEIGHT
,
salesRecordVO
.
getTareWeight
());
salesRecord
.
set
(
SalesRecordConstant
.
DEALAMOUNT
,
salesRecordVO
.
getGrossWeight
().
subtract
(
salesRecordVO
.
getTareWeight
()));
salesRecord
.
set
(
SalesRecordConstant
.
GROSS_WEIGHT_TIME
,
salesRecordVO
.
getGrossWeightTime
());
salesRecord
.
set
(
SalesRecordConstant
.
TARE_WEIGHT_TIME
,
salesRecordVO
.
getTareWeightTime
());
salesRecord
.
set
(
SalesRecordConstant
.
SYNCTIME
,
thentime
);
salesRecord
.
set
(
SalesRecordConstant
.
DEALTIME
,
salesRecordVO
.
getGrossWeightTime
());
// 销售时间为毛重时间
salesRecord
.
set
(
SalesRecordConstant
.
DEALBILLCODE
,
salesRecordVO
.
getDealBillCode
());
//销售单号
salesRecord
.
set
(
SalesRecordConstant
.
CARINFO
,
salesRecordVO
.
getCarNum
());
salesRecord
.
set
(
SalesRecordConstant
.
DATA_SOURCE
,
SalesRecordConstant
.
DATA_SOURCE_REN_GONG
);
salesRecord
.
set
(
SalesRecordConstant
.
REASON
,
salesRecordVO
.
getReason
());
salesRecord
.
set
(
SalesRecordConstant
.
PRICE
,
salesRecordVO
.
getPrice
());
salesRecord
.
set
(
SalesRecordConstant
.
METHOD_TYPE
,
SalesRecordConstant
.
ADD_METHOD
);
Integer
paymentSource
=
salesRecordVO
.
getPaymentSource
();
if
(
paymentSource
==
0
){
salesRecord
.
set
(
SalesRecordConstant
.
PAYMENTSOURCE
,
PayMentSourceEnum
.
Advance
);
}
else
{
salesRecord
.
set
(
SalesRecordConstant
.
PAYMENTSOURCE
,
PayMentSourceEnum
.
Cash
);
}
salesRecord
.
set
(
SalesRecordConstant
.
REGIONALCOMPANY
,
regionalCompany
);
salesRecord
.
set
(
SalesRecordConstant
.
DINASTYPE
,
dinasType
);
salesRecord
.
set
(
SalesRecordConstant
.
AMOUNT
,
salesRecordVO
.
getAmount
());
salesRecord
.
set
(
SalesRecordConstant
.
DEALAMOUNT
,
salesRecordVO
.
getDealAmount
());
//如果是散客
if
(
null
!=
salesRecordVO
.
getRetailName
())
{
salesRecord
.
set
(
SalesRecordConstant
.
CUSTOMERTYPE
,
CustomerTypeEnum
.
RetailInfo
.
name
());
KObject
retailInfo
=
retailInfoService
.
createRetailInfo
(
station
,
dinasType
,
salesRecordVO
.
getCarNum
(),
salesRecordVO
.
getRetailName
(),
salesRecordVO
.
getDealAmount
(),
salesRecordVO
.
getAmount
());
salesRecord
.
set
(
SalesRecordConstant
.
RETAILINFO
,
retailInfo
);
}
else
{
//如果不为散户 则必定有合同 项目 购砂单位 区域公司
salesRecord
.
set
(
SalesRecordConstant
.
CUSTOMERTYPE
,
CustomerTypeEnum
.
PurchaseSandCompany
.
name
());
// 获取项目KObject
KObject
project
;
KObject
contract
;
KObject
purchaseSandCompany
;
contract
=
contractDao
.
load
(
UUID
.
fromString
(
salesRecordVO
.
getContractId
()));
// 获取合同KObject
project
=
contract
.
get
(
"project"
);
// 获取区域公司KObject
regionalCompany
=
contract
.
get
(
"regionalCompany"
);
// 获取购砂单位KObject
purchaseSandCompany
=
contract
.
get
(
"purchaseSandUnit"
);
salesRecord
.
set
(
SalesRecordConstant
.
PROJECT
,
project
);
salesRecord
.
set
(
SalesRecordConstant
.
REGIONALCOMPANY
,
regionalCompany
);
salesRecord
.
set
(
SalesRecordConstant
.
CONTRACT
,
contract
);
salesRecord
.
set
(
SalesRecordConstant
.
PURCHASESANDCOMPANY
,
purchaseSandCompany
);
salesRecord
.
set
(
SalesRecordConstant
.
DEALAMOUNT
,
salesRecordVO
.
getDealAmount
()
==
null
?
BigDecimal
.
ZERO
:
BigDecimal
.
valueOf
(
salesRecordVO
.
getDealAmount
()));
salesRecord
.
set
(
SalesRecordConstant
.
DISCARD
,
false
);
salesRecord
.
set
(
SalesRecordConstant
.
DEL
,
false
);
}
String
salesRecordId
=
""
;
if
(
null
==
salesRecordVO
.
getId
())
{
UUID
salesRecordIds
=
salesRecordDao
.
insert
(
salesRecord
);
salesRecordId
=
salesRecordIds
.
toString
();
}
else
{
salesRecord
.
set
(
BaseConstants
.
ID
,
UUID
.
fromString
(
salesRecordVO
.
getId
()));
salesRecordDao
.
update
(
salesRecord
);
salesRecordId
=
salesRecordVO
.
getId
();
}
returnMap
.
put
(
"code"
,
200
);
returnMap
.
put
(
"id"
,
salesRecordId
);
returnMap
.
put
(
"advanceBalance"
,
advanceBalance1
);
returnMap
.
put
(
"message"
,
"新增成功"
);
return
returnMap
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
returnMap
.
put
(
"code"
,
10031
);
returnMap
.
put
(
"message"
,
"系统内部错误"
);
return
returnMap
;
}
}
@Override
@org
.
springframework
.
transaction
.
annotation
.
Transactional
public
ResponseObj
deleteById
(
JsonNode
jsonNode
)
{
KObject
kobject
;
JsonNode
salesRecords
=
jsonNode
.
withArray
(
"salesRecords"
);
for
(
JsonNode
salesRecord
:
salesRecords
)
{
kobject
=
JSONObjectUtils
.
toObject
(
salesRecord
,
Amino
.
getStaticMetadataContext
().
getBean
(
SalesRecordConstant
.
ENTITY
,
KClass
.
class
));
salesRecordDao
.
deleteById
(
kobject
.
getUuid
(
BaseConstants
.
ID
),
kobject
.
getString
(
SalesRecordConstant
.
DEL_REASON
));
}
return
ResponseObj
.
success
(
"删除成功"
);
}
@Override
@org
.
springframework
.
transaction
.
annotation
.
Transactional
public
ResponseObj
approvalBatch
(
JsonNode
jsonNode
)
{
KObject
kobject
;
Boolean
flag
=
true
;
JsonNode
salesRecords
=
jsonNode
.
withArray
(
"salesRecords"
);
for
(
JsonNode
salesRecord
:
salesRecords
)
{
kobject
=
JSONObjectUtils
.
toObject
(
salesRecord
,
Amino
.
getStaticMetadataContext
().
getBean
(
SalesRecordConstant
.
ENTITY
,
KClass
.
class
));
UUID
id
=
kobject
.
getUuid
(
"id"
);
if
(
null
==
id
)
{
return
ResponseObj
.
error
(
400
,
"'id' must be not null!"
);
}
//判断是审核通过 还是驳回
if
(
null
==
kobject
.
getString
(
SalesRecordConstant
.
APPROVE_STATE
))
{
return
ResponseObj
.
error
(
400
,
"审核状态 must be not null!"
);
}
Integer
approvalState
=
Integer
.
valueOf
(
kobject
.
getString
(
SalesRecordConstant
.
APPROVE_STATE
));
KObject
salesRecordInfo
=
salesRecordDao
.
load
(
id
);
//查询当前数据方法类型
//判断当前数据 收款类型是否为预付款
String
payMentSource
=
salesRecordInfo
.
getString
(
SalesRecordConstant
.
PAYMENTSOURCE
);
//判断客户类型是否是区域公司 是否有合同
if
(
CustomerTypeEnum
.
PurchaseSandCompany
.
name
().
equals
(
salesRecordInfo
.
getString
(
SalesRecordConstant
.
CUSTOMERTYPE
))){
//如果通过 //如果为预付款类型 进行 对金额进行操作
if
(
SalesRecordConstant
.
APPROVED
.
equals
(
approvalState
)
&&
PayMentSourceEnum
.
Advance
.
equals
(
payMentSource
)){
UUID
contractId
=
salesRecordInfo
.
get
(
"contract"
).
getUuid
(
"id"
);
UUID
dinasTypeId
=
salesRecordInfo
.
get
(
"dinasType"
).
getUuid
(
"id"
);
//查询合同余额,如果扣减后小于0则不允许交易
KObject
kObject
=
contractService
.
queryContract
(
contractId
);
BigDecimal
advanceBalance
=
kObject
.
getBigDecimal
(
"advanceBalance"
);
if
(
advanceBalance
==
null
||
advanceBalance
.
compareTo
(
new
BigDecimal
(
kObject
.
getString
(
SalesRecordConstant
.
AMOUNT
)))
==
-
1
)
{
return
ResponseObj
.
error
(
400
,
"合同名称为:"
+
salesRecordInfo
.
get
(
"contract"
).
getUuid
(
"contractName"
)
+
"的预付款余额不足"
);
}
BigDecimal
amount
=
BigDecimal
.
ZERO
;
//当前数据方法类型
Integer
methodType
=
Integer
.
valueOf
(
salesRecordInfo
.
getString
(
SalesRecordConstant
.
METHOD_TYPE
));
// 扣减合同的预付款金额= 异常数据的总价 扣减
if
(
SalesRecordConstant
.
ADD_METHOD
.
equals
(
methodType
)){
//获取当前异常数据的总价
amount
=
BigDecimal
.
ZERO
.
subtract
(
BigDecimal
.
valueOf
(
salesRecordInfo
.
getDouble
(
SalesRecordConstant
.
AMOUNT
)));
}
else
if
(
SalesRecordConstant
.
DEL_METHOD
.
equals
(
methodType
)){
//逻辑删除 反还合同的预付款金额= 异常数据的总价 退还
amount
=
BigDecimal
.
ZERO
.
add
(
new
BigDecimal
(
salesRecordInfo
.
getString
(
SalesRecordConstant
.
AMOUNT
)));
}
//判断是否为人工补录数据并且状态是审核通过的
flag
=
contractService
.
modifyInventory
(
contractId
,
dinasTypeId
,
BigDecimal
.
ZERO
,
amount
);
}
}
if
(!
flag
){
return
ResponseObj
.
error
(
400
,
"预付款余额审核异常"
);
}
else
{
//修改审核状态
kobject
.
set
(
SalesRecordConstant
.
METHOD_TYPE
,
Integer
.
valueOf
(
salesRecordInfo
.
getString
(
SalesRecordConstant
.
METHOD_TYPE
)));
salesRecordDao
.
approval
(
kobject
);
}
}
return
ResponseObj
.
success
(
"审核成功"
);
}
@Override
public
KObject
getById
(
UUID
id
)
{
return
salesRecordDao
.
load
(
id
);
}
private
Set
<
String
>
createNoExist
(
Sheet
sheet
,
int
lastRowNum
,
Set
<
KObject
>
organizations
,
Set
<
KObject
>
stations
,
Set
<
KObject
>
dinasTypes
,
Set
<
KObject
>
retailInfos
,
Set
<
String
>
strings
)
{
Row
row
;
List
<
KObject
>
saleRecord
=
new
ArrayList
<>();
...
...
@@ -481,6 +693,8 @@ public class SalesRecordServiceImpl implements SalesRecordService {
salesRecord
.
set
(
SalesRecordConstant
.
TARE_WEIGHT
,
tareWeight
);
salesRecord
.
set
(
SalesRecordConstant
.
DISCARD
,
false
);
salesRecord
.
set
(
SalesRecordConstant
.
DEL
,
false
);
//modify by 新增数据来源类型 from yanH for 2022-04-18
salesRecord
.
set
(
SalesRecordConstant
.
DATA_SOURCE
,
SalesRecordConstant
.
DATA_SOURCE_REN_GONG
);
return
salesRecord
;
}
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/service/SalesRecordService.java
View file @
31e53961
package
com
.
xyst
.
dinas
.
sales
.
service
;
import
java.util.HashMap
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.xyst.dinas.sales.web.info.SalesRecordInfo
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.HashMap
;
import
java.util.UUID
;
public
interface
SalesRecordService
{
/**
...
...
@@ -18,4 +21,30 @@ public interface SalesRecordService {
HashMap
<
String
,
Object
>
saveSalesRecordService
(
SalesRecordInfo
salesRecordList
,
KObject
station
);
HashMap
<
String
,
Object
>
qualityReportExcelImport
(
MultipartFile
file
);
/**
* @Author yanHeng
* @Date 2022/4/18 9:59
* @Param [kobject, station]
* @return java.util.HashMap<java.lang.String,java.lang.Object>
**/
HashMap
<
String
,
Object
>
saveSalesRecordInfo
(
SalesRecordInfo
salesRecord
,
KObject
station
);
/**
* @Author yanHeng
* @Date 2022/4/18 15:00
* @Param [jsonNode]
* @return com.beecode.inz.basis.team.pojo.ResponseObj
**/
ResponseObj
deleteById
(
JsonNode
jsonNode
);
/**
* @Author yanHeng
* @Date 2022/4/18 17:38
* @Param [jsonNode]
* @return void
**/
ResponseObj
approvalBatch
(
JsonNode
jsonNode
);
KObject
getById
(
UUID
id
);
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/web/SalesRecordController.java
View file @
31e53961
package
com
.
xyst
.
dinas
.
sales
.
web
;
import
java.util.HashMap
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.xyst.dinas.biz.service.StationService
;
import
com.xyst.dinas.sales.service.SalesRecordService
;
import
com.xyst.dinas.sales.web.info.SalesRecordInfo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.HashMap
;
import
java.util.UUID
;
@RestController
public
class
SalesRecordController
{
@Autowired
SalesRecordService
salesRecordService
;
@Autowired
StationService
stationService
;
/**
* create by: 导入销售记录,没有的数据全部新建
...
...
@@ -38,4 +42,67 @@ public class SalesRecordController {
}
return
ResponseObj
.
success
(
"success"
);
}
/**
* @Author yanHeng
* @Date 2022/4/18 9:56
* @Param [SalesRecordInfo]
* @return java.lang.Object
* 异常数据添加/编辑
**/
@PostMapping
(
value
=
"/salesRecord/saveSalesRecordInfo"
)
public
Object
saveSalesRecordInfo
(
@RequestBody
SalesRecordInfo
salesRecord
)
{
//判空校验
if
(
null
==
salesRecord
.
getStationId
())
{
return
ResponseObj
.
error
(
400
,
"请选择具体的场站"
);
}
KObject
station
=
stationService
.
getById
(
UUID
.
fromString
(
salesRecord
.
getStationId
()));
HashMap
<
String
,
Object
>
stringObjectHashMap
=
salesRecordService
.
saveSalesRecordInfo
(
salesRecord
,
station
);
return
ResponseObj
.
error
((
Integer
)
stringObjectHashMap
.
get
(
"code"
),
stringObjectHashMap
.
get
(
"message"
).
toString
(),
stringObjectHashMap
.
get
(
"id"
));
}
/**
* 根据id获取异常数据信息
*
* @param id
* @return
*/
@GetMapping
(
"/salesRecord/{id}"
)
public
ResponseObj
getById
(
@PathVariable
(
"id"
)
UUID
id
)
{
if
(
id
==
null
)
{
return
ResponseObj
.
error
(
400
,
"'id' must be not null!"
);
}
KObject
discharging
=
salesRecordService
.
getById
(
id
);
return
ResponseObj
.
success
(
"获取成功"
,
discharging
);
}
/**
* 根据Id删除销售明细数据
* 只做数据修改,退款需审核
* @param body
* @return
*/
@PostMapping
(
"/salesRecord/deleteSalesRecordBatch"
)
public
ResponseObj
deleteById
(
@RequestBody
String
body
)
{
JsonNode
jsonNode
=
JSONObjectUtils
.
toJson
(
body
);
return
salesRecordService
.
deleteById
(
jsonNode
);
}
/**
* 批量审核异常数据,进行扣款或者退款
* @param body
* @return
*/
@PostMapping
(
"/salesRecord/approvalBatch"
)
public
ResponseObj
approvalBatch
(
@RequestBody
String
body
)
{
JsonNode
jsonNode
=
JSONObjectUtils
.
toJson
(
body
);
return
salesRecordService
.
approvalBatch
(
jsonNode
);
}
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/web/info/SalesRecordInfo.java
View file @
31e53961
...
...
@@ -10,6 +10,8 @@ import java.util.Date;
public
class
SalesRecordInfo
{
//主键id
private
String
id
;
/**
* 项目
*/
...
...
@@ -150,7 +152,43 @@ public class SalesRecordInfo {
*/
private
Integer
saleType
;
public
String
getProductionLineId
()
{
//数据来源
private
String
dataSource
;
//原因
private
String
reason
;
//删除原因
private
String
delReason
;
//方法类型
private
Integer
methodType
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
Integer
getMethodType
()
{
return
methodType
;
}
public
void
setMethodType
(
Integer
methodType
)
{
this
.
methodType
=
methodType
;
}
public
String
getDelReason
()
{
return
delReason
;
}
public
void
setDelReason
(
String
delReason
)
{
this
.
delReason
=
delReason
;
}
public
String
getProductionLineId
()
{
return
productionLineId
;
}
...
...
@@ -397,4 +435,20 @@ public class SalesRecordInfo {
public
void
setSaleType
(
Integer
saleType
)
{
this
.
saleType
=
saleType
;
}
public
String
getDataSource
()
{
return
dataSource
;
}
public
void
setDataSource
(
String
dataSource
)
{
this
.
dataSource
=
dataSource
;
}
public
String
getReason
()
{
return
reason
;
}
public
void
setReason
(
String
reason
)
{
this
.
reason
=
reason
;
}
}
backend/xyst.dinas.sales/src/main/model/com/xyst/dinas/sales/datamodel/SalesRecord.mk
View file @
31e53961
...
...
@@ -112,6 +112,24 @@
<attribute id='7b72bf25-26fd-4e24-b3f9-67d4f4733ff2' name='dealBillCode' columnName='deal_bill_code' title='销售单号' type='string' default='' precision='' isArray='false'>
<annotation id='82dec9ef-61f8-4e17-ba12-4df0472b1e73' attributeId='511c5c00-ccf7-48cb-a7bb-1743a2b92e57' name='length' value='50'></annotation>
</attribute>
<attribute id='80dd565a-8a2e-4661-b89b-5384ebafd73c' name='dataSource' columnName='data_source' title='数据来源' type='string' default='' precision='' isArray='false'>
<annotation id='f05b84c7-476d-4397-9d5e-2c37488d9c92' attributeId='f9a9d6f4-a208-45e5-9318-22af73e404ab' name='length' value='50'></annotation>
</attribute>
<attribute id='988d3d4c-1062-41e0-94b9-bd339718330d' name='reason' columnName='reason' title='原因' type='string' default='' precision='' isArray='false'>
<annotation id='d4ae7313-828a-48ff-84cf-d2b1db59a6c9' attributeId='107e0691-586b-49e8-bb75-372e56b01f43' name='length' value='50'></annotation>
</attribute>
<attribute id='e7ca1203-2dfe-4ef0-b6a6-c204aa9a04da' name='delReason' columnName='del_reason' title='删除原因' type='string' default='' precision='' isArray='false'>
<annotation id='23d02bbd-eabd-47b0-a1ea-674af1ee5695' attributeId='8378869d-f001-44fe-9837-a0ccada7d11c' name='length' value='50'></annotation>
</attribute>
<attribute id='76cb3a45-d1ef-4ac7-ade5-3c3c34c21811' name='methodType' columnName='method_type' title='数据方法类型 0:新增 1:删除' type='int' default='' precision='' isArray='false'>
<annotation id='363be135-5265-4354-acd3-09448a570214' attributeId='e5872b18-5a17-431f-a927-b41966b7b982' name='length' value='undefined'>
</annotation>
</attribute>
<hibernate>/xyst.dinas.sales/src/main/resources/config/SalesRecord.hbm.xml</hibernate>
</dataModel>
</content>
...
...
backend/xyst.dinas.sales/src/main/model/com/xyst/dinas/sales/query/SalesRecord.mk
View file @
31e53961
...
...
@@ -294,6 +294,36 @@
</ref>
<description></description>
</field>
<field title='数据来源'>
<name>dataSource</name>
<type>string</type>
<description></description>
</field>
<field title='原因'>
<name>reason</name>
<type>string</type>
<description></description>
</field>
<field title='删除原因'>
<name>delReason</name>
<type>string</type>
<description></description>
</field>
<field title='审批状态'>
<name>approveState</name>
<type>int</type>
<description></description>
</field>
<field title='方法类型'>
<name>methodType</name>
<type>int</type>
<description></description>
</field>
</customQuery>
</content>
</model>
\ No newline at end of file
backend/xyst.dinas.sales/src/main/resources/config/SalesRecord.hbm.xml
View file @
31e53961
...
...
@@ -111,5 +111,29 @@
<property
name=
"dealBillCode"
type=
"nstring"
not-null=
"false"
>
<column
name=
"deal_bill_code"
length=
"50"
></column>
</property>
<property
name=
"dataSource"
type=
"nstring"
not-null=
"false"
>
<column
name=
"data_source"
length=
"50"
>
<comment>
数据来源
</comment>
</column>
</property>
<property
name=
"reason"
type=
"nstring"
not-null=
"false"
>
<column
name=
"reason"
length=
"50"
>
<comment>
原因
</comment>
</column>
</property>
<property
name=
"delReason"
type=
"nstring"
not-null=
"false"
>
<column
name=
"del_reason"
length=
"50"
>
<comment>
删除原因
</comment>
</column>
</property>
<property
name=
"methodType"
type=
"integer"
not-null=
"false"
>
<column
name=
"method_type"
>
<comment>
数据方法类型 0:新增 1:删除
</comment>
</column>
</property>
</class>
</hibernate-mapping>
\ No newline at end of file
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