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
59559289
Commit
59559289
authored
Apr 29, 2021
by
杨清松
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售计划编辑增加可分配余量字段
parent
e2b722b1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
15 deletions
+29
-15
SalesPlanDetail.java
...ain/java/com/xyst/dinas/sales/entity/SalesPlanDetail.java
+8
-0
SalesPlanServiceImpl.java
...st/dinas/sales/internal/service/SalesPlanServiceImpl.java
+21
-15
No files found.
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/entity/SalesPlanDetail.java
View file @
59559289
package
com
.
xyst
.
dinas
.
sales
.
entity
;
package
com
.
xyst
.
dinas
.
sales
.
entity
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.UUID
;
import
java.util.UUID
;
/**
/**
* 销售计划明细
* 销售计划明细
...
@@ -32,6 +33,7 @@ public class SalesPlanDetail implements Serializable{
...
@@ -32,6 +33,7 @@ public class SalesPlanDetail implements Serializable{
private
Double
stockAmount
;
private
Double
stockAmount
;
private
Double
planAmount
;
private
Double
planAmount
;
private
Double
actualSaleAmount
;
private
Double
actualSaleAmount
;
private
BigDecimal
distributedVolum
;
public
UUID
getMasterId
()
{
public
UUID
getMasterId
()
{
...
@@ -142,6 +144,12 @@ public class SalesPlanDetail implements Serializable{
...
@@ -142,6 +144,12 @@ public class SalesPlanDetail implements Serializable{
public
void
setActualSaleAmount
(
Double
actualSaleAmount
)
{
public
void
setActualSaleAmount
(
Double
actualSaleAmount
)
{
this
.
actualSaleAmount
=
actualSaleAmount
;
this
.
actualSaleAmount
=
actualSaleAmount
;
}
}
public
BigDecimal
getDistributedVolum
()
{
return
distributedVolum
;
}
public
void
setDistributedVolum
(
BigDecimal
distributedVolum
)
{
this
.
distributedVolum
=
distributedVolum
;
}
}
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/service/SalesPlanServiceImpl.java
View file @
59559289
...
@@ -194,7 +194,13 @@ public class SalesPlanServiceImpl implements SalesPlanService{
...
@@ -194,7 +194,13 @@ public class SalesPlanServiceImpl implements SalesPlanService{
salesPlanDetail
.
setStockAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
stockAmount
));
salesPlanDetail
.
setStockAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
stockAmount
));
salesPlanDetail
.
setPlanAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
planAmount
));
salesPlanDetail
.
setPlanAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
planAmount
));
salesPlanDetail
.
setActualSaleAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
actualSaleAmount
));
salesPlanDetail
.
setActualSaleAmount
(
detail
.
getDouble
(
SalesPlanConstant
.
actualSaleAmount
));
//计算销售计划可分配余量
JSONObject
jsonObject
=
new
JSONObject
(
salesPlanDetail
);
KObject
planningCycle
=
salesPlanKObject
.
get
(
"planningCycle"
);
Date
startTime
=
planningCycle
.
getDate
(
"startTime"
);
Date
endTime
=
planningCycle
.
getDate
(
"endTime"
);
BigDecimal
distributedVolum
=
calcDistributedVolum
(
jsonObject
,
startTime
,
endTime
);
salesPlanDetail
.
setDistributedVolum
(
distributedVolum
);
salesPlanDetails
.
add
(
salesPlanDetail
);
salesPlanDetails
.
add
(
salesPlanDetail
);
}
}
salesPlan
.
setSalesPlanDetails
(
salesPlanDetails
);
salesPlan
.
setSalesPlanDetails
(
salesPlanDetails
);
...
@@ -299,9 +305,20 @@ public class SalesPlanServiceImpl implements SalesPlanService{
...
@@ -299,9 +305,20 @@ public class SalesPlanServiceImpl implements SalesPlanService{
//List<KObject> salesPlanDetails = salesplan.get(SalesPlanConstant.SalesPlanDetails).toList();
//List<KObject> salesPlanDetails = salesplan.get(SalesPlanConstant.SalesPlanDetails).toList();
for
(
int
k
=
0
;
k
<
jsonArray
.
length
();
k
++)
{
for
(
int
k
=
0
;
k
<
jsonArray
.
length
();
k
++)
{
JSONObject
jsonObject
=
jsonArray
.
getJSONObject
(
k
);
JSONObject
jsonObject
=
jsonArray
.
getJSONObject
(
k
);
//}
BigDecimal
distributedVolum
=
calcDistributedVolum
(
jsonObject
,
startTime
,
endTime
);
//for (KObject salesPlanDetail : salesPlanDetails) {
if
(
jsonObject
.
getBigDecimal
(
"planAmount"
).
compareTo
(
BigDecimal
.
ZERO
)
!=
0
&&
jsonObject
.
getBigDecimal
(
"planAmount"
).
compareTo
(
distributedVolum
)
>
-
1
)
{
//大于等于
Map
<
String
,
Object
>
verifyMap
=
new
HashMap
<
String
,
Object
>();
verifyMap
.
put
(
"contractName"
,
jsonObject
.
getString
(
"contractName"
));
verifyMap
.
put
(
"dinasTypeName"
,
jsonObject
.
getString
(
"dinasTypeName"
));
verifyMap
.
put
(
"projectName"
,
jsonObject
.
getString
(
"projectName"
));
verifyMap
.
put
(
"distributedVolum"
,
distributedVolum
);
verifyList
.
add
(
verifyMap
);
}
}
return
verifyList
;
}
public
BigDecimal
calcDistributedVolum
(
JSONObject
jsonObject
,
Date
startTime
,
Date
endTime
)
{
//合同可用余量
//合同可用余量
BigDecimal
contractAmount
=
jsonObject
.
getBigDecimal
(
"contractAmount"
);
BigDecimal
contractAmount
=
jsonObject
.
getBigDecimal
(
"contractAmount"
);
//实际销售量
//实际销售量
...
@@ -326,20 +343,9 @@ public class SalesPlanServiceImpl implements SalesPlanService{
...
@@ -326,20 +343,9 @@ public class SalesPlanServiceImpl implements SalesPlanService{
}
}
}
}
}
}
//可分配量 <=合同可用余量+实际销售量 - 临时销售计划分配量之和
//可分配量 <=合同可用余量+实际销售量 - 临时销售计划分配量之和
BigDecimal
distributedVolum
=
contractAmount
.
add
(
actualSaleAmount
).
subtract
(
totalSalesPlanAmount
);
BigDecimal
distributedVolum
=
contractAmount
.
add
(
actualSaleAmount
).
subtract
(
totalSalesPlanAmount
);
if
(
jsonObject
.
getBigDecimal
(
"planAmount"
).
compareTo
(
BigDecimal
.
ZERO
)
!=
0
&&
jsonObject
.
getBigDecimal
(
"planAmount"
).
compareTo
(
distributedVolum
)
>
-
1
)
{
//大于等于
return
distributedVolum
;
Map
<
String
,
Object
>
verifyMap
=
new
HashMap
<
String
,
Object
>();
verifyMap
.
put
(
"contractName"
,
jsonObject
.
getString
(
"contractName"
));
verifyMap
.
put
(
"dinasTypeName"
,
jsonObject
.
getString
(
"dinasTypeName"
));
verifyMap
.
put
(
"projectName"
,
jsonObject
.
getString
(
"projectName"
));
verifyMap
.
put
(
"distributedVolum"
,
distributedVolum
);
verifyList
.
add
(
verifyMap
);
//return verifyMap;
}
}
return
verifyList
;
}
}
@Override
@Override
...
...
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