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
759913b3
Commit
759913b3
authored
Dec 11, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
盘点功能,未测试
parent
1f9b6638
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
284 行增加
和
22 行删除
+284
-22
BussinessInventoryReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/BussinessInventoryReq.java
+10
-2
UpdateInventoryReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateInventoryReq.java
+11
-4
InventoryExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/InventoryExceptionEnum.java
+4
-3
BussinessInventoryController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/BussinessInventoryController.java
+17
-2
BussinessDetail.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/BussinessDetail.java
+100
-0
BussinessInventory.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/BussinessInventory.java
+7
-6
BussinessInventoryDetailMapper.java
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/BussinessInventoryDetailMapper.java
+16
-0
BussinessInventoryDetailService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/BussinessInventoryDetailService.java
+16
-0
BussinessInventoryService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/BussinessInventoryService.java
+5
-0
BussinessInventoryDetailServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BussinessInventoryDetailServiceImpl.java
+15
-0
BussinessInventoryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BussinessInventoryServiceImpl.java
+83
-5
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/BussinessInventoryReq.java
View file @
759913b3
...
...
@@ -9,8 +9,15 @@ import javax.validation.constraints.NotNull;
public
class
BussinessInventoryReq
{
@NotNull
(
message
=
"预览时,盘点仓库不能为空"
,
groups
=
{
ValidationApi
.
detail
.
class
})
private
String
warehouseId
;
private
String
orderId
;
private
String
type
;
private
String
typeList
;
private
String
orgId
;
private
String
orderState
;
private
String
pageNo
;
private
String
pageSize
;
private
String
startTime
;
private
String
endTime
;
private
String
column
;
private
String
order
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateInventoryReq.java
View file @
759913b3
...
...
@@ -24,16 +24,23 @@ public class UpdateInventoryReq extends BaseRequest {
/**
*
*/
@NotNull
(
message
=
"
仓库
id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
@NotNull
(
message
=
"
组织机构
id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
Long
orgId
;
/**
*
*/
@NotNull
(
message
=
"仓库id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
warehouseId
;
/**
* 单据单号
*/
private
String
orgName
;
private
String
operator
;
private
String
inventoryType
;
private
String
examineState
;
private
String
rules
;
private
String
userId
;
private
String
ExamineState
;
}
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/InventoryExceptionEnum.java
View file @
759913b3
...
...
@@ -6,9 +6,10 @@ import lombok.Getter;
@Getter
public
enum
InventoryExceptionEnum
implements
IExceptionEnum
{
INVENTORY_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"装备信息不存在"
),
INVENTORY_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"填写的报废的装备数量大于实际能进行报废的数量"
),
BROKENNUM_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"审核中的数量已存在最大可报废数量,现提交失败"
),
INVENTORY_NOT_EXIST
(
CommonConstant
.
DEFAULT_BIZ_ERROR_CODE
,
"装备信息不存在"
),
INVENTORY_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_BIZ_ERROR_CODE
,
"填写的报废的装备数量大于实际能进行报废的数量"
),
BROKENNUM_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_BIZ_ERROR_CODE
,
"审核中的数量已存在最大可报废数量,现提交失败"
),
ORDER_NOT_EXIST
(
CommonConstant
.
DEFAULT_BIZ_ERROR_CODE
,
"盘点单据不存在"
),
;
/**
* 错误编码
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/controller/BussinessInventoryController.java
View file @
759913b3
...
...
@@ -6,6 +6,7 @@ import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import
com.junmp.jyzb.api.bean.query.BussinessInventoryReq
;
import
com.junmp.jyzb.api.bean.req.UpdateInventoryReq
;
import
com.junmp.jyzb.api.bean.req.UpdateStocktakeReq
;
import
com.junmp.jyzb.entity.BussinessInventory
;
import
com.junmp.jyzb.entity.InventorySummary
;
import
com.junmp.jyzb.service.BussinessInventoryService
;
import
com.junmp.jyzb.service.CabinetBoxService
;
...
...
@@ -33,9 +34,9 @@ public class BussinessInventoryController {
private
BussinessInventoryService
BussinessInventoryService
;
//盘库申请
@PostMapping
(
"/AddStocktake
Order
"
)
@PostMapping
(
"/AddStocktake"
)
@ApiOperation
(
"盘库申请"
)
public
ApiRes
<
String
>
AddStocktake
Order
(
@RequestBody
@Validated
(
ValidationApi
.
add
.
class
)
UpdateInventoryReq
req
){
public
ApiRes
<
String
>
AddStocktake
(
@RequestBody
@Validated
(
ValidationApi
.
add
.
class
)
UpdateInventoryReq
req
){
//判断是否有工作流id,如果有则将状态进行修改
if
(
ObjectUtil
.
isEmpty
(
req
.
getProcessDefinitionId
()))
{
...
...
@@ -56,5 +57,19 @@ public class BussinessInventoryController {
return
ApiRes
.
success
(
BussinessInventoryService
.
Check
(
req
));
}
//盘库申请
@PostMapping
(
"/Start"
)
@ApiOperation
(
"开始盘点"
)
public
ApiRes
<
Boolean
>
Start
(
@RequestBody
BussinessInventoryReq
req
){
//判断是否有工作流id,如果有则将状态进行修改
return
ApiRes
.
success
(
BussinessInventoryService
.
Start
(
req
));
}
//盘库申请
@PostMapping
(
"/GetPage"
)
@ApiOperation
(
"查询列表"
)
public
ApiRes
<
PageResult
<
BussinessInventory
>>
GetPage
(
@RequestBody
BussinessInventoryReq
req
){
//判断是否有工作流id,如果有则将状态进行修改
return
ApiRes
.
success
(
BussinessInventoryService
.
GetPage
(
req
));
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/entity/BussinessDetail.java
0 → 100644
View file @
759913b3
package
com
.
junmp
.
jyzb
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.Id
;
import
java.io.Serializable
;
import
java.util.Date
;
@TableName
(
value
=
"bussiness_inventory_detail"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
BussinessDetail
implements
Serializable
{
/**
* id
*/
@TableId
(
value
=
"id"
)
@Id
private
Long
id
;
/**
* 工作流id
*/
@TableField
(
value
=
"inventory_id"
)
private
Long
inventoryId
;
/**
* 工作流id
*/
@TableField
(
value
=
"type_id"
)
private
String
typeId
;
/**
* 单据业务类型
*/
@TableField
(
value
=
"type_name"
)
private
String
typeName
;
/**
* 单据编号
*/
@TableField
(
value
=
"size_id"
)
private
String
sizeId
;
/**
* 年度
*/
@TableField
(
value
=
"size_name"
)
private
String
sizeName
;
/**
* 月
*/
@TableField
(
value
=
"stock_number"
)
private
Integer
stockNumber
;
/**
* 申请时间
*/
@TableField
(
value
=
"fix_number"
)
private
Integer
fixNumber
;
/**
* 仓库名称
*/
@TableField
(
value
=
"num"
)
private
Integer
num
;
/**
* 仓库名称
*/
@TableField
(
value
=
"state"
)
private
String
state
;
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Date
createTime
;
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
UPDATE
)
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/entity/BussinessInventory.java
View file @
759913b3
...
...
@@ -11,6 +11,7 @@ import org.springframework.data.elasticsearch.annotations.Document;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
*
...
...
@@ -73,6 +74,11 @@ public class BussinessInventory implements Serializable {
/**
* 仓库名称
*/
@TableField
(
value
=
"warehouse_id"
)
private
String
warehouseId
;
/**
* 仓库名称
*/
@TableField
(
value
=
"warehouse_name"
)
private
String
warehouseName
;
/**
...
...
@@ -134,11 +140,6 @@ public class BussinessInventory implements Serializable {
@TableField
(
value
=
"examine_state"
)
private
String
examineState
;
/**
* 归还日期
*/
@TableField
(
value
=
"manual_state"
)
private
Date
manualState
;
...
...
@@ -154,7 +155,7 @@ public class BussinessInventory implements Serializable {
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
UPDATE
)
private
Date
updateTime
;
private
List
<
BussinessDetail
>
detailList
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/BussinessInventoryDetailMapper.java
0 → 100644
View file @
759913b3
package
com
.
junmp
.
jyzb
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.junmp.jyzb.entity.BussinessDetail
;
import
com.junmp.jyzb.entity.BussinessInventory
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
BussinessInventoryDetailMapper
extends
BaseMapper
<
BussinessDetail
>
{
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/BussinessInventoryDetailService.java
0 → 100644
View file @
759913b3
package
com
.
junmp
.
jyzb
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.junmp.jyzb.api.bean.dto.BussinessInventoryDto
;
import
com.junmp.jyzb.api.bean.query.BussinessInventoryReq
;
import
com.junmp.jyzb.api.bean.req.UpdateInventoryReq
;
import
com.junmp.jyzb.entity.BussinessDetail
;
import
com.junmp.jyzb.entity.BussinessInventory
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
public
interface
BussinessInventoryDetailService
extends
IService
<
BussinessDetail
>
{
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/service/BussinessInventoryService.java
View file @
759913b3
...
...
@@ -11,6 +11,7 @@ import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import
com.junmp.jyzb.entity.BusForm
;
import
com.junmp.jyzb.entity.BussinessInventory
;
import
com.junmp.v2.db.api.page.PageResult
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
import
java.util.List
;
...
...
@@ -21,4 +22,8 @@ public interface BussinessInventoryService extends IService<BussinessInventory>
BussinessInventoryDto
Check
(
BussinessInventoryReq
req
);
Boolean
Start
(
BussinessInventoryReq
req
);
PageResult
<
BussinessInventory
>
GetPage
(
BussinessInventoryReq
req
);
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BussinessInventoryDetailServiceImpl.java
0 → 100644
View file @
759913b3
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.junmp.jyzb.entity.BussinessDetail
;
import
com.junmp.jyzb.entity.BussinessInventory
;
import
com.junmp.jyzb.mapper.BussinessInventoryDetailMapper
;
import
com.junmp.jyzb.mapper.BussinessInventoryMapper
;
import
com.junmp.jyzb.service.BussinessInventoryDetailService
;
import
com.junmp.jyzb.service.BussinessInventoryService
;
import
org.springframework.stereotype.Service
;
@Service
public
class
BussinessInventoryDetailServiceImpl
extends
ServiceImpl
<
BussinessInventoryDetailMapper
,
BussinessDetail
>
implements
BussinessInventoryDetailService
{
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BussinessInventoryServiceImpl.java
View file @
759913b3
...
...
@@ -3,37 +3,49 @@ package com.junmp.jyzb.service.impl;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.junmp.junmpProcess.dto.StartProcessInstanceDTO
;
import
com.junmp.junmpProcess.service.IFlowInstanceService
;
import
com.junmp.jyzb.api.bean.dto.BussinessInventoryDto
;
import
com.junmp.jyzb.api.bean.dto.CabinetDto
;
import
com.junmp.jyzb.api.bean.dto.EquipmentListDto
;
import
com.junmp.jyzb.api.bean.dto.OrderMainDto
;
import
com.junmp.jyzb.api.bean.query.BussinessInventoryReq
;
import
com.junmp.jyzb.api.bean.query.InventorySumReq
;
import
com.junmp.jyzb.api.bean.req.UpdateInventoryReq
;
import
com.junmp.jyzb.api.bean.req.UpdateStocktakeReq
;
import
com.junmp.jyzb.api.exception.enums.EquipmentExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.mapper.BussinessInventoryDetailMapper
;
import
com.junmp.jyzb.mapper.BussinessInventoryMapper
;
import
com.junmp.jyzb.mapper.CabinetBoxPoliceMapper
;
import
com.junmp.jyzb.service.BussinessInventoryService
;
import
com.junmp.jyzb.service.CabinetBoxPoliceService
;
import
com.junmp.jyzb.service.InventorySummaryService
;
import
com.junmp.jyzb.service.OrderNumService
;
import
com.junmp.jyzb.service.*
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.jyzb.utils.RabbitMQSendMsg
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
com.junmp.v2.db.api.factory.PageFactory
;
import
com.junmp.v2.db.api.factory.PageResultFactory
;
import
com.junmp.v2.db.api.page.PageResult
;
import
com.junmp.v2.dict.entity.SysDict
;
import
com.junmp.v2.dict.entity.SysDictItem
;
import
com.junmp.v2.dict.service.SysDictItemService
;
import
com.junmp.v2.dict.service.SysDictService
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.beans.Transient
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
public
class
BussinessInventoryServiceImpl
extends
ServiceImpl
<
BussinessInventoryMapper
,
BussinessInventory
>
...
...
@@ -46,9 +58,15 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
@Resource
private
SysDictService
sysDictService
;
@Resource
private
BussinessInventoryDetailService
bussinessInventoryDetailService
;
@Resource
private
WarehouseService
warehouseService
;
@Resource
private
InventorySummaryService
inventorySummaryService
;
@Resource
private
OrderNumService
orderNumService
;
@Autowired
private
RabbitMQSendMsg
MQ
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
String
AddInvOrder
(
UpdateInventoryReq
req
)
{
...
...
@@ -72,7 +90,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
startProcessInstanceDTO
.
setProcessDefinitionId
(
req
.
getProcessDefinitionId
());
startProcessInstanceDTO
.
setOrderId
(
BI
.
getId
());
startProcessInstanceDTO
.
setOrderType
(
"stocktakeOrder"
);
startProcessInstanceDTO
.
setUserId
(
req
.
getUserId
());
//
startProcessInstanceDTO.setUserId(req.getUserId());
String
ProcessInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
BI
.
setProcessId
(
Long
.
valueOf
(
ProcessInstanceId
));
...
...
@@ -122,6 +140,54 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
}
//开始盘点
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Boolean
Start
(
BussinessInventoryReq
req
)
{
String
orderId
=
req
.
getOrderId
();
BussinessInventory
bi
=
this
.
getById
(
orderId
);
if
(
bi
!=
null
)
{
List
<
BussinessDetail
>
details
=
bussinessInventoryDetailService
.
list
(
new
LambdaQueryWrapper
<
BussinessDetail
>().
eq
(
BussinessDetail:
:
getInventoryId
,
bi
.
getId
())
);
bi
.
setDetailList
(
details
);
Warehouse
warehouseSet
=
warehouseService
.
getById
(
bi
.
getWarehouseId
());
//先锁库,再下发盘点
warehouseSet
.
setIsLocked
(
true
);
bi
.
setInventoryState
(
"running"
);
MQ
.
SendMsg
(
"BussinessInv"
,
warehouseSet
.
getOrgId
().
toString
(),
bi
);
}
else
{
throw
new
ServiceException
(
InventoryExceptionEnum
.
ORDER_NOT_EXIST
);
}
return
true
;
}
@Override
public
PageResult
<
BussinessInventory
>
GetPage
(
BussinessInventoryReq
req
)
{
//排序字段处理,将驼峰改成和数据库同步的字段名(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if
(
ObjectUtil
.
isNotNull
(
req
.
getColumn
())
&&
!
req
.
getColumn
().
trim
().
isEmpty
()
&&
(
req
.
getOrder
().
equalsIgnoreCase
(
"asc"
)||
req
.
getOrder
().
equalsIgnoreCase
(
"desc"
))
&&
ObjectUtil
.
isNotNull
(
req
.
getOrder
())
&&!
req
.
getOrder
().
trim
().
isEmpty
())
{
//修改字段,和数据库字段进行统一
req
.
setColumn
(
req
.
getColumn
().
replaceAll
(
"[A-Z]"
,
"_$0"
).
toLowerCase
());
req
.
setOrder
(
req
.
getOrder
().
toLowerCase
());
}
LambdaQueryWrapper
<
BussinessInventory
>
wrapper
=
createWrapper
(
req
);
// 使用 PageHelper 开始分页
// Page<BussinessInventory> page = PageFactory.getDefaultPage(Long.parseLong(req.getPageNo()),Long.parseLong(req.getPageSize()));
Page
<
BussinessInventory
>
page
=
this
.
page
(
PageFactory
.
getDefaultPage
(),
wrapper
);
return
PageResultFactory
.
createPageResult
(
page
);
}
/**
* 设置单据单号
* 通用方法,根据组织机构id以及业务单据类型来进行设置
...
...
@@ -157,4 +223,15 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
}
}
private
LambdaQueryWrapper
<
BussinessInventory
>
createWrapper
(
BussinessInventoryReq
req
)
{
LambdaQueryWrapper
<
BussinessInventory
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
ObjectUtil
.
isEmpty
(
req
))
{
return
wrapper
;
}
wrapper
.
eq
(
BussinessInventory:
:
getOrgId
,
req
.
getOrgId
());
wrapper
.
eq
(
ObjectUtil
.
isNotNull
(
req
.
getWarehouseId
()),
BussinessInventory:
:
getWarehouseId
,
req
.
getWarehouseId
());
wrapper
.
eq
(
ObjectUtil
.
isNotNull
(
req
.
getType
()),
BussinessInventory:
:
getBussinessType
,
req
.
getType
());
return
wrapper
;
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论