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
ec2ccd0e
Commit
ec2ccd0e
authored
Apr 26, 2021
by
王衍超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加退款接口;
parent
d41c9dcc
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
326 additions
and
35 deletions
+326
-35
PlanningCycleConstant.java
...va/com/xyst/dinas/biz/constant/PlanningCycleConstant.java
+3
-0
PlanningCycleServiceImpl.java
.../dinas/biz/internal/service/PlanningCycleServiceImpl.java
+6
-0
PlanningCycleService.java
...java/com/xyst/dinas/biz/service/PlanningCycleService.java
+3
-0
WarningServiceImpl.java
...main/java/com/xyst/dinas/biz/warn/WarningServiceImpl.java
+5
-0
WarningService.java
.../java/com/xyst/dinas/biz/warn/service/WarningService.java
+10
-0
FinanceConfiguration.java
...a/com/xyst/dinas/finance/config/FinanceConfiguration.java
+14
-0
FinanceRefundDao.java
...ain/java/com/xyst/dinas/finance/dao/FinanceRefundDao.java
+26
-0
FundTypeEnum.java
...java/com/xyst/dinas/finance/enumeration/FundTypeEnum.java
+2
-1
FinanceRefundServiceImpl.java
...as/finance/internal/service/FinanceRefundServiceImpl.java
+24
-0
FinanceRefundService.java
.../com/xyst/dinas/finance/service/FinanceRefundService.java
+11
-0
RefundController.java
...ain/java/com/xyst/dinas/finance/web/RefundController.java
+43
-2
SalesPlanConstant.java
...java/com/xyst/dinas/sales/constant/SalesPlanConstant.java
+4
-0
SalesPlanDao.java
.../src/main/java/com/xyst/dinas/sales/dao/SalesPlanDao.java
+19
-17
SalesPlanServiceImpl.java
...st/dinas/sales/internal/service/SalesPlanServiceImpl.java
+5
-0
SalesPlanService.java
...n/java/com/xyst/dinas/sales/service/SalesPlanService.java
+2
-0
SalesPlanController.java
...in/java/com/xyst/dinas/sales/web/SalesPlanController.java
+40
-15
SaleaPlanSubmit.java
...ava/com/xyst/dinas/sales/web/request/SaleaPlanSubmit.java
+109
-0
No files found.
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/constant/PlanningCycleConstant.java
View file @
ec2ccd0e
...
@@ -9,5 +9,8 @@ public class PlanningCycleConstant {
...
@@ -9,5 +9,8 @@ public class PlanningCycleConstant {
public
static
final
String
ENTITY
=
"com.xyst.dinas.biz.datamodel.PlanningCycle"
;
public
static
final
String
ENTITY
=
"com.xyst.dinas.biz.datamodel.PlanningCycle"
;
public
static
final
String
startTime
=
"startTime"
;
public
static
final
String
endTime
=
"endTime"
;
}
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/internal/service/PlanningCycleServiceImpl.java
View file @
ec2ccd0e
...
@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service;
...
@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
javax.transaction.Transactional
;
import
javax.transaction.Transactional
;
...
@@ -45,6 +46,11 @@ public class PlanningCycleServiceImpl implements PlanningCycleService{
...
@@ -45,6 +46,11 @@ public class PlanningCycleServiceImpl implements PlanningCycleService{
public
void
initData
()
{
public
void
initData
()
{
planningCycleDao
.
initData
();
planningCycleDao
.
initData
();
}
}
@Override
public
KObject
load
(
UUID
id
)
{
return
planningCycleDao
.
load
(
id
);
}
}
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/service/PlanningCycleService.java
View file @
ec2ccd0e
...
@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.service;
...
@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.service;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.biz.enumeration.PlanningCycleEnum
;
import
com.xyst.dinas.biz.enumeration.PlanningCycleEnum
;
...
@@ -9,6 +10,8 @@ import com.xyst.dinas.biz.enumeration.PlanningCycleEnum;
...
@@ -9,6 +10,8 @@ import com.xyst.dinas.biz.enumeration.PlanningCycleEnum;
public
interface
PlanningCycleService
{
public
interface
PlanningCycleService
{
public
KObject
load
(
UUID
id
);
/**
/**
* 获取指定日期和计划周期类型的计划周期实体
* 获取指定日期和计划周期类型的计划周期实体
* @param planningCycleType 计划周期
* @param planningCycleType 计划周期
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/WarningServiceImpl.java
View file @
ec2ccd0e
...
@@ -6,6 +6,7 @@ import java.util.List;
...
@@ -6,6 +6,7 @@ import java.util.List;
import
java.util.UUID
;
import
java.util.UUID
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.lang.Nullable
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
...
@@ -143,6 +144,10 @@ public class WarningServiceImpl implements WarningService{
...
@@ -143,6 +144,10 @@ public class WarningServiceImpl implements WarningService{
return
warnSettingDao
.
getWarnSetting
(
billType
,
billId
,
target
);
return
warnSettingDao
.
getWarnSetting
(
billType
,
billId
,
target
);
}
}
public
List
<
KObject
>
queryWarnSettings
(
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
){
return
warnSettingDao
.
queryWarnSettings
(
billType
,
billId
,
target
);
}
@Override
@Override
public
WarnExeRecord
queryWarnExeRecord
(
UUID
warnSettingId
)
{
public
WarnExeRecord
queryWarnExeRecord
(
UUID
warnSettingId
)
{
return
warnSettingDao
.
queryWarnExeRecord
(
warnSettingId
);
return
warnSettingDao
.
queryWarnExeRecord
(
warnSettingId
);
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/service/WarningService.java
View file @
ec2ccd0e
...
@@ -27,6 +27,16 @@ public interface WarningService {
...
@@ -27,6 +27,16 @@ public interface WarningService {
WarnSetting
getWarnSetting
(
@NonNull
UUID
warnSettingId
);
WarnSetting
getWarnSetting
(
@NonNull
UUID
warnSettingId
);
WarnSetting
getWarnSetting
(
@NonNull
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
);
WarnSetting
getWarnSetting
(
@NonNull
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
);
/**
* 查询预警设置
* @param billType
* @param billId
* @param target
* @return
*/
List
<
KObject
>
queryWarnSettings
(
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
);
/**
/**
* 根据ID查询一条预警设置
* 根据ID查询一条预警设置
* @param id
* @param id
...
...
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/config/FinanceConfiguration.java
View file @
ec2ccd0e
...
@@ -4,13 +4,16 @@ import org.springframework.context.annotation.Bean;
...
@@ -4,13 +4,16 @@ import org.springframework.context.annotation.Bean;
import
com.xyst.dinas.finance.dao.BankRechargeDetailDao
;
import
com.xyst.dinas.finance.dao.BankRechargeDetailDao
;
import
com.xyst.dinas.finance.dao.ExpenseAdjustDao
;
import
com.xyst.dinas.finance.dao.ExpenseAdjustDao
;
import
com.xyst.dinas.finance.dao.FinanceRefundDao
;
import
com.xyst.dinas.finance.internal.dao.BankRechargeDetailDaoImpl
;
import
com.xyst.dinas.finance.internal.dao.BankRechargeDetailDaoImpl
;
import
com.xyst.dinas.finance.internal.dao.ExpenseAdjustDaoImpl
;
import
com.xyst.dinas.finance.internal.dao.ExpenseAdjustDaoImpl
;
import
com.xyst.dinas.finance.internal.service.BankRechargeDetailServiceImpl
;
import
com.xyst.dinas.finance.internal.service.BankRechargeDetailServiceImpl
;
import
com.xyst.dinas.finance.internal.service.ExpenseAdjustServiceImpl
;
import
com.xyst.dinas.finance.internal.service.ExpenseAdjustServiceImpl
;
import
com.xyst.dinas.finance.internal.service.FinanceRefundServiceImpl
;
import
com.xyst.dinas.finance.processor.FinanceRefundProcessor
;
import
com.xyst.dinas.finance.processor.FinanceRefundProcessor
;
import
com.xyst.dinas.finance.service.BankRechargeDetailService
;
import
com.xyst.dinas.finance.service.BankRechargeDetailService
;
import
com.xyst.dinas.finance.service.ExpenseAdjustService
;
import
com.xyst.dinas.finance.service.ExpenseAdjustService
;
import
com.xyst.dinas.finance.service.FinanceRefundService
;
import
com.xyst.dinas.finance.web.BankRechargeDetailController
;
import
com.xyst.dinas.finance.web.BankRechargeDetailController
;
import
com.xyst.dinas.finance.web.ExpenseAdjustController
;
import
com.xyst.dinas.finance.web.ExpenseAdjustController
;
import
com.xyst.dinas.finance.web.RefundController
;
import
com.xyst.dinas.finance.web.RefundController
;
...
@@ -22,6 +25,17 @@ public class FinanceConfiguration {
...
@@ -22,6 +25,17 @@ public class FinanceConfiguration {
public
RefundController
refundController
()
{
public
RefundController
refundController
()
{
return
new
RefundController
();
return
new
RefundController
();
}
}
@Bean
public
FinanceRefundDao
financeRefundDao
()
{
return
new
FinanceRefundDao
();
}
@Bean
public
FinanceRefundService
financeRefundService
()
{
return
new
FinanceRefundServiceImpl
();
}
@Bean
(
"com.xyst.dinas.finance.processor.FinanceRefundProcessor"
)
@Bean
(
"com.xyst.dinas.finance.processor.FinanceRefundProcessor"
)
public
FinanceRefundProcessor
rinanceRefundProcessor
()
{
public
FinanceRefundProcessor
rinanceRefundProcessor
()
{
return
new
FinanceRefundProcessor
();
return
new
FinanceRefundProcessor
();
...
...
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/dao/FinanceRefundDao.java
0 → 100644
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
finance
.
dao
;
import
java.util.UUID
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.orm.hibernate5.HibernateOperations
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.finance.constant.FinanceRefundConstant
;
public
class
FinanceRefundDao
{
@Autowired
private
HibernateOperations
template
;
public
KObject
load
(
UUID
id
)
{
return
(
KObject
)
template
.
get
(
FinanceRefundConstant
.
ENTITY
,
id
);
}
public
void
update
(
KObject
kobject
)
{
template
.
update
(
kobject
.
getType
().
getName
(),
kobject
);
}
}
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/enumeration/FundTypeEnum.java
View file @
ec2ccd0e
...
@@ -7,9 +7,10 @@ package com.xyst.dinas.finance.enumeration;
...
@@ -7,9 +7,10 @@ package com.xyst.dinas.finance.enumeration;
*/
*/
public
enum
FundTypeEnum
{
public
enum
FundTypeEnum
{
/**预付款*/
ADVANCE
(
"预付款"
,
0
),
ADVANCE
(
"预付款"
,
0
),
/**保证金*/
DEPOSIT
(
"保证金"
,
1
),
DEPOSIT
(
"保证金"
,
1
),
...
...
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/internal/service/FinanceRefundServiceImpl.java
0 → 100644
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
finance
.
internal
.
service
;
import
java.util.UUID
;
import
javax.transaction.Transactional
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.finance.dao.FinanceRefundDao
;
import
com.xyst.dinas.finance.service.FinanceRefundService
;
@Transactional
public
class
FinanceRefundServiceImpl
implements
FinanceRefundService
{
@Autowired
private
FinanceRefundDao
financeRefundDao
;
public
KObject
queryFinanceRefundById
(
UUID
id
)
{
return
financeRefundDao
.
load
(
id
);
}
}
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/service/FinanceRefundService.java
0 → 100644
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
finance
.
service
;
import
java.util.UUID
;
import
com.beecode.bcp.type.KObject
;
public
interface
FinanceRefundService
{
public
KObject
queryFinanceRefundById
(
UUID
id
);
}
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/web/RefundController.java
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
finance
.
web
;
package
com
.
xyst
.
dinas
.
finance
.
web
;
import
java.util.UUID
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.xyst.dinas.biz.warn.WarnSetting
;
import
com.xyst.dinas.biz.warn.service.WarningService
;
import
com.xyst.dinas.contract.constant.ContractConstant
;
import
com.xyst.dinas.contract.service.ContractService
;
import
com.xyst.dinas.contract.warn.ContractWarnConst
;
import
com.xyst.dinas.finance.constant.FinanceRefundConstant
;
import
com.xyst.dinas.finance.enumeration.FundTypeEnum
;
import
com.xyst.dinas.finance.service.FinanceRefundService
;
/**
/**
* 退款
* 退款
*
*
...
@@ -12,8 +27,34 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -12,8 +27,34 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RestController
public
class
RefundController
{
public
class
RefundController
{
@PostMapping
(
"/refund"
)
public
void
test
()
{
@Autowired
private
FinanceRefundService
financeRefundService
;
@Autowired
private
ContractService
contractService
;
@Autowired
private
WarningService
warningService
;
//财务退费
@PostMapping
(
"/finance/refund/{refundId}"
)
public
Object
refund
(
@PathVariable
UUID
refundId
)
{
//修改合同剩余金额; 去除预付款预警; 调用银行接口;
KObject
financeRefund
=
financeRefundService
.
queryFinanceRefundById
(
refundId
);
KObject
contract
=
financeRefund
.
get
(
FinanceRefundConstant
.
contract
);
int
fundType
=
financeRefund
.
getInt
(
FinanceRefundConstant
.
fundType
);
if
(
fundType
==
FundTypeEnum
.
ADVANCE
.
getValue
())
{
contract
.
set
(
ContractConstant
.
ADVANCE_BALANCE
,
0
);
//预付款余额 清零
//去除预付款预警;
UUID
contractInfoId
=
contract
.
getUuid
(
ContractConstant
.
CONTRACT_ID
);
WarnSetting
warnSetting
=
warningService
.
getWarnSetting
(
ContractWarnConst
.
billType
,
contractInfoId
,
ContractWarnConst
.
warningTarget3
);
warningService
.
deleteWarnSetting
(
warnSetting
.
getSettingId
());
}
else
if
(
fundType
==
FundTypeEnum
.
DEPOSIT
.
getValue
())
{
contract
.
set
(
ContractConstant
.
DEPOSIT_BALANCE
,
0
);
//保证金余额 清零
}
contractService
.
update
(
contract
);
//TODO 调用银行接口;
return
ResponseObj
.
success
();
}
}
}
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/constant/SalesPlanConstant.java
View file @
ec2ccd0e
...
@@ -6,7 +6,11 @@ public class SalesPlanConstant {
...
@@ -6,7 +6,11 @@ public class SalesPlanConstant {
public
static
final
String
ENTITY
=
"com.xyst.dinas.sales.datamodel.SalesPlan"
;
public
static
final
String
ENTITY
=
"com.xyst.dinas.sales.datamodel.SalesPlan"
;
/** 销售计划子表-实体*/
/** 销售计划子表-实体*/
public
static
final
String
ENTITY_DETAIL
=
"com.xyst.dinas.sales.datamodel.SalesPlan$SalesPlanDetail"
;
public
static
final
String
ENTITY_DETAIL
=
"com.xyst.dinas.sales.datamodel.SalesPlan$SalesPlanDetail"
;
/** 销售计划子表-名称*/
public
static
final
String
SalesPlanDetails
=
"SalesPlanDetails"
;
/** 计划周期*/
public
static
final
String
planningCycle
=
"planningCycle"
;
/** 审批状态*/
/** 审批状态*/
public
static
final
String
APPROVE_STATE
=
"approveState"
;
public
static
final
String
APPROVE_STATE
=
"approveState"
;
/** 审批时间*/
/** 审批时间*/
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/SalesPlanDao.java
View file @
ec2ccd0e
...
@@ -5,15 +5,12 @@ import java.util.List;
...
@@ -5,15 +5,12 @@ import java.util.List;
import
java.util.UUID
;
import
java.util.UUID
;
import
org.hibernate.query.Query
;
import
org.hibernate.query.Query
;
import
org.hibernate.transform.Transformers
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.lang.Nullable
;
import
org.springframework.lang.Nullable
;
import
org.springframework.orm.hibernate5.HibernateTemplate
;
import
org.springframework.orm.hibernate5.HibernateTemplate
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.sales.constant.SalesPlanConstant
;
import
com.xyst.dinas.sales.constant.SalesPlanConstant
;
import
com.xyst.dinas.sales.entity.SalesPlan
;
import
com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery
;
import
com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery
;
public
class
SalesPlanDao
{
public
class
SalesPlanDao
{
...
@@ -31,7 +28,6 @@ public class SalesPlanDao {
...
@@ -31,7 +28,6 @@ public class SalesPlanDao {
}
}
public
UUID
create
(
KObject
kObject
)
{
public
UUID
create
(
KObject
kObject
)
{
// template.setCheckWriteOperations(false);
return
(
UUID
)
template
.
save
(
kObject
.
getType
().
getName
(),
kObject
);
return
(
UUID
)
template
.
save
(
kObject
.
getType
().
getName
(),
kObject
);
}
}
...
@@ -140,18 +136,24 @@ public class SalesPlanDao {
...
@@ -140,18 +136,24 @@ public class SalesPlanDao {
return
kObject
;
return
kObject
;
});
});
// return template.execute(session ->{
}
// String hql = "from " + SalesPlanConstant.ENTITY + " where id =:salesPlanId ";
// Query query = session.createQuery(hql);
/**
// query.setParameter("salesPlanId", salesPlanId);
* 查找指定时间范围内的已提交或已审批的临时销售计划
// query.setResultTransformer(Transformers.aliasToBean(SalesPlan.class));
* @param startTime
// SalesPlan resultList = (SalesPlan) query.uniqueResult();
* @param endTime
//// KObject kObject = null;
* @return
//// if (resultList.size() > 0) {
*/
//// kObject = resultList.get(0);
public
List
<
KObject
>
querySalesTempPlanByTime
(
Date
startTime
,
Date
endTime
)
{
//// }
return
template
.
execute
(
session
->{
// return resultList;
String
hql
=
"from "
+
SalesPlanConstant
.
ENTITY_TEMP
+
" where planningCycle.startTime >=:startTime and planningCycle.endTime <=:endTime"
//
+
" and (approveState = 1 or approveState =2)"
;
// });
Query
<
KObject
>
query
=
session
.
createQuery
(
hql
,
KObject
.
class
);
query
.
setParameter
(
"startTime"
,
startTime
);
query
.
setParameter
(
"endTime"
,
endTime
);
List
<
KObject
>
resultList
=
query
.
getResultList
();
return
resultList
;
});
}
}
}
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/service/SalesPlanServiceImpl.java
View file @
ec2ccd0e
...
@@ -215,6 +215,11 @@ public class SalesPlanServiceImpl implements SalesPlanService{
...
@@ -215,6 +215,11 @@ public class SalesPlanServiceImpl implements SalesPlanService{
}
}
public
KObject
querySalesPlanById
(
UUID
id
)
{
return
salesPlanDao
.
load
(
id
);
}
/***************临时销售计划*****************/
/***************临时销售计划*****************/
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/service/SalesPlanService.java
View file @
ec2ccd0e
...
@@ -36,6 +36,8 @@ public interface SalesPlanService {
...
@@ -36,6 +36,8 @@ public interface SalesPlanService {
public
void
update
(
KObject
salesPlan
);
public
void
update
(
KObject
salesPlan
);
public
KObject
querySalesPlanById
(
UUID
id
);
public
KObject
queryTempSalesPlan
(
UUID
id
)
;
public
KObject
queryTempSalesPlan
(
UUID
id
)
;
public
void
approveSalesPlanForDaily
(
UUID
id
,
int
approveState
,
String
approveMemo
);
public
void
approveSalesPlanForDaily
(
UUID
id
,
int
approveState
,
String
approveMemo
);
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/web/SalesPlanController.java
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
sales
.
web
;
package
com
.
xyst
.
dinas
.
sales
.
web
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.beecode.bap.workflow.core.BizProcessState
;
import
com.beecode.bap.workflow.core.BizProcessState
;
import
com.beecode.
inz.basis.pojo.WarehouseUser
;
import
com.beecode.
bcp.type.KObject
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.
basis.util.JsonUtil
;
import
com.beecode.inz.
common.BaseConstants
;
import
com.beecode.xlib.utils.StringUtil
;
import
com.beecode.xlib.utils.StringUtil
;
import
com.xyst.dinas.sales.entity.SalesPlanDetail
;
import
com.xyst.dinas.biz.constant.PlanningCycleConstant
;
import
com.xyst.dinas.biz.service.PlanningCycleService
;
import
com.xyst.dinas.sales.constant.SalesPlanConstant
;
import
com.xyst.dinas.sales.service.SalesPlanService
;
import
com.xyst.dinas.sales.service.SalesPlanService
;
import
com.xyst.dinas.sales.web.request.SaleaPlanApprove
;
import
com.xyst.dinas.sales.web.request.SaleaPlanApprove
;
import
com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery
;
import
com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery
;
import
com.xyst.dinas.sales.web.request.SaleaPlanSubmit
;
@RestController
@RestController
public
class
SalesPlanController
{
public
class
SalesPlanController
{
...
@@ -30,17 +31,41 @@ public class SalesPlanController {
...
@@ -30,17 +31,41 @@ public class SalesPlanController {
@Autowired
@Autowired
private
SalesPlanService
salesPlanService
;
private
SalesPlanService
salesPlanService
;
@Autowired
private
PlanningCycleService
planningCycleService
;
@PostMapping
(
"/salesplan/submit"
)
@PostMapping
(
"/salesplan/submit"
)
public
Object
submitSalesPlan
(
@RequestBody
SaleaPlanApprove
saleaPlanApprove
)
{
public
Object
submitSalesPlan
(
@Validated
@RequestBody
SaleaPlanApprove
saleaPlanApprove
)
{
//TODO 校验数据
//校验数据
UUID
salesplanId
=
saleaPlanApprove
.
getId
();
KObject
salesplan
=
salesPlanService
.
querySalesPlanById
(
salesplanId
);
KObject
planningCycle
=
salesplan
.
get
(
SalesPlanConstant
.
planningCycle
);
Date
startTime
=
planningCycle
.
getDate
(
PlanningCycleConstant
.
startTime
);
Date
endTime
=
planningCycle
.
getDate
(
PlanningCycleConstant
.
endTime
);
UUID
id
=
saleaPlanApprove
.
getId
();
List
<
KObject
>
salesPlanDetails
=
salesplan
.
get
(
SalesPlanConstant
.
SalesPlanDetails
).
toList
();
Integer
approveState
=
BizProcessState
.
IN_PROCESS
.
getValue
();
for
(
KObject
salesPlanDetail
:
salesPlanDetails
)
{
Assert
.
notNull
(
id
,
"The id must not be null"
);
Assert
.
notNull
(
approveState
,
"The approveState must not be null"
);
UUID
detailId
=
salesPlanDetail
.
getUuid
(
BaseConstants
.
ID
);
salesPlanService
.
approveSalesPlanForDaily
(
id
,
approveState
,
null
);
KObject
contract
=
salesPlanDetail
.
get
(
SalesPlanConstant
.
contract
);
return
ResponseObj
.
success
();
UUID
contractId
=
contract
.
getUuid
(
BaseConstants
.
ID
);
KObject
dinasType
=
salesPlanDetail
.
get
(
SalesPlanConstant
.
dinasType
);
UUID
dinasTypeId
=
dinasType
.
getUuid
(
BaseConstants
.
ID
);
double
planAmount
=
salesPlanDetail
.
getDouble
(
SalesPlanConstant
.
planAmount
);
double
actualSaleAmount
=
salesPlanDetail
.
getDouble
(
SalesPlanConstant
.
actualSaleAmount
);
double
contractAmount
=
salesPlanDetail
.
getDouble
(
SalesPlanConstant
.
contractAmount
);
double
value
=
0
;
if
(
planAmount
>
value
)
{
return
ResponseObj
.
error
(
"提交失败"
,
null
);
}
}
return
ResponseObj
.
success
(
"提交成功"
);
}
}
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/web/request/SaleaPlanSubmit.java
0 → 100644
View file @
ec2ccd0e
package
com
.
xyst
.
dinas
.
sales
.
web
.
request
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.UUID
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotNull
;
public
class
SaleaPlanSubmit
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
UUID
id
;
@NotNull
private
UUID
planningCycleId
;
@Valid
private
List
<
SaleaPlanSubmitDetail
>
saleaPlanSubmitDetails
;
public
UUID
getId
()
{
return
id
;
}
public
void
setId
(
UUID
id
)
{
this
.
id
=
id
;
}
public
UUID
getPlanningCycleId
()
{
return
planningCycleId
;
}
public
void
setPlanningCycleId
(
UUID
planningCycleId
)
{
this
.
planningCycleId
=
planningCycleId
;
}
public
List
<
SaleaPlanSubmitDetail
>
getSaleaPlanSubmitDetails
()
{
return
saleaPlanSubmitDetails
;
}
public
void
setSaleaPlanSubmitDetails
(
List
<
SaleaPlanSubmitDetail
>
saleaPlanSubmitDetails
)
{
this
.
saleaPlanSubmitDetails
=
saleaPlanSubmitDetails
;
}
class
SaleaPlanSubmitDetail
{
@NotNull
private
UUID
detailId
;
@NotNull
private
UUID
contractId
;
private
UUID
dinasTypeId
;
private
Double
contractAmount
;
private
Double
actualSaleAmount
;
private
Double
planAmount
;
public
UUID
getDetailId
()
{
return
detailId
;
}
public
void
setDetailId
(
UUID
detailId
)
{
this
.
detailId
=
detailId
;
}
public
UUID
getContractId
()
{
return
contractId
;
}
public
void
setContractId
(
UUID
contractId
)
{
this
.
contractId
=
contractId
;
}
public
UUID
getDinasTypeId
()
{
return
dinasTypeId
;
}
public
void
setDinasTypeId
(
UUID
dinasTypeId
)
{
this
.
dinasTypeId
=
dinasTypeId
;
}
public
Double
getContractAmount
()
{
return
contractAmount
;
}
public
void
setContractAmount
(
Double
contractAmount
)
{
this
.
contractAmount
=
contractAmount
;
}
public
Double
getActualSaleAmount
()
{
return
actualSaleAmount
;
}
public
void
setActualSaleAmount
(
Double
actualSaleAmount
)
{
this
.
actualSaleAmount
=
actualSaleAmount
;
}
public
Double
getPlanAmount
()
{
return
planAmount
;
}
public
void
setPlanAmount
(
Double
planAmount
)
{
this
.
planAmount
=
planAmount
;
}
// private Double stockAmount;
// private Double requiredAmount;
}
}
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