From 9598da0195806329f911f6d5b73573b429f1926c Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 15 一月 2026 09:56:23 +0800
Subject: [PATCH] #
---
rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java | 20 ++++
rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx | 2
rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx | 30 +++---
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGetType.java | 11 ++
rsf-admin/src/page/system/role/AssignPermissions_warehouse.jsx | 4
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasContainerController.java | 25 -----
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java | 79 ++++++++-------
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java | 76 +++++++-------
9 files changed, 129 insertions(+), 120 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx b/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
index 5132283..8794320 100644
--- a/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/basContainer/BasContainerCreate.jsx
@@ -103,7 +103,7 @@
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
- <ReferenceArrayInput source="areaIds" reference="warehouseAreas">
+ <ReferenceArrayInput source="areas" reference="warehouseAreas">
<SelectArrayInput
label="table.field.basStation.crossZoneArea"
optionText="name"
diff --git a/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx b/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
index 4621bc4..b493002 100644
--- a/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/basContainer/BasContainerEdit.jsx
@@ -82,7 +82,7 @@
/>
</Stack>
<Stack direction='row' gap={2}>
- <ReferenceArrayInput source="areaIds" reference="warehouseAreas">
+ <ReferenceArrayInput source="areas" reference="warehouseAreas">
<SelectArrayInput
label="table.field.basContainer.areas"
optionText="name"
diff --git a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
index e8f9de3..97b0746 100644
--- a/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
+++ b/rsf-admin/src/page/basicInfo/basStation/CrossZoneAreaField.jsx
@@ -1,4 +1,4 @@
-import { useState, useRef, useEffect, useMemo, useCallback } from 'react';
+import { useState, useRef, useEffect, useMemo, useCallback } from 'react';
import { Stack, Chip, Dialog, DialogTitle, DialogContent, IconButton, CircularProgress } from '@mui/material';
import { useTranslate, useRecordContext } from 'react-admin';
import CloseIcon from '@mui/icons-material/Close';
@@ -20,11 +20,11 @@
};
const fetchAreaNames = async () => {
- if (!record?.areaIds || record.areaIds.length === 0) return;
-
+ if (!record?.areas || record.areas.length === 0) return;
+
setLoading(true);
- try {
- const res = await request.post(`/warehouseAreas/many/${record.areaIds.join(',')}`);
+ try {
+ const res = await request.post(`/warehouseAreas/many/${record.areas.join(',')}`);
if (res?.data?.code === 200) {
setAreaNames(res.data.data || []);
}
@@ -36,10 +36,10 @@
};
useEffect(() => {
- if (record?.areaIds && record.areaIds.length !== 0 && record.areaIds.length > 0) {
+ if (record?.areas && record.areas.length !== 0 && record.areas.length > 0) {
fetchAreaNames();
}
- }, [record]);
+ }, [record]);
if (loading) {
return <CircularProgress size={20} />;
@@ -47,10 +47,10 @@
return (
<>
- <Stack
- direction="row"
- gap={1}
- flexWrap="wrap"
+ <Stack
+ direction="row"
+ gap={1}
+ flexWrap="wrap"
onClick={handleOpen}
sx={{ cursor: 'pointer' }}
>
@@ -67,16 +67,16 @@
label={`+${areaNames.length - 1}`}
/>
)}
- {areaNames.length === 0 && record.areaIds && record.areaIds.length > 0 && (
+ {areaNames.length === 0 && record.areas && record.areas.length > 0 && (
<Chip
size="small"
- label={`${record.areaIds.length} 涓尯鍩焋}
+ label={`${record.areas.length} 涓尯鍩焋}
/>
)}
</Stack>
- <Dialog
- open={open}
+ <Dialog
+ open={open}
onClose={handleClose}
maxWidth="md"
fullWidth
diff --git a/rsf-admin/src/page/system/role/AssignPermissions_warehouse.jsx b/rsf-admin/src/page/system/role/AssignPermissions_warehouse.jsx
index ef0d01f..74f9621 100644
--- a/rsf-admin/src/page/system/role/AssignPermissions_warehouse.jsx
+++ b/rsf-admin/src/page/system/role/AssignPermissions_warehouse.jsx
@@ -11,7 +11,7 @@
const DEFAULT_EXPAND_ALL = true;
-const AssignPermissionsMatnr = (props) => {
+const AssignPermissionsWarehouse = (props) => {
const { role, originMenuIds, setDrawerVal, closeCallback, authType } = props;
const translate = useTranslate();
const notify = useNotify();
@@ -377,4 +377,4 @@
)
}
-export default AssignPermissionsMatnr;
\ No newline at end of file
+export default AssignPermissionsWarehouse;
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
index 03830d3..3aea7ee 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -3,10 +3,13 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.common.SpringUtils;
import com.vincent.rsf.server.api.entity.dto.ContainerWaveDto;
import com.vincent.rsf.server.api.entity.params.CallForEmptyContainersParam;
import com.vincent.rsf.server.api.entity.params.ContainerWaveParam;
+import com.vincent.rsf.server.api.entity.params.OrderOutGetType;
import com.vincent.rsf.server.api.service.PdaOutStockService;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
@@ -14,6 +17,7 @@
import com.vincent.rsf.server.manager.entity.WkOrderItem;
import com.vincent.rsf.server.manager.service.OutStockItemService;
import com.vincent.rsf.server.manager.service.OutStockService;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.DictDataService;
@@ -39,6 +43,8 @@
private OutStockService outStockService;
@Resource
private OutStockItemService outStockItemService;
+ @Autowired
+ private DictDataService dictDataService;
@PreAuthorize("hasAuthority('manager:task:list')")
@GetMapping("/outStockTaskItem/{barcode}")
@@ -95,4 +101,18 @@
return R.ok().add(outStockItemService.list(new LambdaQueryWrapper<>(WkOrderItem.class).eq(WkOrderItem::getDeleted, 0)
.eq(WkOrderItem::getOrderCode, param.getString("orderId"))));
}
+
+ @PostMapping("/orderOut/getType")
+ public R orderOutGetType(@RequestBody OrderOutGetType orderOutGetType) {
+ if (Cools.isEmpty(orderOutGetType)){
+ return R.ok();
+ }
+
+ List<DictData> dictData = dictDataService.list(new LambdaQueryWrapper<DictData>()
+ .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
+ .in(DictData::getValue, orderOutGetType.getType())
+ );
+ return R.ok(dictData);
+ }
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGetType.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGetType.java
new file mode 100644
index 0000000..e0bd72c
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGetType.java
@@ -0,0 +1,11 @@
+package com.vincent.rsf.server.api.entity.params;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderOutGetType {
+
+ private List<Long> type;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasContainerController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasContainerController.java
index e352697..0c06dcd 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasContainerController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/BasContainerController.java
@@ -32,18 +32,6 @@
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<BasContainer, BaseParam> pageParam = new PageParam<>(baseParam, BasContainer.class);
PageParam<BasContainer, BaseParam> page = basContainerService.page(pageParam, pageParam.buildWrapper(true));
- for (BasContainer container : page.getRecords()) {
- if (!Cools.isEmpty(container.getAreas())) {
- String content = container.getAreas().substring(1, container.getAreas().length() - 1);
- String[] parts = content.split(",");
- Long[] longArray = new Long[parts.length];
- for (int i = 0; i < parts.length; i++) {
- longArray[i] = Long.parseLong(parts[i].trim());
- }
- container.setAreaIds(longArray);
- }
-
- }
return R.ok().add(page);
}
@@ -63,13 +51,6 @@
@GetMapping("/basContainer/{id}")
public R get(@PathVariable("id") Long id) {
BasContainer basContainer = basContainerService.getById(id);
- String content = basContainer.getAreas().substring(1, basContainer.getAreas().length() - 1);
- String[] parts = content.split(",");
- Long[] longArray = new Long[parts.length];
- for (int i = 0; i < parts.length; i++) {
- longArray[i] = Long.parseLong(parts[i].trim());
- }
- basContainer.setAreaIds(longArray);
return R.ok().add(basContainer);
}
@@ -85,9 +66,6 @@
if (null != container) {
return R.error("璇ョ被鍨嬪凡琚垵濮嬪寲");
}
- if (null !=basContainer.getAreaIds()){
- basContainer.setAreas(Arrays.toString(basContainer.getAreaIds()));
- }
if (!basContainerService.save(basContainer)) {
return R.error("Save Fail");
}
@@ -100,9 +78,6 @@
public R update(@RequestBody BasContainer basContainer) {
basContainer.setUpdateBy(getLoginUserId());
basContainer.setUpdateTime(new Date());
- if (null !=basContainer.getAreaIds()){
- basContainer.setAreas(Arrays.toString(basContainer.getAreaIds()));
- }
if (!basContainerService.updateById(basContainer)) {
return R.error("Update Fail");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
index 65ac662..6635df2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
@@ -6,6 +6,8 @@
import java.util.Date;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.DictDataService;
import lombok.experimental.Accessors;
@@ -23,10 +25,11 @@
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
@Data
@Accessors(chain = true)
-@TableName("man_bas_container")
+@TableName(value = "man_bas_container", autoResultMap = true)
public class BasContainer implements Serializable {
private static final long serialVersionUID = 1L;
@@ -34,10 +37,9 @@
/**
* id
*/
- @ApiModelProperty(value= "id")
+ @ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
-
@ApiModelProperty("鍞竴缂栫爜")
private String code;
@@ -45,77 +47,79 @@
/**
* 瀹瑰櫒绫诲瀷
*/
- @ApiModelProperty(value= "瀹瑰櫒绫诲瀷")
+ @ApiModelProperty(value = "瀹瑰櫒绫诲瀷")
private Long containerType;
/**
* 瀹瑰櫒鏉$爜绫诲瀷
*/
- @ApiModelProperty(value= "瀹瑰櫒鏉$爜绫诲瀷")
+ @ApiModelProperty(value = "瀹瑰櫒鏉$爜绫诲瀷")
private String codeType;
/**
* 鍙叆搴撳尯
*/
- @ApiModelProperty(value= "鍙叆搴撳尯")
- private String areas;
+ @ApiModelProperty(value = "鍙叆搴撳尯")
+ @TableField(typeHandler = JacksonTypeHandler.class)
+ private List<Integer> areas;
/**
- * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
+ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
*/
- @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
+ @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
private Integer deleted;
/**
* 鐘舵��
*/
- @ApiModelProperty(value= "鐘舵��")
+ @ApiModelProperty(value = "鐘舵��")
private Integer status;
/**
* 绉熸埛
*/
- @ApiModelProperty(value= "绉熸埛")
+ @ApiModelProperty(value = "绉熸埛")
private Integer tenantId;
/**
* 娣诲姞浜哄憳
*/
- @ApiModelProperty(value= "娣诲姞浜哄憳")
+ @ApiModelProperty(value = "娣诲姞浜哄憳")
private Long createBy;
/**
* 娣诲姞鏃堕棿
*/
- @ApiModelProperty(value= "娣诲姞鏃堕棿")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "娣诲姞鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 淇敼浜哄憳
*/
- @ApiModelProperty(value= "淇敼浜哄憳")
+ @ApiModelProperty(value = "淇敼浜哄憳")
private Long updateBy;
/**
* 淇敼鏃堕棿
*/
- @ApiModelProperty(value= "淇敼鏃堕棿")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 澶囨敞
*/
- @ApiModelProperty(value= "澶囨敞")
+ @ApiModelProperty(value = "澶囨敞")
private String memo;
- @TableField(exist = false)
- private Long[] areaIds;
- public BasContainer() {}
- public BasContainer(Long containerType,String codeType,String areas,Integer deleted,Integer status,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+ public BasContainer() {
+ }
+
+ public BasContainer(Long containerType, String codeType, List<Integer> areas, Integer deleted, Integer status,
+ Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
this.containerType = containerType;
this.codeType = codeType;
this.areas = areas;
@@ -150,51 +154,50 @@
DictDataService service = SpringUtils.getBean(DictDataService.class);
DictData dictData = service.getOne(new LambdaQueryWrapper<DictData>()
.eq(DictData::getDictTypeCode, "sys_container_type")
- .eq(DictData::getValue, this.containerType)
- );
- if (!Cools.isEmpty(dictData)){
+ .eq(DictData::getValue, this.containerType));
+ if (!Cools.isEmpty(dictData)) {
return String.valueOf(dictData.getLabel());
}
return "";
}
- public String getCreateBy$(){
+ public String getCreateBy$() {
UserService service = SpringUtils.getBean(UserService.class);
User user = service.getById(this.createBy);
- if (!Cools.isEmpty(user)){
+ if (!Cools.isEmpty(user)) {
return String.valueOf(user.getNickname());
}
return null;
}
- public String getCreateTime$(){
- if (Cools.isEmpty(this.createTime)){
+ public String getCreateTime$() {
+ if (Cools.isEmpty(this.createTime)) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
}
- public String getUpdateBy$(){
+ public String getUpdateBy$() {
UserService service = SpringUtils.getBean(UserService.class);
User user = service.getById(this.updateBy);
- if (!Cools.isEmpty(user)){
+ if (!Cools.isEmpty(user)) {
return String.valueOf(user.getNickname());
}
return null;
}
- public String getUpdateTime$(){
- if (Cools.isEmpty(this.updateTime)){
+ public String getUpdateTime$() {
+ if (Cools.isEmpty(this.updateTime)) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
}
-
-
- public Boolean getStatusBool(){
- if (null == this.status){ return null; }
- switch (this.status){
+ public Boolean getStatusBool() {
+ if (null == this.status) {
+ return null;
+ }
+ switch (this.status) {
case 1:
return true;
case 0:
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java
index c0cd7b3..3a23198 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java
@@ -38,44 +38,44 @@
@Override
@Transactional(rollbackFor = Exception.class)
public R init(InitContainerParams params, Long loginUserId) {
- if (Objects.isNull(params.getStartNo())) {
- throw new CoolException("瀹瑰櫒璧峰鍊间笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(params.getEndNo())) {
- throw new CoolException("瀹瑰櫒缁撴潫鍊间笉鑳戒负绌猴紒锛�");
- }
+// if (Objects.isNull(params.getStartNo())) {
+// throw new CoolException("瀹瑰櫒璧峰鍊间笉鑳戒负绌猴紒锛�");
+// }
+// if (Objects.isNull(params.getEndNo())) {
+// throw new CoolException("瀹瑰櫒缁撴潫鍊间笉鑳戒负绌猴紒锛�");
+// }
+//
+// WarehouseAreas areas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, 42L));
+// if (Objects.isNull(areas)) {
+// throw new CoolException("搴撳尯涓嶅瓨鍦紝璇疯仈绯荤鐞嗗憳锛侊紒");
+// }
+//
+// if (params.getFlagInit()) {
+// this.remove(new LambdaQueryWrapper<>());
+// }
+//
+// List<BasContainer> containerList = new ArrayList<>();
+// for (int i = params.getStartNo(); i <= params.getEndNo() ; i++) {
+// BasContainer container = new BasContainer();
+// String code = StringUtils.leftPad(i + "", params.getLength(), "0");
+// if (!params.getContainerType().equals(3L)) {
+// params.setPrefix("81");
+// }
+// container.setAreas(areas.getName())
+// .setCodeType(QRCodeType.QRCODE_TYPE_BARCODE.desc)
+// .setCode(params.getPrefix() + code)
+// .setCreateTime(new Date())
+// .setCreateBy(loginUserId)
+// .setUpdateBy(loginUserId)
+// .setUpdateTime(new Date())
+// .setContainerType(params.getContainerType());
+// containerList.add(container);
+// }
+//
+// if (!this.saveBatch(containerList)) {
+// throw new CoolException("瀹瑰櫒淇濆瓨澶辫触,璇锋鏌ョ紪鐮佹槸鍚︽湁閲嶅锛侊紒");
+// }
- WarehouseAreas areas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, 42L));
- if (Objects.isNull(areas)) {
- throw new CoolException("搴撳尯涓嶅瓨鍦紝璇疯仈绯荤鐞嗗憳锛侊紒");
- }
-
- if (params.getFlagInit()) {
- this.remove(new LambdaQueryWrapper<>());
- }
-
- List<BasContainer> containerList = new ArrayList<>();
- for (int i = params.getStartNo(); i <= params.getEndNo() ; i++) {
- BasContainer container = new BasContainer();
- String code = StringUtils.leftPad(i + "", params.getLength(), "0");
- if (!params.getContainerType().equals(3L)) {
- params.setPrefix("81");
- }
- container.setAreas(areas.getName())
- .setCodeType(QRCodeType.QRCODE_TYPE_BARCODE.desc)
- .setCode(params.getPrefix() + code)
- .setCreateTime(new Date())
- .setCreateBy(loginUserId)
- .setUpdateBy(loginUserId)
- .setUpdateTime(new Date())
- .setContainerType(params.getContainerType());
- containerList.add(container);
- }
-
- if (!this.saveBatch(containerList)) {
- throw new CoolException("瀹瑰櫒淇濆瓨澶辫触,璇锋鏌ョ紪鐮佹槸鍚︽湁閲嶅锛侊紒");
- }
-
- return R.ok("鏂板鎴愬姛锛侊紒").add(containerList);
+ return R.ok("鏂板鎴愬姛锛侊紒");
}
}
--
Gitblit v1.9.1