Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
foodNexus-admin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
副食品筹措管理平台
foodNexus-admin
Commits
828611ee
Commit
828611ee
authored
Jan 06, 2026
by
杨浩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
供应商 - 发货
parent
8e97fb84
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
101 additions
and
24 deletions
+101
-24
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
+4
-2
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java
+3
-0
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/vo/supplier/SupplierPurchaseOrderDeliveryReqVO.java
+18
-6
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/dal/dataobject/purchase/ErpPurchaseOrderItemDO.java
+6
-0
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java
+14
-9
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/CustomerRequireController.java
+15
-4
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/vo/CustomerRequireRequireReqVO.java
+22
-0
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/vo/CustomerRequireRespVO.java
+7
-0
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/dal/dataobject/customerrequire/CustomerRequireDO.java
+5
-0
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/service/customerrequire/CustomerRequireService.java
+2
-1
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/service/customerrequire/CustomerRequireServiceImpl.java
+4
-1
pom.xml
+1
-1
No files found.
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
View file @
828611ee
...
...
@@ -197,8 +197,10 @@ public class ErpPurchaseOrderController {
@Operation
(
summary
=
"供应商 - 发货"
)
@Parameter
(
name
=
"ids"
,
description
=
"编号"
,
required
=
true
)
@AppSystemAuth
(
UserSystemEnum
.
SUPPLIER
)
public
CommonResult
<
Boolean
>
supplierPurchaseOrderDelivery
(
@RequestBody
@Valid
SupplierPurchaseOrderDeliveryReqVO
reqVO
)
{
purchaseOrderService
.
delivery
(
reqVO
,
supplierApi
.
querySupplierIdByUserId
(
SecurityFrameworkUtils
.
getLoginUserId
()),
public
CommonResult
<
Boolean
>
supplierPurchaseOrderDelivery
(
@RequestBody
@Valid
SupplierPurchaseOrderDeliveryReqVO
.
Item
reqVO
)
{
SupplierPurchaseOrderDeliveryReqVO
delivery
=
new
SupplierPurchaseOrderDeliveryReqVO
();
delivery
.
setIds
(
CommonUtil
.
asList
(
reqVO
));
purchaseOrderService
.
delivery
(
delivery
,
supplierApi
.
querySupplierIdByUserId
(
SecurityFrameworkUtils
.
getLoginUserId
()),
ErpDeliveryStatus
.
NOT_YET
,
ErpDeliveryStatus
.
ALREADY
,
CustomerOrderStatus
.
SUPPLIER_SHIP
);
return
success
(
Boolean
.
TRUE
);
}
...
...
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java
View file @
828611ee
...
...
@@ -227,6 +227,9 @@ public class ErpPurchaseOrderRespVO {
@Schema
(
description
=
"退货金额"
)
private
Integer
returnsTotal
;
@Schema
(
description
=
"附件"
)
private
String
annex
;
}
}
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/controller/admin/purchase/vo/supplier/SupplierPurchaseOrderDeliveryReqVO.java
View file @
828611ee
package
cn
.
iocoder
.
foodnexus
.
module
.
erp
.
controller
.
admin
.
purchase
.
vo
.
supplier
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
jakarta.validation.Valid
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -17,9 +18,9 @@ import java.util.List;
@Schema
(
description
=
"供应商后台发货"
)
public
class
SupplierPurchaseOrderDeliveryReqVO
{
@Schema
(
description
=
"i
tem
s"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@NotNull
(
message
=
"i
tem
s不能为空"
)
private
List
<
Item
>
i
tem
s
;
@Schema
(
description
=
"i
d
s"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@NotNull
(
message
=
"i
d
s不能为空"
)
private
List
<
Item
>
i
d
s
;
@Data
public
static
class
Item
{
...
...
@@ -27,8 +28,19 @@ public class SupplierPurchaseOrderDeliveryReqVO {
@NotNull
(
message
=
"id不能为空"
)
private
Long
id
;
@Schema
(
description
=
"文件附件url"
)
private
String
file
;
@Valid
private
List
<
ProductFile
>
productFiles
;
}
@Data
public
static
class
ProductFile
{
@Schema
(
description
=
"商品id"
)
@NotNull
(
message
=
"商品id不能为空"
)
private
Long
productId
;
@Schema
(
description
=
"附件"
)
private
String
annex
;
}
public
static
SupplierPurchaseOrderDeliveryReqVO
transform
(
List
<
Long
>
ids
)
{
...
...
@@ -39,7 +51,7 @@ public class SupplierPurchaseOrderDeliveryReqVO {
item
.
setId
(
id
);
items
.
add
(
item
);
}
data
.
setI
tem
s
(
items
);
data
.
setI
d
s
(
items
);
return
data
;
}
...
...
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/dal/dataobject/purchase/ErpPurchaseOrderItemDO.java
View file @
828611ee
...
...
@@ -95,4 +95,9 @@ public class ErpPurchaseOrderItemDO extends BaseDO {
*/
private
Long
customerOrderItemId
;
/**
* 附件
*/
private
String
annex
;
}
\ No newline at end of file
foodnexus-module-erp/src/main/java/cn/iocoder/foodnexus/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java
View file @
828611ee
...
...
@@ -94,7 +94,7 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Long
createPurchaseOrder
(
ErpPurchaseOrderSaveReqVO
createReqVO
)
{
// 1.1 校验订单项的有效性
List
<
ErpPurchaseOrderItemDO
>
purchaseOrderItems
=
validatePurchaseOrderItems
(
create
ReqVO
.
getItem
s
());
List
<
ErpPurchaseOrderItemDO
>
purchaseOrderItems
=
validatePurchaseOrderItems
(
create
reqVO
.
getId
s
());
// 1.2 校验供应商
supplierService
.
validateSupplier
(
createReqVO
.
getSupplierId
());
// 1.3 校验结算账户
...
...
@@ -133,7 +133,7 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService {
accountService
.
validateAccount
(
updateReqVO
.
getAccountId
());
}
// 1.4 校验订单项的有效性
List
<
ErpPurchaseOrderItemDO
>
purchaseOrderItems
=
validatePurchaseOrderItems
(
update
ReqVO
.
getItem
s
());
List
<
ErpPurchaseOrderItemDO
>
purchaseOrderItems
=
validatePurchaseOrderItems
(
update
reqVO
.
getId
s
());
// 2.1 更新订单
ErpPurchaseOrderDO
updateObj
=
BeanUtils
.
toBean
(
updateReqVO
,
ErpPurchaseOrderDO
.
class
);
...
...
@@ -332,8 +332,8 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRES_NEW
)
public
void
delivery
(
SupplierPurchaseOrderDeliveryReqVO
reqVO
,
Long
supplierId
,
ErpDeliveryStatus
oriStatus
,
ErpDeliveryStatus
updateStatus
,
CustomerOrderStatus
updateOrderStatus
)
{
Map
<
Long
,
String
>
idMap
=
CommonUtil
.
listConvertMap
(
reqVO
.
getItems
(),
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getId
,
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getFile
);
Set
<
Long
>
ids
=
CommonUtil
.
listConvertSet
(
reqVO
.
getI
tem
s
(),
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getId
);
Map
<
Long
,
List
<
SupplierPurchaseOrderDeliveryReqVO
.
ProductFile
>>
idMap
=
CommonUtil
.
listConvertMap
(
reqVO
.
getIds
(),
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getId
,
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getProductFiles
);
Set
<
Long
>
ids
=
CommonUtil
.
listConvertSet
(
reqVO
.
getI
d
s
(),
SupplierPurchaseOrderDeliveryReqVO
.
Item
::
getId
);
List
<
ErpPurchaseOrderDO
>
orderList
=
purchaseOrderMapper
.
selectList
(
Wrappers
.<
ErpPurchaseOrderDO
>
lambdaQuery
()
.
in
(
ErpPurchaseOrderDO:
:
getId
,
ids
)
.
eq
(
CommonUtil
.
isNotEmpty
(
supplierId
)
,
ErpPurchaseOrderDO:
:
getSupplierId
,
supplierId
));
...
...
@@ -369,14 +369,19 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService {
customerOrderSet
.
add
(
item
.
getCustomerOrderId
());
}
String
fileUrl
=
idMap
.
get
(
item
.
getId
());
if
(
CommonUtil
.
isNotBlank
(
fileUrl
))
{
item
.
setFileUrl
(
fileUrl
);
}
purchaseOrderMapper
.
update
(
Wrappers
.<
ErpPurchaseOrderDO
>
lambdaUpdate
()
.
set
(
ErpPurchaseOrderDO:
:
getDeliveryStatus
,
updateStatus
)
.
set
(
CommonUtil
.
isNotBlank
(
fileUrl
),
ErpPurchaseOrderDO:
:
getFileUrl
,
fileUrl
)
.
eq
(
ErpPurchaseOrderDO:
:
getId
,
item
.
getId
()));
List
<
SupplierPurchaseOrderDeliveryReqVO
.
ProductFile
>
productFiles
=
idMap
.
get
(
item
.
getId
());
if
(
CommonUtil
.
isNotEmpty
(
productFiles
))
{
productFiles
.
forEach
(
purchaseOrderItem
->
{
purchaseOrderItemMapper
.
update
(
Wrappers
.<
ErpPurchaseOrderItemDO
>
lambdaUpdate
()
.
set
(
ErpPurchaseOrderItemDO:
:
getAnnex
,
purchaseOrderItem
.
getAnnex
())
.
eq
(
ErpPurchaseOrderItemDO:
:
getOrderId
,
item
.
getId
())
.
eq
(
ErpPurchaseOrderItemDO:
:
getProductId
,
purchaseOrderItem
.
getProductId
()));
});
}
}
...
...
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/CustomerRequireController.java
View file @
828611ee
package
cn
.
iocoder
.
foodnexus
.
module
.
operations
.
controller
.
admin
.
customerrequire
;
import
cn.iocoder.foodnexus.framework.common.util.CommonUtil
;
import
cn.iocoder.foodnexus.framework.common.util.collection.MapUtils
;
import
cn.iocoder.foodnexus.module.erp.api.service.ErpCustomerApi
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
jakarta.annotation.Resource
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -38,12 +42,14 @@ public class CustomerRequireController {
@Resource
private
CustomerRequireService
customerRequireService
;
@Autowired
private
ErpCustomerApi
customerApi
;
@PostMapping
(
"/require"
)
@Operation
(
summary
=
"受理客户需求"
)
@Parameter
(
name
=
"id"
,
description
=
"编号"
,
required
=
true
)
public
CommonResult
<
Boolean
>
require
(
@Request
Param
(
"id"
)
Long
id
)
{
customerRequireService
.
require
(
id
);
public
CommonResult
<
Boolean
>
require
(
@Request
Body
@Valid
CustomerRequireRequireReqVO
reqVO
)
{
customerRequireService
.
require
(
reqVO
);
return
success
(
true
);
}
...
...
@@ -71,7 +77,9 @@ public class CustomerRequireController {
@PreAuthorize
(
"@ss.hasPermission('oper:customer-require:query')"
)
public
CommonResult
<
CustomerRequireRespVO
>
getCustomerRequire
(
@RequestParam
(
"id"
)
Long
id
)
{
CustomerRequireDO
customerRequire
=
customerRequireService
.
getCustomerRequire
(
id
);
return
success
(
BeanUtils
.
toBean
(
customerRequire
,
CustomerRequireRespVO
.
class
));
return
success
(
BeanUtils
.
toBean
(
customerRequire
,
CustomerRequireRespVO
.
class
,
item
->
{
item
.
setCustomerName
(
customerApi
.
queryNameStrById
(
item
.
getCustomerId
()));
}));
}
@GetMapping
(
"/page"
)
...
...
@@ -79,7 +87,10 @@ public class CustomerRequireController {
@PreAuthorize
(
"@ss.hasPermission('oper:customer-require:query')"
)
public
CommonResult
<
PageResult
<
CustomerRequireRespVO
>>
getCustomerRequirePage
(
@Valid
CustomerRequirePageReqVO
pageReqVO
)
{
PageResult
<
CustomerRequireDO
>
pageResult
=
customerRequireService
.
getCustomerRequirePage
(
pageReqVO
);
return
success
(
BeanUtils
.
toBean
(
pageResult
,
CustomerRequireRespVO
.
class
));
Map
<
Long
,
String
>
customerNameMap
=
customerApi
.
queryNameMapByIds
(
CommonUtil
.
listConvertSet
(
pageResult
.
getList
(),
CustomerRequireDO:
:
getCustomerId
));
return
success
(
BeanUtils
.
toBean
(
pageResult
,
CustomerRequireRespVO
.
class
,
item
->
{
MapUtils
.
findAndThen
(
customerNameMap
,
item
.
getCustomerId
(),
item:
:
setCustomerName
);
}));
}
@GetMapping
(
"/export-excel"
)
...
...
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/vo/CustomerRequireRequireReqVO.java
0 → 100644
View file @
828611ee
package
cn
.
iocoder
.
foodnexus
.
module
.
operations
.
controller
.
admin
.
customerrequire
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
/**
* @author : yanghao
* create at: 2026/1/6 10:02
* @description: 受理
*/
@Data
public
class
CustomerRequireRequireReqVO
{
@Schema
(
description
=
"id"
)
@NotNull
(
message
=
"id不能为空"
)
private
Long
id
;
@Schema
(
description
=
"备注"
)
private
String
remark
;
}
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/controller/admin/customerrequire/vo/CustomerRequireRespVO.java
View file @
828611ee
...
...
@@ -20,6 +20,9 @@ public class CustomerRequireRespVO {
@ExcelProperty
(
"客户id"
)
private
Long
customerId
;
@Schema
(
description
=
"客户名称"
)
private
String
customerName
;
@Schema
(
description
=
"需求标题"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@ExcelProperty
(
"需求标题"
)
private
String
requireTitle
;
...
...
@@ -54,4 +57,7 @@ public class CustomerRequireRespVO {
@ExcelProperty
(
"创建人"
)
private
String
creator
;
@Schema
(
description
=
"备注"
)
private
String
remark
;
}
\ No newline at end of file
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/dal/dataobject/customerrequire/CustomerRequireDO.java
View file @
828611ee
...
...
@@ -51,6 +51,10 @@ public class CustomerRequireDO extends BaseDO {
* 受理时间
*/
private
LocalDateTime
requireTime
;
/**
* 备注
*/
private
String
remark
;
}
\ No newline at end of file
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/service/customerrequire/CustomerRequireService.java
View file @
828611ee
...
...
@@ -59,5 +59,5 @@ public interface CustomerRequireService {
*/
PageResult
<
CustomerRequireDO
>
getCustomerRequirePage
(
CustomerRequirePageReqVO
pageReqVO
);
void
require
(
Long
id
);
void
require
(
CustomerRequireRequireReqVO
id
);
}
\ No newline at end of file
foodnexus-module-mall/foodnexus-module-operations/src/main/java/cn/iocoder/foodnexus/module/operations/service/customerrequire/CustomerRequireServiceImpl.java
View file @
828611ee
package
cn
.
iocoder
.
foodnexus
.
module
.
operations
.
service
.
customerrequire
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.iocoder.foodnexus.framework.common.util.CommonUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
org.springframework.stereotype.Service
;
import
jakarta.annotation.Resource
;
...
...
@@ -89,11 +90,13 @@ public class CustomerRequireServiceImpl implements CustomerRequireService {
}
@Override
public
void
require
(
Long
id
)
{
public
void
require
(
CustomerRequireRequireReqVO
reqVO
)
{
Long
id
=
reqVO
.
getId
();
this
.
validateCustomerRequireExists
(
id
);
customerRequireMapper
.
update
(
Wrappers
.<
CustomerRequireDO
>
lambdaUpdate
()
.
set
(
CustomerRequireDO:
:
getIsRequire
,
Boolean
.
TRUE
)
.
set
(
CustomerRequireDO:
:
getRequireTime
,
LocalDateTime
.
now
())
.
set
(
CommonUtil
.
isNotBlank
(
reqVO
.
getRemark
()),
CustomerRequireDO:
:
getRemark
,
reqVO
.
getRemark
())
.
eq
(
CustomerRequireDO:
:
getId
,
id
));
}
...
...
pom.xml
View file @
828611ee
...
...
@@ -17,7 +17,7 @@
<module>
foodnexus-module-infra
</module>
<!--<module>foodnexus-module-member</module>-->
<!-- <module>foodnexus-module-bpm</module>-->
<!-- <module>foodnexus-module-report</module>--
>
<module>
foodnexus-module-report
</module
>
<!-- <module>foodnexus-module-mp</module>-->
<!--<module>foodnexus-module-pay</module>-->
<module>
foodnexus-module-mall
</module>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment