Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
6a3e641c
Commit
6a3e641c
authored
Jan 15, 2024
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改出入库数据结构以及涉及到的接口,修改记账接口
parent
73f369aa
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
334 行增加
和
350 行删除
+334
-350
DetailJsonReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/InAndOutRecordReq/DetailJsonReq.java
+0
-1
UpdateEquipmentSizeReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateEquipmentSizeReq.java
+1
-1
UpdateEquipmentTypeReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateEquipmentTypeReq.java
+3
-3
WarehouseExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/WarehouseExceptionEnum.java
+1
-0
EquipmentTypeServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentTypeServiceImpl.java
+5
-1
LogSummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
+22
-9
OrderMainServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
+296
-330
FlowTaskServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowTaskServiceImpl.java
+6
-5
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/InAndOutRecordReq/DetailJsonReq.java
View file @
6a3e641c
...
@@ -19,5 +19,4 @@ public class DetailJsonReq {
...
@@ -19,5 +19,4 @@ public class DetailJsonReq {
//Epc类型(0固定资产1库存物资非固定资产)
//Epc类型(0固定资产1库存物资非固定资产)
private
Integer
property
;
private
Integer
property
;
private
List
<
DetailJsonReq
>
childDetailJson
;
}
}
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateEquipmentSizeReq.java
View file @
6a3e641c
...
@@ -14,7 +14,7 @@ public class UpdateEquipmentSizeReq {
...
@@ -14,7 +14,7 @@ public class UpdateEquipmentSizeReq {
@NotBlank
(
message
=
"装备号型主键不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
delete
.
class
,
ValidationApi
.
detail
.
class
})
@NotBlank
(
message
=
"装备号型主键不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
delete
.
class
,
ValidationApi
.
detail
.
class
})
private
String
id
;
private
String
id
;
@NotBlank
(
message
=
"装备类型id不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
@NotBlank
(
message
=
"装备类型id不能为空"
,
groups
=
{
ValidationApi
.
add
.
class
})
private
String
typeId
;
private
String
typeId
;
private
String
code
;
private
String
code
;
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateEquipmentTypeReq.java
View file @
6a3e641c
...
@@ -18,16 +18,16 @@ public class UpdateEquipmentTypeReq {
...
@@ -18,16 +18,16 @@ public class UpdateEquipmentTypeReq {
private
String
state
;
private
String
state
;
private
String
unitType
;
private
String
unitType
;
@NotBlank
(
message
=
"编码不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
// @NotBlank(message = "编码不能为空", groups = {
ValidationApi.add.class})
private
String
code
;
private
String
code
;
@NotBlank
(
message
=
"名称不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
@NotBlank
(
message
=
"名称不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
private
String
name
;
private
String
name
;
private
String
nickName
;
private
String
nickName
;
private
String
note
;
private
String
note
;
@NotBlank
(
message
=
"上级不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
@NotBlank
(
message
=
"上级不能为空"
,
groups
=
{
ValidationApi
.
add
.
class
})
private
String
parentId
;
private
String
parentId
;
@NotBlank
(
message
=
"上级集合不能为空"
,
groups
=
{
ValidationApi
.
edit
.
class
,
ValidationApi
.
add
.
class
})
@NotBlank
(
message
=
"上级集合不能为空"
,
groups
=
{
ValidationApi
.
add
.
class
})
private
String
parentIds
;
private
String
parentIds
;
private
int
warrantyPeriod
;
private
int
warrantyPeriod
;
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/WarehouseExceptionEnum.java
View file @
6a3e641c
...
@@ -11,6 +11,7 @@ public enum WarehouseExceptionEnum implements IExceptionEnum {
...
@@ -11,6 +11,7 @@ public enum WarehouseExceptionEnum implements IExceptionEnum {
* 仓库信息不存在
* 仓库信息不存在
*/
*/
WAREHOUSE_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
+
JYZBConstant
.
JYZB_EXCEPTION_STEP_CODE
+
12
,
"仓库信息不存在"
),
WAREHOUSE_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
+
JYZBConstant
.
JYZB_EXCEPTION_STEP_CODE
+
12
,
"仓库信息不存在"
),
WAREHOUSE_IS_LOCKED
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
+
JYZBConstant
.
JYZB_EXCEPTION_STEP_CODE
+
12
,
"仓库锁库中,记账失败"
),
;
;
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentTypeServiceImpl.java
View file @
6a3e641c
...
@@ -179,7 +179,11 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
...
@@ -179,7 +179,11 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
.
collect
(
Collectors
.
toSet
());
.
collect
(
Collectors
.
toSet
());
// 获取传入的supplierList中的所有供应商ID集合
// 获取传入的supplierList中的所有供应商ID集合
Set
<
String
>
newSupplierIds
=
new
HashSet
<>(
req
.
getSupplierList
());
Set
<
String
>
newSupplierIds
=
new
HashSet
<>();
if
(
CollectionUtil
.
isNotEmpty
(
req
.
getSupplierList
())){
newSupplierIds
=
new
HashSet
<>(
req
.
getSupplierList
());
}
// 需要新增的供应商关联数据
// 需要新增的供应商关联数据
List
<
SupplierType
>
supplierTypeToAdd
=
new
ArrayList
<>();
List
<
SupplierType
>
supplierTypeToAdd
=
new
ArrayList
<>();
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
View file @
6a3e641c
...
@@ -126,8 +126,8 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -126,8 +126,8 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
boolean
c1
=
true
;
boolean
c1
=
true
;
if
(
ObjectUtil
.
isNotNull
(
order
)){
if
(
ObjectUtil
.
isNotNull
(
order
)){
//设置出入库仓库以及出入库数量
//设置出入库仓库以及出入库数量
List
<
DetailJsonReq
>
detailJson
=
order
.
getDetailJson
();
//
List<DetailJsonReq> detailJson = order.getDetailJson();
String
jsonString
=
JSONObject
.
toJSONString
(
detailJson
);
//
String jsonString = JSONObject.toJSONString(detailJson);
List
<
DetailOrderReq
>
orderDetailList
=
order
.
getOrderDetail
();
List
<
DetailOrderReq
>
orderDetailList
=
order
.
getOrderDetail
();
OrderMain
one
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
OrderMain
one
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
.
eq
(
OrderMain:
:
getId
,
order
.
getId
()));
.
eq
(
OrderMain:
:
getId
,
order
.
getId
()));
...
@@ -136,7 +136,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -136,7 +136,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
one
.
setActualQuantity
(
0
);
one
.
setActualQuantity
(
0
);
}
}
// one.setActualQuantity(order.getActualQuantity()+one.getActualQuantity());
// one.setActualQuantity(order.getActualQuantity()+one.getActualQuantity());
one
.
setDetailJson
(
jsonString
);
//
one.setDetailJson(jsonString);
one
.
setActualQuantity
(
order
.
getActualQuantity
());
one
.
setActualQuantity
(
order
.
getActualQuantity
());
one
.
setOrderState
(
one
.
getOrderState
());
one
.
setOrderState
(
one
.
getOrderState
());
one
.
setOrderState
(
"finished"
);
one
.
setOrderState
(
"finished"
);
...
@@ -152,8 +152,10 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -152,8 +152,10 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
orderDetail
.
setActualNum
(
0
);
orderDetail
.
setActualNum
(
0
);
}
}
// orderDetail.setModifyQuantity(orderDetail.getActualNum()+detailReq.getActualNum());
// orderDetail.setModifyQuantity(orderDetail.getActualNum()+detailReq.getActualNum());
orderDetail
.
setDetailJson
(
JSONObject
.
toJSONString
(
detailReq
.
getDetailJson
()));
orderDetail
.
setModifyQuantity
(
detailReq
.
getActualNum
());
orderDetail
.
setModifyQuantity
(
detailReq
.
getActualNum
());
orderDetail
.
setActualNum
(
detailReq
.
getActualNum
());
orderDetail
.
setActualNum
(
detailReq
.
getActualNum
());
orderDetail
.
setActualTotalPrice
(
detailReq
.
getPrice
());
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
flag
=
true
;
flag
=
true
;
break
;
break
;
...
@@ -162,6 +164,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -162,6 +164,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
if
(!
flag
){
if
(!
flag
){
orderDetail
.
setActualNum
(
0
);
orderDetail
.
setActualNum
(
0
);
orderDetail
.
setModifyQuantity
(
0
);
orderDetail
.
setModifyQuantity
(
0
);
orderDetail
.
setActualTotalPrice
(
BigDecimal
.
ZERO
);
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
}
}
}
}
...
@@ -307,14 +310,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -307,14 +310,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
string
=
string
+
logSummary
.
getLocationName
()+
":出库【"
+
logSummary
.
getEquipmentList
()+
"】,数量:"
+
logSummary
.
getNumber
()+
"\n"
;
string
=
string
+
logSummary
.
getLocationName
()+
":出库【"
+
logSummary
.
getEquipmentList
()+
"】,数量:"
+
logSummary
.
getNumber
()+
"\n"
;
}
}
LogSummary
logSummaryQuick
=
new
LogSummary
();
LogSummary
logSummaryQuick
=
new
LogSummary
();
if
(
logreq
.
getBussinessType
().
equals
(
"quick"
)){
if
(
logreq
.
getBussinessType
().
equals
(
"quick"
)){
//如果是快速出库的同时需要创建快速入库
logSummaryQuick
=
saveLogSummary
(
logreq
,
ordermain
.
getLocationId
(),
ordermain
.
getLocationName
(),
"in"
);
logSummaryQuick
=
saveLogSummary
(
logreq
,
ordermain
.
getLocationId
(),
ordermain
.
getLocationName
(),
"in"
);
sumList
.
add
(
logSummaryQuick
);
sumList
.
add
(
logSummaryQuick
);
stringQuick
=
stringQuick
+
logSummaryQuick
.
getLocationName
()+
":入库【"
+
logSummaryQuick
.
getEquipmentList
()+
"】,数量:"
+
logSummary
.
getNumber
()+
"\n"
;
stringQuick
=
stringQuick
+
logSummaryQuick
.
getLocationName
()+
":入库【"
+
logSummaryQuick
.
getEquipmentList
()+
"】,数量:"
+
logSummary
.
getNumber
()+
"\n"
;
}
}
sumList
.
add
(
logSummary
);
sumList
.
add
(
logSummary
);
logSummaryService
.
saveBatch
(
sumList
);
logSummaryService
.
saveBatch
(
sumList
);
sumList
.
clear
();
Map
<
String
,
String
>
map
=
setState
(
logreq
.
getOutInState
(),
logreq
.
getBussinessType
());
Map
<
String
,
String
>
map
=
setState
(
logreq
.
getOutInState
(),
logreq
.
getBussinessType
());
...
@@ -347,9 +350,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -347,9 +350,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
// }
// }
}
}
//如果是快速移库,那么直接将物资的locationId进行修改
//
//如果是快速移库,那么直接将物资的locationId进行修改
if
(
logreq
.
getBussinessType
().
equals
(
"quick"
)){
if
(
logreq
.
getBussinessType
().
equals
(
"quick"
)){
Inventory
inventory
=
saveInventory
(
logreq
.
getOrgId
(),
logreq
.
getLocationId
(),
logreq
,
detailLogReq
,
map
,
logSummary
.
getOutInState
()
);
Inventory
inventory
=
saveInventory
(
logreq
.
getOrgId
(),
ordermain
.
getLocationId
(),
logreq
,
detailLogReq
,
map
,
"in"
);
inventoryList
.
add
(
inventory
);
inventoryList
.
add
(
inventory
);
}
}
//存放logdetail信息
//存放logdetail信息
...
@@ -404,6 +407,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -404,6 +407,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
LambdaUpdateWrapper
<
Inventory
>
allocateInWrapper1
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
Inventory
>
allocateInWrapper1
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
WarehouseInventory
>
updateStateWrapper2
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
WarehouseInventory
>
updateStateWrapper2
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
WarehouseInventory
>
allocateInWrapper2
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
WarehouseInventory
>
allocateInWrapper2
=
Wrappers
.
lambdaUpdate
();
LambdaQueryWrapper
<
WarehouseInventory
>
destroyOutWrapper
=
Wrappers
.
lambdaQuery
();
for
(
Inventory
inventory:
inventoryList
)
{
for
(
Inventory
inventory:
inventoryList
)
{
if
(
inventory
.
getBussinessType
().
equals
(
"allocate"
)
&&
inventory
.
getLocationState
().
equals
(
"in"
)
&&
!
ObjectUtil
.
isNull
(
ordermain
)){
if
(
inventory
.
getBussinessType
().
equals
(
"allocate"
)
&&
inventory
.
getLocationState
().
equals
(
"in"
)
&&
!
ObjectUtil
.
isNull
(
ordermain
)){
//调拨入库
//调拨入库
...
@@ -426,7 +430,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -426,7 +430,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
.
set
(
WarehouseInventory:
:
getOrgId
,
null
)
.
set
(
WarehouseInventory:
:
getOrgId
,
null
)
.
set
(
WarehouseInventory:
:
getLocationId
,
null
)
.
set
(
WarehouseInventory:
:
getLocationId
,
null
)
.
set
(
WarehouseInventory:
:
getLocationState
,
"out"
);
.
set
(
WarehouseInventory:
:
getLocationState
,
"out"
);
}
else
{
}
else
if
(
inventory
.
getBussinessType
().
equals
(
"destruction"
)){
updateStateWrapper1
.
or
().
eq
(
Inventory:
:
getEpc
,
inventory
.
getEpc
())
.
set
(
Inventory:
:
getLocationState
,
"out"
)
.
set
(
Inventory:
:
getBussinessState
,
"destruction"
)
.
set
(
Inventory:
:
getLocationId
,
inventory
.
getLocationId
())
.
set
(
Inventory:
:
getState
,
"destory"
);
destroyOutWrapper
.
or
().
eq
(
WarehouseInventory:
:
getEpc
,
inventory
.
getEpc
());
}
else
{
//其他情况
//其他情况
if
(
inventory
.
getBussinessType
().
equals
(
"quick"
)){
if
(
inventory
.
getBussinessType
().
equals
(
"quick"
)){
updateStateWrapper1
.
or
().
eq
(
Inventory:
:
getEpc
,
inventory
.
getEpc
())
updateStateWrapper1
.
or
().
eq
(
Inventory:
:
getEpc
,
inventory
.
getEpc
())
...
@@ -446,8 +457,10 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -446,8 +457,10 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
updateStateWrapper2
.
or
().
eq
(
WarehouseInventory:
:
getEpc
,
inventory
.
getEpc
())
updateStateWrapper2
.
or
().
eq
(
WarehouseInventory:
:
getEpc
,
inventory
.
getEpc
())
.
set
(
WarehouseInventory:
:
getLocationState
,
inventory
.
getLocationState
());
.
set
(
WarehouseInventory:
:
getLocationState
,
inventory
.
getLocationState
());
}
}
}
}
}
}
...
@@ -458,7 +471,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -458,7 +471,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
warehouseInventoryService
.
update
(
updateStateWrapper2
);
warehouseInventoryService
.
update
(
updateStateWrapper2
);
}
}
System
.
out
.
println
(
1111
);
if
(!
allocateInWrapper1
.
isEmptyOfWhere
()){
if
(!
allocateInWrapper1
.
isEmptyOfWhere
()){
inventoryService
.
update
(
allocateInWrapper1
);
inventoryService
.
update
(
allocateInWrapper1
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
View file @
6a3e641c
...
@@ -22,6 +22,7 @@ import com.junmp.jyzb.api.bean.vo.InOrderInfo;
...
@@ -22,6 +22,7 @@ import com.junmp.jyzb.api.bean.vo.InOrderInfo;
import
com.junmp.jyzb.api.exception.JYZBAppException
;
import
com.junmp.jyzb.api.exception.JYZBAppException
;
import
com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum
;
import
com.junmp.jyzb.cache.MsgRedisCache
;
import
com.junmp.jyzb.cache.MsgRedisCache
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.mapper.InventorySummaryMapper
;
import
com.junmp.jyzb.mapper.InventorySummaryMapper
;
...
@@ -150,9 +151,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -150,9 +151,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Override
@Override
public
List
<
String
>
AddOrder
(
UpdateOrderReq
req
)
{
public
List
<
String
>
AddOrder
(
UpdateOrderReq
req
)
{
//判断该单子是否是销毁出库单,如果是,则直接查询然后相应的库存进行修改,如果库存不足的情况下直接抛出异常提示
//判断该单子是否是销毁出库单,如果是,则直接查询然后相应的库存进行修改,如果库存不足的情况下直接抛出异常提示
if
(
req
.
getBussinessType
().
equals
(
"destruction"
)
&&
ObjectUtil
.
isNotEmpty
(
req
.
getProcessDefinitionId
())){
//
if (req.getBussinessType().equals("destruction") && ObjectUtil.isNotEmpty(req.getProcessDefinitionId())){
Boolean
aBoolean
=
addOrRevokeAgentDestructionNum
(
req
);
//
Boolean aBoolean= addOrRevokeAgentDestructionNum(req);
}
//
}
//修改单据使用次数状态,判断数据库是否有该单据,如果有,那么就判断当前单号是否一致,如果不一致,修改单据使用次数
//修改单据使用次数状态,判断数据库是否有该单据,如果有,那么就判断当前单号是否一致,如果不一致,修改单据使用次数
Long
orgId
=
0L
;
Long
orgId
=
0L
;
OrderMain
one
=
null
;
OrderMain
one
=
null
;
...
@@ -227,7 +228,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -227,7 +228,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
detail
.
setType
(
order
.
getOrderType
());
detail
.
setType
(
order
.
getOrderType
());
//将数量和价格进行累加
//将数量和价格进行累加
sumNum
+=
detail
.
getPlanNum
();
sumNum
+=
detail
.
getPlanNum
();
priceTotal
=
priceTotal
.
add
(
BigDecimal
.
valueOf
(
detail
.
getPlanNum
()).
multiply
(
detail
.
getPrice
()))
;
priceTotal
=
priceTotal
.
add
(
BigDecimal
.
valueOf
(
detail
.
getPlanNum
()).
multiply
(
detail
.
getP
lanTotalP
rice
()))
;
detail
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
detail
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
String
productionDate
=
listReq
.
getProductionDate
();
String
productionDate
=
listReq
.
getProductionDate
();
if
(
ObjectUtil
.
isNotNull
(
productionDate
)
&&
!
productionDate
.
trim
().
isEmpty
()){
if
(
ObjectUtil
.
isNotNull
(
productionDate
)
&&
!
productionDate
.
trim
().
isEmpty
()){
...
@@ -265,7 +266,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -265,7 +266,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
processInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
processInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
}
else
if
(
req
.
getBussinessType
().
equals
(
"quick"
)
&&
req
.
getExamineState
().
equals
(
"working"
)){
//快速移库单
}
else
if
(
req
.
getBussinessType
().
equals
(
"quick"
)
&&
req
.
getExamineState
().
equals
(
"working"
)){
//快速移库单
startProcessInstanceDTO
.
setTypeOrder
(
"quickOrder"
);
startProcessInstanceDTO
.
setTypeOrder
(
"quickOrder"
);
processInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
processInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
...
@@ -276,17 +276,17 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -276,17 +276,17 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
}
}
//如果是销毁出库,并且有审核流,那么直接将库存汇总信息进行修改
//如果是销毁出库,并且有审核流,那么直接将库存汇总信息进行修改
if
(
req
.
getExamineState
().
equals
(
"working"
)
&&
req
.
getBussinessType
().
equals
(
"destruction"
)){
//
if (req.getExamineState().equals("working") && req.getBussinessType().equals("destruction")){
List
<
InventorySummary
>
inventorySummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
searchItem
);
//
List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSumByItems(searchItem);
for
(
UpdateOrderDetailReq
dq:
req
.
getDetailList
())
{
//
for (UpdateOrderDetailReq dq:req.getDetailList()) {
for
(
InventorySummary
is:
inventorySummaryList
)
{
//
for (InventorySummary is:inventorySummaryList) {
if
(
is
.
getLocationId
().
equals
(
dq
.
getWarehouseId
())
&&
is
.
getTypeId
().
equals
(
dq
.
getTypeId
())
//
if (is.getLocationId().equals(dq.getWarehouseId()) && is.getTypeId().equals(dq.getTypeId())
&&
is
.
getSizeId
().
equals
(
dq
.
getSizeId
())
&&
is
.
getUnitPrice
().
compareTo
(
dq
.
getPrice
())==
0
){
//
&& is.getSizeId().equals(dq.getSizeId()) && is.getUnitPrice().compareTo(dq.getPrice())==0){
//
}
//
}
}
//
}
}
//
}
}
//
}
//list返回数据
//list返回数据
List
<
String
>
list
=
new
ArrayList
<>();
List
<
String
>
list
=
new
ArrayList
<>();
...
@@ -359,7 +359,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -359,7 +359,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for
(
InventorySummary
is:
inventorySummaryList
)
{
for
(
InventorySummary
is:
inventorySummaryList
)
{
if
(
detialReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
detialReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
if
(
detialReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
detialReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
detialReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
detialReq
.
getPrice
(
).
compareTo
(
is
.
getUnitPrice
())==
0
){
&&
detialReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
new
BigDecimal
(
detialReq
.
getPrice
()
).
compareTo
(
is
.
getUnitPrice
())==
0
){
if
(
ObjectUtil
.
isNull
(
is
.
getDestructionNumber
())){
if
(
ObjectUtil
.
isNull
(
is
.
getDestructionNumber
())){
is
.
setDestructionNumber
(
0
);
is
.
setDestructionNumber
(
0
);
...
@@ -810,191 +810,132 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -810,191 +810,132 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.
eq
(
OrderDetail:
:
getOrderId
,
req
.
getId
())
.
eq
(
OrderDetail:
:
getOrderId
,
req
.
getId
())
.
orderByDesc
(
OrderDetail:
:
getCreateTime
));
.
orderByDesc
(
OrderDetail:
:
getCreateTime
));
}
}
String
detailJson
=
orderMain
.
getDetailJson
();
List
<
DetailJsonReq
>
detailJsonReqs
=
JSONObject
.
parseArray
(
detailJson
,
DetailJsonReq
.
class
);
List
<
OrderDetailDto
>
orderDetailDtoList
=
new
ArrayList
<>();
List
<
OrderDetailDto
>
orderDetailDtoList
=
new
ArrayList
<>();
//直接将数据库中的子单进行遍历,将orderMain中的具体detailjson进行解析并且重新修改子单的实际出入库数量,在将实际出入库信息存放到子单的child中返回给前端
Map
<
String
,
DetailJsonReq
>
summaryMap
=
new
HashMap
<>();
//遍历第一遍(确保号型一致,类型一致,价格一致的情况下该出入库信息存在该子单据中)
for
(
OrderDetail
orderDetail:
list
)
{
for
(
OrderDetail
orderDetail:
list
)
{
OrderDetailDto
orderDetailDto
=
new
OrderDetailDto
();
OrderDetailDto
orderDetailDto
=
new
OrderDetailDto
();
BeanPlusUtil
.
copyProperties
(
orderDetail
,
orderDetailDto
);
BeanPlusUtil
.
copyProperties
(
orderDetail
,
orderDetailDto
);
if
(
CollectionUtil
.
isNotEmpty
(
detailJsonReqs
)){
String
detailJson
=
orderDetail
.
getDetailJson
();
for
(
int
i
=
0
;
i
<
detailJsonReqs
.
size
();
i
++)
{
List
<
DetailJsonReq
>
detailJsonReqs
=
JSONObject
.
parseArray
(
detailJson
,
DetailJsonReq
.
class
);
DetailJsonReq
detailReq
=
detailJsonReqs
.
get
(
i
);
orderDetailDto
.
setChildJson
(
detailJsonReqs
);
if
(
detailReq
.
getTypeId
().
equals
(
orderDetail
.
getTypeId
())
&&
detailReq
.
getSizeId
().
equals
(
orderDetail
.
getSizeId
())
&&
detailReq
.
getPrice
().
compareTo
(
orderDetail
.
getPrice
())==
0
){
//如果类型、号型、单价与子单一致,那么直接存在子单中
List
<
DetailJsonReq
>
childJson
=
orderDetailDto
.
getChildJson
();
if
(
CollectionUtil
.
isEmpty
(
childJson
)){
List
<
DetailJsonReq
>
list1
=
new
ArrayList
<>();
list1
.
add
(
detailReq
);
orderDetailDto
.
setChildJson
(
list1
);
}
else
{
childJson
.
add
(
detailReq
);
orderDetailDto
.
setChildJson
(
childJson
);
}
detailJsonReqs
.
remove
(
detailReq
);
i
--;
}
}
}
else
{
orderDetailDto
.
setChildJson
(
new
ArrayList
<>());
}
orderDetailDtoList
.
add
(
orderDetailDto
);
orderDetailDtoList
.
add
(
orderDetailDto
);
}
}
//遍历第二遍,将剩余多的单子存放到sizeId和typeId一样的第一个子单中去
if
(
CollectionUtil
.
isNotEmpty
(
detailJsonReqs
)){
for
(
OrderDetailDto
dto:
orderDetailDtoList
)
{
for
(
int
i
=
0
;
i
<
detailJsonReqs
.
size
();
i
++)
{
DetailJsonReq
deReq
=
detailJsonReqs
.
get
(
i
);
if
(
dto
.
getTypeId
().
equals
(
deReq
.
getTypeId
())
&&
dto
.
getSizeId
().
equals
(
deReq
.
getSizeId
())){
List
<
DetailJsonReq
>
childJson
=
dto
.
getChildJson
();
if
(
CollectionUtil
.
isEmpty
(
childJson
)){
List
<
DetailJsonReq
>
list1
=
new
ArrayList
<>();
list1
.
add
(
deReq
);
dto
.
setChildJson
(
list1
);
}
else
{
childJson
.
add
(
deReq
);
dto
.
setChildJson
(
childJson
);
}
detailJsonReqs
.
remove
(
deReq
);
i
--;
}
}
}
}
//遍历第三遍(将每个childJson进行汇总,并且将具体存放到每个childDetailJson中去)
for
(
OrderDetailDto
dto:
orderDetailDtoList
)
{
//具体的值
List
<
DetailJsonReq
>
childJson
=
dto
.
getChildJson
();
//最终存储数据list
List
<
DetailJsonReq
>
detailList
=
new
ArrayList
<>();
//第二层数据
List
<
DetailJsonReq
>
filteredValues
=
new
ArrayList
<>();
for
(
DetailJsonReq
dReq:
childJson
)
{
String
key
=
dReq
.
getLocationId
()
+
"_"
+
dReq
.
getSizeId
()
+
"_"
+
dReq
.
getTypeId
();
DetailJsonReq
summary
=
summaryMap
.
get
(
key
);
if
(
summary
==
null
)
{
summary
=
new
DetailJsonReq
();
summary
.
setLocationId
(
dReq
.
getLocationId
());
summary
.
setLocationName
(
dReq
.
getLocationName
());
summary
.
setSizeId
(
dReq
.
getSizeId
());
summary
.
setTypeId
(
dReq
.
getTypeId
());
detailList
.
add
(
dReq
);
summary
.
setChildDetailJson
(
detailList
);
summaryMap
.
put
(
key
,
summary
);
}
// 汇总数量
if
(
dReq
.
getNum
()
!=
null
)
{
Integer
newNum
=
summary
.
getNum
()
!=
null
?
summary
.
getNum
()
+
dReq
.
getNum
()
:
dReq
.
getNum
();
summary
.
setNum
(
newNum
);
summary
.
setModifyQuantity
(
newNum
);
}
// 汇总子数据
if
(
dReq
.
getChildDetailJson
()
!=
null
)
{
detailList
.
add
(
dReq
);
summary
.
getChildDetailJson
().
addAll
(
detailList
);
}
if
(!
summaryMap
.
isEmpty
()){
filteredValues
=
summaryMap
.
entrySet
().
stream
()
.
filter
(
entry
->
{
String
[]
keyParts
=
entry
.
getKey
().
split
(
"_"
);
String
typeId
=
keyParts
[
2
];
String
sizeId
=
keyParts
[
1
];
String
locationId
=
keyParts
[
0
];
return
typeId
.
equals
(
dReq
.
getTypeId
())
&&
sizeId
.
equals
(
dto
.
getSizeId
())
&&
locationId
.
equals
(
dReq
.
getLocationId
());
})
.
map
(
Map
.
Entry
::
getValue
)
.
collect
(
Collectors
.
toList
());
}
}
dto
.
setChildJson
(
filteredValues
);
summaryMap
.
clear
();
}
// String detailJson = orderMain.getDetailJson();
// List<DetailJsonReq> detailJsonReqs = JSONObject.parseArray(detailJson, DetailJsonReq.class);
// //我先遍历一遍,
// List<OrderDetailDto> orderDetailDtoList=new ArrayList<>();
// //直接将数据库中的子单进行遍历,将orderMain中的具体detailjson进行解析并且重新修改子单的实际出入库数量,在将实际出入库信息存放到子单的child中返回给前端
// Map<String, DetailJsonReq> summaryMap = new HashMap<>();
// //遍历第一遍(确保号型一致,类型一致,价格一致的情况下该出入库信息存在该子单据中)
// for (OrderDetail orderDetail:list) {
// for (OrderDetail orderDetail:list) {
// OrderDetailDto orderDetailDto = new OrderDetailDto();
// OrderDetailDto orderDetailDto = new OrderDetailDto();
// BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
// BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
// //遍历detailJson将不同的locationId,sizeId,typeId,price作为唯一的键进行存储,并且存放至map中
// if (CollectionUtil.isNotEmpty(detailJsonReqs)){
//
// for (int i = 0; i < detailJsonReqs.size(); i++) {
// DetailJsonReq detailReq = detailJsonReqs.get(i);
// if (detailReq.getTypeId().equals(orderDetail.getTypeId())
// && detailReq.getSizeId().equals(orderDetail.getSizeId())
// && detailReq.getPrice().compareTo(orderDetail.getPrice())==0){//如果类型、号型、单价与子单一致,那么直接存在子单中
// List<DetailJsonReq> childJson = orderDetailDto.getChildJson();
// if (CollectionUtil.isEmpty(childJson)){
// List<DetailJsonReq> list1=new ArrayList<>();
// list1.add(detailReq);
// orderDetailDto.setChildJson(list1);
// }else {
// childJson.add(detailReq);
// orderDetailDto.setChildJson(childJson);
// }
// detailJsonReqs.remove(detailReq);
// i--;
//
//
// }
// }
//
//
// if (!summaryMap.isEmpty()){
// }else {
// filteredValues = summaryMap.entrySet().stream()
// orderDetailDto.setChildJson(new ArrayList<>());
// .filter(entry -> {
// String[] keyParts = entry.getKey().split("_");
// String typeId = keyParts[2];
// String sizeId = keyParts[1];
// String price = keyParts[3];
// return typeId.equals(orderDetail.getTypeId()) && sizeId.equals(orderDetail.getSizeId())
// && new BigDecimal(price).compareTo(orderDetail.getPrice())==0;
// })
// .map(Map.Entry::getValue)
// .collect(Collectors.toList());
// }
// }
//
//
// orderDetailDto.setChildJson(filteredValues);
// summaryMap.remove(orderDetail.getWarehouseId() + "_" + orderDetail.getSizeId() + "_" + orderDetail.getTypeId()+"_"+orderDetail.getPrice());
// int sum = filteredValues.stream()
// .mapToInt(DetailJsonReq::getNum) // 获取每个对象的num属性值
// .sum();
// orderDetailDto.setActualNum(sum);
// orderDetailDto.setModifyQuantity(sum);
// orderDetail.setActualNum(sum);
// orderDetail.setModifyQuantity(sum);
// orderDetailDtoList.add(orderDetailDto);
// orderDetailDtoList.add(orderDetailDto);
// }
// }
// //如果不相同,则表示存在不属于子单据数据,号型相等类型相等就是单价不相等,那么我要做的就是去掉price维度,重新遍历一遍子单,将typeid和sizeid满足条件的第一个的数量进行添加上去
// //遍历第二遍,将剩余多的单子存放到sizeId和typeId一样的第一个子单中去
// if (!summaryMap.isEmpty()){
// if (CollectionUtil.isNotEmpty(detailJsonReqs)){
// //需要进行两次双重循环,一次是返回前端,一次是更新数据库
// for (OrderDetailDto dto:orderDetailDtoList) {
// for (String key:summaryMap.keySet()) {
// for (int i = 0; i < detailJsonReqs.size(); i++) {
// String[] keyParts = key.split("_");
// DetailJsonReq deReq = detailJsonReqs.get(i);
// String typeId = keyParts[2];
// if (dto.getTypeId().equals(deReq.getTypeId()) && dto.getSizeId().equals(deReq.getSizeId())){
// String sizeId = keyParts[1];
// List<DetailJsonReq> childJson = dto.getChildJson();
// DetailJsonReq detailJsonReq = summaryMap.get(key);
// if (CollectionUtil.isEmpty(childJson)){
// for (OrderDetailDto orderDetailDto:orderDetailDtoList) {
// List<DetailJsonReq> list1=new ArrayList<>();
// if (orderDetailDto.getSizeId().equals(sizeId)&& orderDetailDto.getTypeId().equals(typeId)){
// list1.add(deReq);
// orderDetailDto.setActualNum(orderDetailDto.getActualNum()+detailJsonReq.getNum());
// dto.setChildJson(list1);
// orderDetailDto.setModifyQuantity(orderDetailDto.getModifyQuantity()+detailJsonReq.getNum());
// List<DetailJsonReq> childJson=new ArrayList<>();
// if (CollectionUtil.isNotEmpty(orderDetailDto.getChildJson())){
// childJson = orderDetailDto.getChildJson();
// childJson.add(detailJsonReq);
// orderDetailDto.setChildJson(childJson);
// }else {
// }else {
// childJson.add(de
tailJson
Req);
// childJson.add(deReq);
//
orderDetailD
to.setChildJson(childJson);
//
d
to.setChildJson(childJson);
// }
// }
// break;
// detailJsonReqs.remove(deReq);
// i--;
// }
// }
//
// }
// }
//
//
// }
// }
// //遍历第三遍(将每个childJson进行汇总,并且将具体存放到每个childDetailJson中去)
// for (OrderDetailDto dto:orderDetailDtoList) {
// //具体的值
// List<DetailJsonReq> childJson = dto.getChildJson();
// //最终存储数据list
// List<DetailJsonReq> detailList=new ArrayList<>();
// //第二层数据
// List<DetailJsonReq> filteredValues=new ArrayList<>();
// for (DetailJsonReq dReq:childJson) {
// String key = dReq.getLocationId() + "_" + dReq.getSizeId() + "_" + dReq.getTypeId();
// DetailJsonReq summary = summaryMap.get(key);
// if (summary == null) {
// summary = new DetailJsonReq();
// summary.setLocationId(dReq.getLocationId());
// summary.setLocationName(dReq.getLocationName());
// summary.setSizeId(dReq.getSizeId());
// summary.setTypeId(dReq.getTypeId());
// detailList.add(dReq);
// summary.setChildDetailJson(detailList);
// summaryMap.put(key, summary);
// }
// // 汇总数量
// if (dReq.getNum() != null) {
// Integer newNum = summary.getNum() != null ? summary.getNum() + dReq.getNum() : dReq.getNum();
// summary.setNum(newNum);
// summary.setModifyQuantity(newNum);
// }
// }
// for (String key:summaryMap.keySet()) {
// String[] keyParts = key.split("_");
// String typeId = keyParts[2];
// String sizeId = keyParts[1];
// DetailJsonReq detailJsonReq = summaryMap.get(key);
//
//
// for (OrderDetail orderDetail:list) {
// // 汇总子数据
// if (orderDetail.getSizeId().equals(sizeId)&& orderDetail.getTypeId().equals(typeId)){
// if (dReq.getChildDetailJson() != null) {
// orderDetail.setActualNum(orderDetail.getActualNum()+detailJsonReq.getNum());
// detailList.add(dReq);
// orderDetail.setModifyQuantity(orderDetail.getModifyQuantity()+detailJsonReq.getNum());
// summary.getChildDetailJson().addAll(detailList);
// break;
// }
// }
// if (!summaryMap.isEmpty()){
// filteredValues = summaryMap.entrySet().stream()
// .filter(entry -> {
// String[] keyParts = entry.getKey().split("_");
// String typeId = keyParts[2];
// String sizeId = keyParts[1];
// String locationId = keyParts[0];
// return typeId.equals(dReq.getTypeId()) && sizeId.equals(dto.getSizeId()) && locationId.equals(dReq.getLocationId());
// })
// .map(Map.Entry::getValue)
// .collect(Collectors.toList());
// }
// }
// }
// }
// dto.setChildJson(filteredValues);
//
// summaryMap.clear();
//
// }
// }
orderDto
.
setDetailList
(
orderDetailDtoList
);
orderDto
.
setDetailList
(
orderDetailDtoList
);
return
orderDto
;
return
orderDto
;
}
}
...
@@ -1032,10 +973,17 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1032,10 +973,17 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
boolean
Accounting
(
UpdateOrderReq
req
)
{
public
boolean
Accounting
(
UpdateOrderReq
req
)
{
//将组织机构下面的所有仓库进行查询
//判断传递的订单主id是否存在
//判断传递的订单主id是否存在
OrderMain
orderMain
=
orderMainExist
(
req
.
getId
());
OrderMain
orderMain
=
orderMainExist
(
req
.
getId
());
List
<
DetailJsonReq
>
childJsonList
=
new
ArrayList
<>();
List
<
Warehouse
>
warehouseList
=
warehouseService
.
list
(
new
LambdaQueryWrapper
<
Warehouse
>().
eq
(
Warehouse:
:
getOrgId
,
orderMain
.
getOrderType
().
equals
(
"in"
)
?
orderMain
.
getEndOrgId
()
:
orderMain
.
getStartOrgId
()));
Map
<
String
,
Warehouse
>
warehouseMap
=
new
HashMap
<>();
warehouseList
.
forEach
(
warehouse
->
warehouseMap
.
put
(
warehouse
.
getId
(),
warehouse
));
// List<DetailJsonReq> childJsonList=new ArrayList<>();
// String detailJson = orderMain.getDetailJson();
// String detailJson = orderMain.getDetailJson();
//出入库传递的具体汇总信息
//出入库传递的具体汇总信息
// List<DetailJsonReq> detailJsonList = JSONObject.parseArray(detailJson, DetailJsonReq.class);
// List<DetailJsonReq> detailJsonList = JSONObject.parseArray(detailJson, DetailJsonReq.class);
...
@@ -1077,6 +1025,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1077,6 +1025,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for
(
UpdateOrderDetailReq
uploadDetailReq
:
reqList
)
{
for
(
UpdateOrderDetailReq
uploadDetailReq
:
reqList
)
{
OrderDetail
orderDetail
=
new
OrderDetail
();
OrderDetail
orderDetail
=
new
OrderDetail
();
BeanPlusUtil
.
copyProperties
(
uploadDetailReq
,
orderDetail
);
BeanPlusUtil
.
copyProperties
(
uploadDetailReq
,
orderDetail
);
List
<
DetailJsonReq
>
JsonList
=
uploadDetailReq
.
getChildJson
();
String
jsonString
=
JSONObject
.
toJSONString
(
JsonList
);
orderDetail
.
setDetailJson
(
jsonString
);
if
(
ObjectUtil
.
isNull
(
uploadDetailReq
.
getActualNum
())){
if
(
ObjectUtil
.
isNull
(
uploadDetailReq
.
getActualNum
())){
uploadDetailReq
.
setActualNum
(
0
);
uploadDetailReq
.
setActualNum
(
0
);
}
}
...
@@ -1084,151 +1035,98 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1084,151 +1035,98 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if
(
ObjectUtil
.
isNull
(
uploadDetailReq
.
getModifyQuantity
())){
if
(
ObjectUtil
.
isNull
(
uploadDetailReq
.
getModifyQuantity
())){
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDER_NUM_IS_NULL
);
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDER_NUM_IS_NULL
);
}
}
Inventory
inventory
=
new
Inventory
();
WarehouseInventory
warehouseInventory
=
new
WarehouseInventory
();
if
(
uploadDetailReq
.
getModifyQuantity
()
>=
0
){
if
(
uploadDetailReq
.
getModifyQuantity
()
>=
0
){
//记账内容
//记账内容
List
<
DetailJsonReq
>
childJson
=
uploadDetailReq
.
getChildJson
();
// List<DetailJsonReq> childJson = uploadDetailReq.getChildJson();
for
(
DetailJsonReq
detailJsonReq:
childJson
)
{
for
(
DetailJsonReq
detailJsonReq:
JsonList
)
{
detailJsonReq
.
setSizeName
(
uploadDetailReq
.
getSizeName
());
if
(!
warehouseMap
.
isEmpty
()){
detailJsonReq
.
setTypeName
(
uploadDetailReq
.
getTypeName
());
//判断是否有key存在,如果没有直接报错
//为了记账时如果数量不一致取单据的单价进行计算,其他没有任何意义
boolean
b
=
warehouseMap
.
containsKey
(
detailJsonReq
.
getLocationId
());
detailJsonReq
.
setPrice
(
uploadDetailReq
.
getPrice
());
if
(
b
){
//判断改仓库是否处于锁库状态,如果是提示错误仓库正在锁库中
Warehouse
warehouse
=
warehouseMap
.
get
(
detailJsonReq
.
getLocationId
());
if
(
warehouse
.
getIsLocked
()){
throw
new
ServiceException
(
WarehouseExceptionEnum
.
WAREHOUSE_IS_LOCKED
);
}
}
childJsonList
.
addAll
(
childJson
);
//修改单子数量数量
orderDetail
.
setModifyQuantity
(
uploadDetailReq
.
getModifyQuantity
());
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
orderDetailList
.
add
(
orderDetail
);
updateQuantity
+=
orderDetail
.
getModifyQuantity
();
}
else
{
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDERDETAIL_ERROR
);
}
}
}
}
//记账差值
int
subNum
=
detailJsonReq
.
getModifyQuantity
()-
detailJsonReq
.
getNum
();
//遍历childJsonList
detailJsonReq
.
setSizeName
(
uploadDetailReq
.
getSizeName
());
for
(
DetailJsonReq
jsonReq:
childJsonList
)
{
detailJsonReq
.
setTypeName
(
uploadDetailReq
.
getTypeName
());
List
<
DetailJsonReq
>
childDetailJsonList
=
jsonReq
.
getChildDetailJson
();
//添加list为修改库存Summary
Integer
num
=
0
;
BigDecimal
price
=
BigDecimal
.
ZERO
;
//遍历orderMian中的detailJson
boolean
flag
=
false
;
//如果记账数量大于实际出库数量并且实际出库数量与单子的金额都不一致的情况,那么我直接添加单子的数据进行记账
boolean
tap
=
false
;
int
sum
=
childDetailJsonList
.
stream
()
.
mapToInt
(
DetailJsonReq:
:
getNum
)
// 获取每个对象的num属性值
.
sum
();
if
(
jsonReq
.
getModifyQuantity
()>
sum
){
//默认记账数量与识别数量一致并且不能小于实际出入库数量
flag
=
true
;
}
int
i
=
jsonReq
.
getModifyQuantity
()
-
sum
;
for
(
DetailJsonReq
detail:
childDetailJsonList
)
{
num
=
detail
.
getNum
();
price
=
detail
.
getPrice
();
UpdateOrderDetailReq
data
=
new
UpdateOrderDetailReq
();
data
.
setActualNum
(
detail
.
getNum
());
data
.
setWarehouseId
(
jsonReq
.
getLocationId
());
data
.
setWarehouseName
(
jsonReq
.
getLocationName
());
data
.
setSizeId
(
jsonReq
.
getSizeId
());
data
.
setTypeId
(
jsonReq
.
getTypeId
());
data
.
setPrice
(
detail
.
getPrice
());
data
.
setProperty
(
detail
.
getProperty
());
data
.
setSizeName
(
jsonReq
.
getSizeName
());
data
.
setTypeName
(
jsonReq
.
getTypeName
());
data
.
setModifyQuantity
(
detail
.
getNum
());
orderDetailReqList
.
add
(
data
);
if
(
flag
&&
detail
.
getPrice
().
compareTo
(
jsonReq
.
getPrice
())==
0
){
//如果记账多记了并且存在相同的价格,那么数量直接相加
s
=
s
+
jsonReq
.
getLocationName
()+
"--"
+
jsonReq
.
getTypeName
()+
"【"
+
jsonReq
.
getSizeName
()+
"】,单价:"
+
price
+
",数量实入:"
+
detail
.
getNum
()+
",记账:"
+(
detail
.
getNum
()+
i
)+
"\n"
;
}
else
if
(
flag
&&
detail
.
getPrice
().
compareTo
(
jsonReq
.
getPrice
())!=
0
){
s
=
s
+
jsonReq
.
getLocationName
()+
"--"
+
jsonReq
.
getTypeName
()+
"【"
+
jsonReq
.
getSizeName
()+
"】,单价:"
+
price
+
",数量实入:"
+
num
+
",记账:"
+
detail
.
getNum
()+
"\n"
;
}
else
if
(!
flag
)
{
s
=
s
+
jsonReq
.
getLocationName
()+
"--"
+
jsonReq
.
getTypeName
()+
"【"
+
jsonReq
.
getSizeName
()+
"】,单价:"
+
price
+
",数量实入:"
+
num
+
",记账:"
+
detail
.
getNum
()+
"\n"
;
tap
=
true
;
}
}
if
(!
tap
){
UpdateOrderDetailReq
data
=
new
UpdateOrderDetailReq
();
UpdateOrderDetailReq
data
=
new
UpdateOrderDetailReq
();
data
.
setActualNum
(
0
);
data
.
setActualNum
(
detailJsonReq
.
getNum
()
);
data
.
setWarehouseId
(
j
sonReq
.
getLocationId
());
data
.
setWarehouseId
(
detailJ
sonReq
.
getLocationId
());
data
.
setWarehouseName
(
j
sonReq
.
getLocationName
());
data
.
setWarehouseName
(
detailJ
sonReq
.
getLocationName
());
data
.
setSizeId
(
j
sonReq
.
getSizeId
());
data
.
setSizeId
(
detailJ
sonReq
.
getSizeId
());
data
.
setTypeId
(
j
sonReq
.
getTypeId
());
data
.
setTypeId
(
detailJ
sonReq
.
getTypeId
());
data
.
setPrice
(
jsonReq
.
getPrice
());
data
.
setPrice
(
detailJsonReq
.
getPrice
().
toString
());
data
.
setProperty
(
0
);
data
.
setProperty
(
detailJsonReq
.
getProperty
()
);
data
.
setSizeName
(
j
sonReq
.
getSizeName
());
data
.
setSizeName
(
detailJ
sonReq
.
getSizeName
());
data
.
setTypeName
(
j
sonReq
.
getTypeName
());
data
.
setTypeName
(
detailJ
sonReq
.
getTypeName
());
data
.
setModifyQuantity
(
sum
);
data
.
setModifyQuantity
(
detailJsonReq
.
getModifyQuantity
()
);
orderDetailReqList
.
add
(
data
);
orderDetailReqList
.
add
(
data
);
}
//添加出入库日志记录
s
=
s
+
detailJsonReq
.
getLocationName
()+
"--"
+
detailJsonReq
.
getTypeName
()+
"【"
+
detailJsonReq
.
getSizeName
()+
"】,单价:"
+
detailJsonReq
.
getPrice
()+
",数量实入:"
+
detailJsonReq
.
getNum
()+
",记账:"
+
detailJsonReq
.
getModifyQuantity
()+
"\n"
;
Inventory
inventory
=
new
Inventory
();
WarehouseInventory
warehouseInventory
=
new
WarehouseInventory
();
if
(
ObjectUtil
.
isNull
(
jsonReq
.
getModifyQuantity
())
){
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDER_NUM_IS_NULL
);
}
if
(
i
>
0
){
if
(
subNum
>
0
){
//实际出库或者入库数量大于实际数量,则对空数据进行增删改查
//实际出库或者入库数量大于实际数量,则对空数据进行增删改查
if
(
orderMain
.
getOrderType
().
equals
(
"in"
)){
//入库
if
(
orderMain
.
getOrderType
().
equals
(
"in"
)){
//入库
for
(
int
j
=
0
;
j
<
i
;
i
++)
{
for
(
int
j
=
0
;
j
<
subNum
;
j
++)
{
inventory
.
setEpc
(
"0"
);
inventory
.
setEpc
(
"0"
);
inventory
.
setLocationId
(
j
sonReq
.
getLocationId
());
inventory
.
setLocationId
(
detailJ
sonReq
.
getLocationId
());
inventory
.
setSizeId
(
j
sonReq
.
getSizeId
());
inventory
.
setSizeId
(
detailJ
sonReq
.
getSizeId
());
inventory
.
setTypeId
(
j
sonReq
.
getTypeId
());
inventory
.
setTypeId
(
detailJ
sonReq
.
getTypeId
());
inventory
.
setOrgId
(
orderMain
.
getEndOrgId
());
inventory
.
setOrgId
(
orderMain
.
getEndOrgId
());
inventory
.
setLocationType
(
0
);
inventory
.
setLocationType
(
0
);
inventory
.
setPrice
(
j
sonReq
.
getPrice
());
inventory
.
setPrice
(
detailJ
sonReq
.
getPrice
());
inventory
.
setProperty
(
0
);
inventory
.
setProperty
(
0
);
addInvList
.
add
(
inventory
);
addInvList
.
add
(
inventory
);
warehouseInventory
.
setOrgId
(
orderMain
.
getEndOrgId
());
warehouseInventory
.
setOrgId
(
orderMain
.
getEndOrgId
());
warehouseInventory
.
setLocationId
(
j
sonReq
.
getLocationId
());
warehouseInventory
.
setLocationId
(
detailJ
sonReq
.
getLocationId
());
warehouseInventory
.
setTypeId
(
j
sonReq
.
getTypeId
());
warehouseInventory
.
setTypeId
(
detailJ
sonReq
.
getTypeId
());
warehouseInventory
.
setSizeId
(
j
sonReq
.
getSizeId
());
warehouseInventory
.
setSizeId
(
detailJ
sonReq
.
getSizeId
());
warehouseInventory
.
setLocationType
(
"0"
);
warehouseInventory
.
setLocationType
(
"0"
);
addWareInvList
.
add
(
warehouseInventory
);
addWareInvList
.
add
(
warehouseInventory
);
}
}
}
else
{
//出库
}
else
{
//出库
List
<
Inventory
>
list1
=
inventoryService
.
list
(
new
LambdaQueryWrapper
<
Inventory
>()
List
<
Inventory
>
list1
=
inventoryService
.
list
(
new
LambdaQueryWrapper
<
Inventory
>()
.
eq
(
Inventory:
:
getEpc
,
"0"
)
.
eq
(
Inventory:
:
getEpc
,
"0"
)
.
eq
(
Inventory:
:
getLocationId
,
j
sonReq
.
getLocationId
())
.
eq
(
Inventory:
:
getLocationId
,
detailJ
sonReq
.
getLocationId
())
.
eq
(
Inventory:
:
getSizeId
,
j
sonReq
.
getSizeId
())
.
eq
(
Inventory:
:
getSizeId
,
detailJ
sonReq
.
getSizeId
())
.
eq
(
Inventory:
:
getOrgId
,
orderMain
.
getStartOrgId
())
.
eq
(
Inventory:
:
getOrgId
,
orderMain
.
getStartOrgId
())
.
eq
(
Inventory:
:
getTypeId
,
j
sonReq
.
getTypeId
())
.
eq
(
Inventory:
:
getTypeId
,
detailJ
sonReq
.
getTypeId
())
.
eq
(
Inventory:
:
getPrice
,
j
sonReq
.
getPrice
())
.
eq
(
Inventory:
:
getPrice
,
detailJ
sonReq
.
getPrice
())
.
eq
(
Inventory:
:
getLocationType
,
"0"
));
.
eq
(
Inventory:
:
getLocationType
,
"0"
));
List
<
WarehouseInventory
>
list2
=
warehouseInventoryService
.
list
(
new
LambdaQueryWrapper
<
WarehouseInventory
>()
List
<
WarehouseInventory
>
list2
=
warehouseInventoryService
.
list
(
new
LambdaQueryWrapper
<
WarehouseInventory
>()
.
eq
(
WarehouseInventory:
:
getEpc
,
"0"
)
.
eq
(
WarehouseInventory:
:
getEpc
,
"0"
)
.
eq
(
WarehouseInventory:
:
getLocationId
,
j
sonReq
.
getLocationId
())
.
eq
(
WarehouseInventory:
:
getLocationId
,
detailJ
sonReq
.
getLocationId
())
.
eq
(
WarehouseInventory:
:
getOrgId
,
orderMain
.
getStartOrgId
())
.
eq
(
WarehouseInventory:
:
getOrgId
,
orderMain
.
getStartOrgId
())
.
eq
(
WarehouseInventory:
:
getSizeId
,
j
sonReq
.
getSizeId
())
.
eq
(
WarehouseInventory:
:
getSizeId
,
detailJ
sonReq
.
getSizeId
())
.
eq
(
WarehouseInventory:
:
getTypeId
,
j
sonReq
.
getTypeId
()));
.
eq
(
WarehouseInventory:
:
getTypeId
,
detailJ
sonReq
.
getTypeId
()));
if
(
list1
.
size
()>
0
){
if
(
list1
.
size
()>
0
){
//如果记账数量大于库存中存在空数据,那么全部删除,否则选择前几条进行删除
//如果记账数量大于库存中存在空数据,那么全部删除,否则选择前几条进行删除
if
(
i
>=
list1
.
size
()){
if
(
subNum
>=
list1
.
size
()){
delInvList
.
addAll
(
list1
);
delInvList
.
addAll
(
list1
);
}
else
{
}
else
{
for
(
int
j
=
0
;
j
<
i
;
j
++)
{
for
(
int
j
=
0
;
j
<
subNum
;
j
++)
{
delInvList
.
add
(
list1
.
get
(
j
));
delInvList
.
add
(
list1
.
get
(
j
));
}
}
}
}
}
}
if
(
list2
.
size
()>
0
){
if
(
list2
.
size
()>
0
){
if
(
i
>=
list2
.
size
()){
if
(
subNum
>=
list2
.
size
()){
delWareInvList
.
addAll
(
list2
);
delWareInvList
.
addAll
(
list2
);
}
else
{
}
else
{
for
(
int
j
=
0
;
j
<
i
;
j
++)
{
for
(
int
j
=
0
;
j
<
subNum
;
j
++)
{
delInvList
.
add
(
list1
.
get
(
j
));
delInvList
.
add
(
list1
.
get
(
j
));
}
}
}
}
...
@@ -1237,9 +1135,23 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1237,9 +1135,23 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
}
}
}
// childJsonList.addAll(childJson);
//修改单子数量数量
orderDetail
.
setModifyQuantity
(
uploadDetailReq
.
getModifyQuantity
());
orderDetail
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
orderDetailList
.
add
(
orderDetail
);
updateQuantity
+=
orderDetail
.
getModifyQuantity
();
}
else
{
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDERDETAIL_ERROR
);
}
}
}
if
(
addWareInvList
.
size
()>
0
){
if
(
addWareInvList
.
size
()>
0
){
inventoryService
.
saveBatch
(
addInvList
);
inventoryService
.
saveBatch
(
addInvList
);
}
}
...
@@ -1285,7 +1197,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1285,7 +1197,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//如果是快速移库,记账完成之后新增入库单并且该单据不走审核流,但是审核状态和入库状态显示已完成
//如果是快速移库,记账完成之后新增入库单并且该单据不走审核流,但是审核状态和入库状态显示已完成
boolean
g
=
true
;
boolean
g
=
true
;
if
(
req
.
getBussinessType
().
equals
(
"quick"
)){
if
(
req
.
getBussinessType
().
equals
(
"quick"
)){
g
=
handleQuickOrder
(
orderMain
);
g
=
handleQuickOrder
(
orderMain
,
reqList
);
}
else
{
}
else
{
d
=
updateSummaryInfo
(
req
,
orderDetailReqList
,
pubOrg
.
getOrgId
(),
pubOrg
.
getOrgCode
(),
pubOrg
.
getOrgName
());
d
=
updateSummaryInfo
(
req
,
orderDetailReqList
,
pubOrg
.
getOrgId
(),
pubOrg
.
getOrgCode
(),
pubOrg
.
getOrgName
());
}
}
...
@@ -1329,7 +1241,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1329,7 +1241,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for
(
PoliceEquipment
pEqs:
list
)
{
for
(
PoliceEquipment
pEqs:
list
)
{
if
(
upReq
.
getSizeId
().
equals
(
pEqs
.
getSizeId
())
&&
upReq
.
getTypeId
().
equals
(
pEqs
.
getTypeId
())
if
(
upReq
.
getSizeId
().
equals
(
pEqs
.
getSizeId
())
&&
upReq
.
getTypeId
().
equals
(
pEqs
.
getTypeId
())
&&
upReq
.
getPrice
(
).
compareTo
(
pEqs
.
getPrice
())==
0
){
&&
new
BigDecimal
(
upReq
.
getPrice
()
).
compareTo
(
pEqs
.
getPrice
())==
0
){
//如果数量大于等于的情况下直接将该条数据进行删除,否则直接修改数量并且更新
//如果数量大于等于的情况下直接将该条数据进行删除,否则直接修改数量并且更新
if
(
upReq
.
getModifyQuantity
()>=
pEqs
.
getNum
()){
if
(
upReq
.
getModifyQuantity
()>=
pEqs
.
getNum
()){
delList
.
add
(
pEqs
);
delList
.
add
(
pEqs
);
...
@@ -1370,7 +1282,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1370,7 +1282,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
policeEquipment
.
setInNum
(
0
);
policeEquipment
.
setInNum
(
0
);
policeEquipment
.
setOutNum
(
updateOrderDetailReq
.
getModifyQuantity
());
policeEquipment
.
setOutNum
(
updateOrderDetailReq
.
getModifyQuantity
());
policeEquipment
.
setOrgId
(
orgId
);
policeEquipment
.
setOrgId
(
orgId
);
policeEquipment
.
setPrice
(
updateOrderDetailReq
.
getPrice
(
));
policeEquipment
.
setPrice
(
new
BigDecimal
(
updateOrderDetailReq
.
getPrice
()
));
policeEquipment
.
setLocationId
(
updateOrderDetailReq
.
getWarehouseId
());
policeEquipment
.
setLocationId
(
updateOrderDetailReq
.
getWarehouseId
());
policeEquipment
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
policeEquipment
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
return
policeEquipment
;
return
policeEquipment
;
...
@@ -1435,7 +1347,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1435,7 +1347,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
boolean
flag
=
false
;
boolean
flag
=
false
;
for
(
InventorySummary
is:
inventorySummaryList
)
{
for
(
InventorySummary
is:
inventorySummaryList
)
{
if
(
upReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
upReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
if
(
upReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
upReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
upReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
upReq
.
getPrice
(
).
compareTo
(
is
.
getUnitPrice
())==
0
){
&&
upReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
new
BigDecimal
(
upReq
.
getPrice
()
).
compareTo
(
is
.
getUnitPrice
())==
0
){
is
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
is
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
//修改各种数量和价格
//修改各种数量和价格
if
(
req
.
getOrderType
().
equals
(
"in"
)){
if
(
req
.
getOrderType
().
equals
(
"in"
)){
...
@@ -1446,7 +1358,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1446,7 +1358,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
case
"other"
:
case
"other"
:
is
.
setStockNumber
(
is
.
getStockNumber
()+
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
is
.
getStockNumber
()+
upReq
.
getModifyQuantity
());
is
.
setNumber
(
is
.
getStockNumber
()+
is
.
getOutboundNumber
());
is
.
setNumber
(
is
.
getStockNumber
()+
is
.
getOutboundNumber
());
is
.
setPrice
(
is
.
getPrice
().
add
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
add
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
break
;
break
;
case
"return"
:
case
"return"
:
case
"repair"
:
case
"repair"
:
...
@@ -1459,17 +1371,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1459,17 +1371,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()-
upReq
.
getModifyQuantity
());
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()-
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
is
.
getStockNumber
()+
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
is
.
getStockNumber
()+
upReq
.
getModifyQuantity
());
}
}
is
.
setPrice
(
is
.
getPrice
().
add
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
add
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
break
;
break
;
}
}
}
else
{
}
else
{
switch
(
req
.
getBussinessType
()){
switch
(
req
.
getBussinessType
()){
case
"destruction"
:
case
"destruction"
:
//我先把库存数量加回来,然后根据实际出库数量进行删减
//
//我先把库存数量加回来,然后根据实际出库数量进行删减
is
.
setDestructionNumber
(
is
.
getDestructionNumber
()
-
upReq
.
getPlanNum
());
//
is.setDestructionNumber(is.getDestructionNumber() - upReq.getPlanNum());
is
.
setNumber
(
is
.
getNumber
()
+
upReq
.
getPlanNum
());
//
is.setNumber(is.getNumber() + upReq.getPlanNum());
is
.
setStockNumber
(
is
.
getStockNumber
()
+
upReq
.
getPlanNum
());
//
is.setStockNumber(is.getStockNumber() + upReq.getPlanNum());
//直接减去库存数量
is
.
setNumber
(
Math
.
max
(
is
.
getNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setNumber
(
Math
.
max
(
is
.
getNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setPrice
(
is
.
getUnitPrice
().
multiply
(
BigDecimal
.
valueOf
(
is
.
getNumber
())));
is
.
setPrice
(
is
.
getUnitPrice
().
multiply
(
BigDecimal
.
valueOf
(
is
.
getNumber
())));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()-
upReq
.
getModifyQuantity
(),
0
));
...
@@ -1479,12 +1392,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1479,12 +1392,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
case
"allocate"
:
case
"allocate"
:
is
.
setNumber
(
Math
.
max
(
is
.
getNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setNumber
(
Math
.
max
(
is
.
getNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
break
;
break
;
case
"use"
:
case
"use"
:
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
if
(
ObjectUtil
.
isNull
(
is
.
getUseCount
())){
if
(
ObjectUtil
.
isNull
(
is
.
getUseCount
())){
is
.
setUseCount
(
0
);
is
.
setUseCount
(
0
);
}
}
...
@@ -1497,7 +1410,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1497,7 +1410,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
case
"repair"
:
case
"repair"
:
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
if
(
ObjectUtil
.
isNull
(
is
.
getFixCount
())){
if
(
ObjectUtil
.
isNull
(
is
.
getFixCount
())){
is
.
setFixCount
(
0
);
is
.
setFixCount
(
0
);
}
}
...
@@ -1506,7 +1419,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1506,7 +1419,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
case
"other"
:
case
"other"
:
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
upReq
.
getModifyQuantity
());
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setStockNumber
(
Math
.
max
(
is
.
getStockNumber
()
-
upReq
.
getModifyQuantity
(),
0
));
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)))
);
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)))
);
break
;
break
;
// case "quick":
// case "quick":
//
//
...
@@ -1531,8 +1444,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1531,8 +1444,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
inventorySummary
.
setTypeId
(
upReq
.
getTypeId
());
inventorySummary
.
setTypeId
(
upReq
.
getTypeId
());
inventorySummary
.
setLocationName
(
upReq
.
getWarehouseName
());
inventorySummary
.
setLocationName
(
upReq
.
getWarehouseName
());
inventorySummary
.
setLocationId
(
upReq
.
getWarehouseId
());
inventorySummary
.
setLocationId
(
upReq
.
getWarehouseId
());
inventorySummary
.
setUnitPrice
(
upReq
.
getPrice
(
));
inventorySummary
.
setUnitPrice
(
new
BigDecimal
(
upReq
.
getPrice
()
));
inventorySummary
.
setPrice
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
upReq
.
getPrice
(
)));
inventorySummary
.
setPrice
(
BigDecimal
.
valueOf
(
upReq
.
getModifyQuantity
()).
multiply
(
new
BigDecimal
(
upReq
.
getPrice
()
)));
inventorySummary
.
setLocationType
(
"0"
);
inventorySummary
.
setLocationType
(
"0"
);
inventorySummary
.
setBrokenNumber
(
0
);
inventorySummary
.
setBrokenNumber
(
0
);
inventorySummary
.
setExpireNumber
(
0
);
inventorySummary
.
setExpireNumber
(
0
);
...
@@ -1781,7 +1694,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1781,7 +1694,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
public
boolean
handleQuickOrder
(
OrderMain
existOrder
)
{
public
boolean
handleQuickOrder
(
OrderMain
existOrder
,
List
<
UpdateOrderDetailReq
>
reqList
)
{
//原来出库单的查询条件list(根据条件查询库存汇总表中包含有相同条件的数据)
//原来出库单的查询条件list(根据条件查询库存汇总表中包含有相同条件的数据)
List
<
Object
[]>
searchCriteria
=
new
ArrayList
<>();
List
<
Object
[]>
searchCriteria
=
new
ArrayList
<>();
//新建的入库单查询条件list(根据条件查询库存汇总表中是否包含有相同条件的数据)
//新建的入库单查询条件list(根据条件查询库存汇总表中是否包含有相同条件的数据)
...
@@ -1808,15 +1721,37 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1808,15 +1721,37 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//查询出库子单用于赋值到入库单中
//查询出库子单用于赋值到入库单中
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
.
eq
(
OrderDetail:
:
getOrderId
,
existOrder
.
getId
()));
.
eq
(
OrderDetail:
:
getOrderId
,
existOrder
.
getId
()));
//查询条件,将所有查询条件放在searchCriteria中,用于修改库存表中的装备的仓库位置
//仓库id
//仓库id
String
locationId
=
orderMain
.
getLocationId
();
String
locationId
=
orderMain
.
getLocationId
();
String
locationName
=
orderMain
.
getLocationName
();
String
locationName
=
orderMain
.
getLocationName
();
//查询条件,将所有查询条件放在searchCriteria中,用于修改库存表中的装备的仓库位置
//循环记账子单
List
<
DetailJsonReq
>
jsonCollect
=
new
ArrayList
<>();
for
(
UpdateOrderDetailReq
detailReq:
reqList
)
{
List
<
DetailJsonReq
>
childJson
=
detailReq
.
getChildJson
();
jsonCollect
.
addAll
(
childJson
);
for
(
DetailJsonReq
jsonReq:
childJson
)
{
//移出仓库
Object
[]
criteria
=
new
Object
[]{
existOrder
.
getStartOrgId
(),
jsonReq
.
getLocationId
(),
detailReq
.
getTypeId
(),
detailReq
.
getSizeId
(),
detailReq
.
getPrice
(),
detailReq
.
getProperty
()};
searchCriteria
.
add
(
criteria
);
//移入仓库
Object
[]
update
=
new
Object
[]{
orderMain
.
getEndOrgId
(),
locationId
,
jsonReq
.
getTypeId
(),
detailReq
.
getSizeId
(),
detailReq
.
getPrice
(),
detailReq
.
getProperty
()};
updateCriteria
.
add
(
update
);
//
}
}
//创建入库单子单
//创建入库单子单
List
<
OrderDetail
>
collect
=
list
.
stream
().
map
(
orderDetail
->
{
List
<
OrderDetail
>
collect
=
list
.
stream
().
map
(
orderDetail
->
{
OrderDetail
orderDetail1
=
new
OrderDetail
();
OrderDetail
orderDetail1
=
new
OrderDetail
();
BeanPlusUtil
.
copyProperties
(
orderDetail
,
orderDetail1
);
BeanPlusUtil
.
copyProperties
(
orderDetail
,
orderDetail1
);
List
<
DetailJsonReq
>
detailJsonReqs
=
JSONObject
.
parseArray
(
orderDetail
.
getDetailJson
(),
DetailJsonReq
.
class
);
for
(
DetailJsonReq
a:
detailJsonReqs
)
{
a
.
setLocationId
(
locationId
);
a
.
setLocationName
(
locationName
);
}
orderDetail1
.
setDetailJson
(
JSONObject
.
toJSONString
(
detailJsonReqs
));
orderDetail1
.
setId
(
null
);
orderDetail1
.
setId
(
null
);
//修改主单据id
//修改主单据id
orderDetail1
.
setOrderId
(
orderMain
.
getId
());
orderDetail1
.
setOrderId
(
orderMain
.
getId
());
...
@@ -1825,30 +1760,36 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1825,30 +1760,36 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//修改仓库id
//修改仓库id
orderDetail1
.
setWarehouseId
(
locationId
);
orderDetail1
.
setWarehouseId
(
locationId
);
orderDetail1
.
setWarehouseName
(
locationName
);
orderDetail1
.
setWarehouseName
(
locationName
);
Object
[]
criteria
=
new
Object
[]{
existOrder
.
getStartOrgId
(),
orderDetail
.
getWarehouseId
(),
orderDetail
.
getTypeId
(),
orderDetail
.
getSizeId
(),
orderDetail
.
getPrice
()};
searchCriteria
.
add
(
criteria
);
Object
[]
update
=
new
Object
[]{
orderMain
.
getEndOrgId
(),
locationId
,
orderDetail1
.
getTypeId
(),
orderDetail1
.
getSizeId
(),
orderDetail1
.
getPrice
()};
updateCriteria
.
add
(
update
);
return
orderDetail1
;
return
orderDetail1
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
orderDetailService
.
saveBatch
(
collect
);
orderDetailService
.
saveBatch
(
collect
);
//将summary汇总表中数据进行修改(修改该组织机构下的装备汇总信息将库存信息的在库数,库存总数,总价还有其他数据数量进行修改)
//将summary汇总表中数据进行修改(修改该组织机构下的装备汇总信息将库存信息的在库数,库存总数,总价还有其他数据数量进行修改)
//那么首先将原来的仓库下的装备汇总信息进行查询出来,对其进行修改
//那么首先将原来的仓库下的装备汇总信息进行查询出来,对其进行修改
List
<
InventorySummary
>
oldSummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
searchCriteria
);
List
<
InventorySummary
>
oldSummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
searchCriteria
);
Map
<
String
,
InventorySummary
>
resultMap
=
new
HashMap
<>();
for
(
InventorySummary
summary
:
oldSummaryList
)
{
String
key
=
summary
.
getSizeId
()
+
"_"
+
summary
.
getTypeId
();
if
(
resultMap
.
containsKey
(
key
))
{
InventorySummary
existingSummary
=
resultMap
.
get
(
key
);
existingSummary
.
setStockNumber
(
existingSummary
.
getStockNumber
()
+
summary
.
getStockNumber
());
existingSummary
.
setBrokenNumber
(
existingSummary
.
getBrokenNumber
()
+
summary
.
getBrokenNumber
());
existingSummary
.
setNumber
(
existingSummary
.
getNumber
()
+
summary
.
getNumber
());
}
else
{
resultMap
.
put
(
key
,
summary
);
}
}
List
<
InventorySummary
>
summaryList
=
new
ArrayList
<>(
resultMap
.
values
());
//其次查询出修改后的仓库下面的汇总信息,判断该仓库下是否已经存在该号型、类型、单价相同的装备数据
//其次查询出修改后的仓库下面的汇总信息,判断该仓库下是否已经存在该号型、类型、单价相同的装备数据
List
<
InventorySummary
>
newSummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
updateCriteria
);
List
<
InventorySummary
>
newSummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
updateCriteria
);
//第一步:判断是否将报废区的数据也同样进行移库(flag=true表示将报废区的数量进行一起移动),如果都没有报废数量,默认是true;
//第一步:判断是否将报废区的数据也同样进行移库(flag=true表示将报废区的数量进行一起移动),如果都没有报废数量,默认是true;
boolean
flag
=
oldSummaryList
.
stream
()
boolean
flag
=
oldSummaryList
.
stream
()
.
noneMatch
(
oldsum
->
oldsum
.
getBrokenNumber
()
>
0
)
.
noneMatch
(
oldsum
->
oldsum
.
getBrokenNumber
()
>
0
)
||
oldSummaryList
.
stream
()
||
summaryList
.
stream
()
.
filter
(
oldsum
->
oldsum
.
getBrokenNumber
()
>
0
)
.
filter
(
sum
->
sum
.
getBrokenNumber
()
>
0
).
allMatch
(
orderDetail
->
orderDetail
.
getBrokenNumber
()
+
orderDetail
.
getStockNumber
()
==
orderDetail
.
getNumber
());
.
anyMatch
(
oldsum
->
list
.
stream
()
.
anyMatch
(
orderDetail
->
orderDetail
.
getSizeId
().
equals
(
oldsum
.
getSizeId
())
&&
orderDetail
.
getTypeId
().
equals
(
oldsum
.
getTypeId
())
&&
orderDetail
.
getPrice
().
compareTo
(
oldsum
.
getUnitPrice
())
==
0
&&
oldsum
.
getBrokenNumber
()
+
orderDetail
.
getPlanNum
()
==
oldsum
.
getStockNumber
())
);
//创建删除列表用于将没用的数据汇总信息进行删除
//创建删除列表用于将没用的数据汇总信息进行删除
List
<
InventorySummary
>
deleteList
=
new
ArrayList
<>();
List
<
InventorySummary
>
deleteList
=
new
ArrayList
<>();
//将修改的信息直接保存(需要的只是各种数量方便计算)
//将修改的信息直接保存(需要的只是各种数量方便计算)
...
@@ -1856,20 +1797,21 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1856,20 +1797,21 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//如果整个报废区进行移动,那么将各个数量进行修改
//如果整个报废区进行移动,那么将各个数量进行修改
if
(
flag
){
if
(
flag
){
//修改的的是移出仓库的数量
for
(
DetailJsonReq
json:
jsonCollect
)
{
for
(
OrderDetail
orderDetail:
list
)
{
for
(
InventorySummary
oldSum
:
oldSummaryList
)
{
for
(
InventorySummary
oldSum
:
oldSummaryList
)
{
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
if
(
orderDetail
.
getSizeId
().
equals
(
oldSum
.
getSizeId
())
if
(
json
.
getSizeId
().
equals
(
oldSum
.
getSizeId
())
&&
orderDetail
.
getTypeId
().
equals
(
oldSum
.
getTypeId
())
&&
json
.
getTypeId
().
equals
(
oldSum
.
getTypeId
())
&&
orderDetail
.
getPrice
().
compareTo
(
oldSum
.
getUnitPrice
())
==
0
)
{
&&
json
.
getPrice
().
compareTo
(
oldSum
.
getUnitPrice
())
==
0
&&
json
.
getProperty
()
==
oldSum
.
getProperty
())
{
InventorySummary
inventorySummary
=
new
InventorySummary
();
InventorySummary
inventorySummary
=
new
InventorySummary
();
BeanPlusUtil
.
copyProperties
(
oldSum
,
inventorySummary
);
BeanPlusUtil
.
copyProperties
(
oldSum
,
inventorySummary
);
inventorySummary
.
setLocationId
(
locationId
);
inventorySummary
.
setLocationId
(
locationId
);
inventorySummary
.
setLocationName
(
locationName
);
inventorySummary
.
setLocationName
(
locationName
);
inventorySummary
.
setNumber
(
orderDetail
.
getPlanNum
()+
oldSum
.
getOutboundNumber
());
inventorySummary
.
setNumber
(
json
.
getModifyQuantity
()+
oldSum
.
getOutboundNumber
());
inventorySummary
.
setPrice
(
orderDetail
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
orderDetail
.
getPlanNum
())));
inventorySummary
.
setPrice
(
json
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
json
.
getModifyQuantity
())));
inventorySummary
.
setStockNumber
(
orderDetail
.
getPlanNum
());
inventorySummary
.
setStockNumber
(
json
.
getModifyQuantity
());
inventorySummary
.
setDestructionNumber
(
0
);
inventorySummary
.
setDestructionNumber
(
0
);
//销毁金额也为0
//销毁金额也为0
inventorySummary
.
setDestructionPrice
(
BigDecimal
.
ZERO
);
inventorySummary
.
setDestructionPrice
(
BigDecimal
.
ZERO
);
...
@@ -1894,31 +1836,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1894,31 +1836,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
}
}
}
else
{
//不将报废区的进行移动(修改的是移出仓库的库存数量)
}
else
{
//不将报废区的进行移动(修改的是移出仓库的库存数量)
for
(
OrderDetail
orderDetail:
lis
t
)
{
for
(
DetailJsonReq
json:
jsonCollec
t
)
{
for
(
InventorySummary
oldSum
:
oldSummaryList
)
{
for
(
InventorySummary
oldSum
:
oldSummaryList
)
{
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(
// 不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
// 不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
if
(
orderDetail
.
getSizeId
().
equals
(
oldSum
.
getSizeId
())
if
(
json
.
getSizeId
().
equals
(
oldSum
.
getSizeId
())
&&
orderDetail
.
getTypeId
().
equals
(
oldSum
.
getTypeId
())
&&
json
.
getTypeId
().
equals
(
oldSum
.
getTypeId
())
&&
orderDetail
.
getPrice
().
compareTo
(
oldSum
.
getUnitPrice
())
==
0
)
{
&&
json
.
getPrice
().
compareTo
(
oldSum
.
getUnitPrice
())
==
0
&&
json
.
getProperty
()==
oldSum
.
getProperty
())
{
InventorySummary
inventorySummary
=
new
InventorySummary
();
InventorySummary
inventorySummary
=
new
InventorySummary
();
BeanPlusUtil
.
copyProperties
(
oldSum
,
inventorySummary
);
BeanPlusUtil
.
copyProperties
(
oldSum
,
inventorySummary
);
inventorySummary
.
setLocationId
(
locationId
);
inventorySummary
.
setLocationId
(
locationId
);
inventorySummary
.
setLocationName
(
locationName
);
inventorySummary
.
setLocationName
(
locationName
);
//在库数量进行修改并且报废数设为0
//在库数量进行修改并且报废数设为0
inventorySummary
.
setBrokenNumber
(
0
);
inventorySummary
.
setBrokenNumber
(
0
);
inventorySummary
.
setNumber
(
orderDetail
.
getPlanNum
()+
oldSum
.
getOutboundNumber
());
inventorySummary
.
setNumber
(
json
.
getModifyQuantity
()+
oldSum
.
getOutboundNumber
());
inventorySummary
.
setPrice
(
orderDetail
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
orderDetail
.
getPlanNum
()+
oldSum
.
getOutboundNumber
())));
inventorySummary
.
setPrice
(
json
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
json
.
getModifyQuantity
()+
oldSum
.
getOutboundNumber
())));
inventorySummary
.
setStockNumber
(
orderDetail
.
getPlanNum
());
inventorySummary
.
setStockNumber
(
json
.
getModifyQuantity
());
inventorySummary
.
setDestructionNumber
(
0
);
inventorySummary
.
setDestructionNumber
(
0
);
inventorySummary
.
setDestructionPrice
(
BigDecimal
.
ZERO
);
inventorySummary
.
setDestructionPrice
(
BigDecimal
.
ZERO
);
inventorySummary
.
setId
(
null
);
inventorySummary
.
setId
(
null
);
inventorySummary
.
setValuekey
(
null
);
inventorySummary
.
setValuekey
(
null
);
saveList
.
add
(
inventorySummary
);
saveList
.
add
(
inventorySummary
);
oldSum
.
setNumber
(
oldSum
.
getNumber
()-
orderDetail
.
getPlanNum
(
));
oldSum
.
setNumber
(
Math
.
max
(
oldSum
.
getNumber
()-
json
.
getModifyQuantity
(),
0
));
oldSum
.
setPrice
(
oldSum
.
getPrice
().
subtract
(
orderDetail
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
orderDetail
.
getPlanNum
()
))));
oldSum
.
setPrice
(
oldSum
.
getPrice
().
multiply
(
new
BigDecimal
(
oldSum
.
getNumber
(
))));
oldSum
.
setStockNumber
(
oldSum
.
getNumber
()-
orderDetail
.
getPlanNum
(
));
oldSum
.
setStockNumber
(
Math
.
max
(
oldSum
.
getNumber
()-
json
.
getModifyQuantity
(),
0
));
oldSum
.
setOutboundNumber
(
0
);
oldSum
.
setOutboundNumber
(
0
);
oldSum
.
setNearBrokenNumber
(
0
);
oldSum
.
setNearBrokenNumber
(
0
);
oldSum
.
setExpireNumber
(
0
);
oldSum
.
setExpireNumber
(
0
);
...
@@ -1936,13 +1879,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1936,13 +1879,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//判断查询到的newList是否有值,如果有值直接进行修改即可,但是如果不存在,则默认新增一条数据
//判断查询到的newList是否有值,如果有值直接进行修改即可,但是如果不存在,则默认新增一条数据
//修改的是移入仓库的值
//修改的是移入仓库的值
if
(
newSummaryList
.
size
()>
0
){
if
(
newSummaryList
.
size
()>
0
){
for
(
InventorySummary
save:
saveList
)
{
for
(
int
i
=
0
;
i
<
saveList
.
size
();
i
++)
{
for
(
InventorySummary
newsum:
newSummaryList
)
{
for
(
int
j
=
0
;
j
<
newSummaryList
.
size
()
;
j
++)
{
InventorySummary
save
=
saveList
.
get
(
i
);
InventorySummary
newsum
=
newSummaryList
.
get
(
j
);
if
(
save
.
getSizeId
().
equals
(
newsum
.
getSizeId
())
if
(
save
.
getSizeId
().
equals
(
newsum
.
getSizeId
())
&&
save
.
getTypeId
().
equals
(
newsum
.
getTypeId
())
&&
save
.
getTypeId
().
equals
(
newsum
.
getTypeId
())
&&
save
.
getPrice
().
compareTo
(
newsum
.
getUnitPrice
())
==
0
){
&&
save
.
getPrice
().
compareTo
(
newsum
.
getUnitPrice
())
==
0
&&
save
.
getProperty
()==
newsum
.
getProperty
()){
newsum
.
setBrokenNumber
(
save
.
getBrokenNumber
()+
newsum
.
getBrokenNumber
());
newsum
.
setBrokenNumber
(
save
.
getBrokenNumber
()+
newsum
.
getBrokenNumber
());
newsum
.
setNumber
(
save
.
getNumber
()+
newsum
.
getNumber
());
newsum
.
setNumber
(
save
.
getNumber
()+
newsum
.
getNumber
());
newsum
.
setStockNumber
(
save
.
getStockNumber
()+
newsum
.
getStockNumber
());
newsum
.
setStockNumber
(
save
.
getStockNumber
()+
newsum
.
getStockNumber
());
...
@@ -1953,11 +1898,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -1953,11 +1898,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
newsum
.
setUseNumber
(
save
.
getUseNumber
()+
newsum
.
getUseNumber
());
newsum
.
setUseNumber
(
save
.
getUseNumber
()+
newsum
.
getUseNumber
());
//remove表示该仓库下面存在数量,数量加减完之后直接在新增的list中进行移出x
//remove表示该仓库下面存在数量,数量加减完之后直接在新增的list中进行移出x
saveList
.
remove
(
save
);
saveList
.
remove
(
save
);
i
--;
break
;
break
;
}
}
}
}
}
}
// for (InventorySummary save: saveList) {
// for (InventorySummary newsum:newSummaryList) {
// if (save.getSizeId().equals(newsum.getSizeId())
// && save.getTypeId().equals(newsum.getTypeId())
// && save.getPrice().compareTo(newsum.getUnitPrice()) == 0
// && save.getProperty()==newsum.getProperty()){
// newsum.setBrokenNumber(save.getBrokenNumber()+newsum.getBrokenNumber());
// newsum.setNumber(save.getNumber()+newsum.getNumber());
// newsum.setStockNumber(save.getStockNumber()+newsum.getStockNumber());
// newsum.setPrice(newsum.getPrice().multiply(BigDecimal.valueOf(newsum.getStockNumber())));
// newsum.setOutboundNumber(save.getOutboundNumber()+newsum.getOutboundNumber());
// newsum.setExpireNumber(save.getExpireNumber()+newsum.getExpireNumber());
// newsum.setNearBrokenNumber(save.getNearBrokenNumber()+newsum.getNearBrokenNumber());
// newsum.setUseNumber(save.getUseNumber()+newsum.getUseNumber());
// //remove表示该仓库下面存在数量,数量加减完之后直接在新增的list中进行移出x
// saveList.remove(save);
// break;
// }
// }
//
// }
}
}
//如果saveList不为空则save
//如果saveList不为空则save
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowTaskServiceImpl.java
View file @
6a3e641c
...
@@ -319,10 +319,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
...
@@ -319,10 +319,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
case
"quickOrder"
:
case
"quickOrder"
:
//更新出入库单
//更新出入库单
//将销毁数加回来
//将销毁数加回来
if
(
bussinessType
.
equals
(
"destruction"
)){
//
if (bussinessType.equals("destruction")){
List
<
UpdateOrderDetailReq
>
list
=
quickSuggestionsMapper
.
getOrderMainDetail
(
task
.
getProcessInstanceId
());
//
List<UpdateOrderDetailReq> list=quickSuggestionsMapper.getOrderMainDetail(task.getProcessInstanceId());
boolean
b
=
addOrRevokeAgentDestructionNum
(
list
);
//
boolean b = addOrRevokeAgentDestructionNum(list);
}
//
}
quickSuggestionsMapper
.
updateOrderMain
(
task
.
getProcessInstanceId
());
quickSuggestionsMapper
.
updateOrderMain
(
task
.
getProcessInstanceId
());
break
;
break
;
case
"bussinessOrder"
:
case
"bussinessOrder"
:
...
@@ -1102,6 +1102,7 @@ return null;
...
@@ -1102,6 +1102,7 @@ return null;
List
<
Object
[]>
searchItem
=
new
ArrayList
<>();
List
<
Object
[]>
searchItem
=
new
ArrayList
<>();
for
(
UpdateOrderDetailReq
detialReq:
list
)
{
for
(
UpdateOrderDetailReq
detialReq:
list
)
{
//我先去数据库查询summary表中的数据
//我先去数据库查询summary表中的数据
Object
[]
item
=
new
Object
[]{
detialReq
.
getOrgId
(),
detialReq
.
getWarehouseId
(),
detialReq
.
getTypeId
(),
detialReq
.
getSizeId
(),
detialReq
.
getPrice
()};
Object
[]
item
=
new
Object
[]{
detialReq
.
getOrgId
(),
detialReq
.
getWarehouseId
(),
detialReq
.
getTypeId
(),
detialReq
.
getSizeId
(),
detialReq
.
getPrice
()};
searchItem
.
add
(
item
);
searchItem
.
add
(
item
);
}
}
...
@@ -1111,7 +1112,7 @@ return null;
...
@@ -1111,7 +1112,7 @@ return null;
for
(
InventorySummaryReq
is:
inventorySummaryList
)
{
for
(
InventorySummaryReq
is:
inventorySummaryList
)
{
if
(
detialReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
detialReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
if
(
detialReq
.
getWarehouseId
().
equals
(
is
.
getLocationId
())
&&
detialReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
detialReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
detialReq
.
getPrice
(
).
compareTo
(
is
.
getUnitPrice
())==
0
){
&&
detialReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
new
BigDecimal
(
detialReq
.
getPrice
()
).
compareTo
(
is
.
getUnitPrice
())==
0
){
if
(
ObjectUtil
.
isNull
(
is
.
getDestructionNumber
())){
if
(
ObjectUtil
.
isNull
(
is
.
getDestructionNumber
())){
is
.
setDestructionNumber
(
0
);
is
.
setDestructionNumber
(
0
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论