From 553ffd71e38c1fcae9c678dae1106e820bbd5127 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 04 六月 2025 08:10:47 +0800
Subject: [PATCH] 任务执行优化修改
---
rsf-admin/src/page/work/components/locItemInfoModal.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 65 +++--
rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx | 14
rsf-admin/src/page/work/stockTransfer/stockTransferList.jsx | 14
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 73 +++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryItemController.java | 28 ++
rsf-admin/src/page/basicInfo/loc/LocList.jsx | 114 ++++++-----
rsf-admin/src/page/work/outBound/OutBoundList.jsx | 26 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 60 +++--
rsf-admin/src/page/locItem/LocItemList.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/DeliveryItemService.java | 7
rsf-admin/src/page/task/TaskList.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 3
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java | 4
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java | 172 +++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java | 12
16 files changed, 451 insertions(+), 147 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index c93cee0..3b945f5 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -83,58 +83,7 @@
},
}));
-const filters = [
- <SearchInput source="condition" alwaysOn />,
- <ReferenceInput
- source="warehouseId"
- label="table.field.loc.warehouseId"
- reference="warehouse"
- >
- <AutocompleteInput
- label="table.field.loc.warehouseId"
- optionText="name"
- filterToQuery={(val) => ({ name: val })}
- />
- </ReferenceInput>,
- <ReferenceInput
- source="areaId"
- label="table.field.loc.areaId"
- reference="warehouseAreas"
- >
- <AutocompleteInput
- label="table.field.loc.areaId"
- optionText="name"
- filterToQuery={(val) => ({ name: val })}
- />
- </ReferenceInput>,
- <TextInput source="code" label="table.field.loc.code" />,
- <TextInput source="type" label="table.field.loc.type" />,
- <TextInput source="name" label="table.field.loc.name" />,
- <NumberInput source="flagLogic" label="table.field.loc.flagLogic" />,
- <TextInput source="fucAtrrs" label="table.field.loc.fucAtrrs" />,
- <TextInput source="barcode" label="table.field.loc.barcode" />,
- <TextInput source="unit" label="table.field.loc.unit" />,
- <TextInput source="size" label="table.field.loc.size" />,
- <NumberInput source="row" label="table.field.loc.row" />,
- <NumberInput source="col" label="table.field.loc.col" />,
- <NumberInput source="lev" label="table.field.loc.lev" />,
- <NumberInput source="channel" label="table.field.loc.channel" />,
- <NumberInput source="maxParts" label="table.field.loc.maxParts" />,
- <NumberInput source="maxPack" label="table.field.loc.maxPack" />,
- <NumberInput source="flagLabelMange" label="table.field.loc.flagLabelMange" />,
- <TextInput source="locAttrs" label="table.field.loc.locAttrs" />,
- <TextInput label="common.field.memo" source="memo" />,
- <SelectInput
- label="common.field.status"
- source="status"
- choices={[
- { id: '1', name: 'common.enums.statusTrue' },
- { id: '0', name: 'common.enums.statusFalse' },
- ]}
- resettable
- />,
-]
const LocList = () => {
const translate = useTranslate();
@@ -143,6 +92,69 @@
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
const [initDialog, setInitDialog] = useState(false);
+ const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_use_stas')) || [];
+
+ const filters = [
+ <SearchInput source="condition" alwaysOn />,
+ <ReferenceInput
+ source="warehouseId"
+ label="table.field.loc.warehouseId"
+ reference="warehouse"
+ >
+ <AutocompleteInput
+ label="table.field.loc.warehouseId"
+ optionText="name"
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>,
+ <ReferenceInput
+ source="areaId"
+ label="table.field.loc.areaId"
+ reference="warehouseAreas"
+ >
+ <AutocompleteInput
+ label="table.field.loc.areaId"
+ optionText="name"
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>,
+ <AutocompleteInput
+ choices={dicts}
+ optionText="label"
+ label="table.field.loc.useStatus"
+ source="useStatus"
+ optionValue="value"
+ parse={v => v}
+ alwaysOn
+ />,
+ <TextInput source="code" label="table.field.loc.code" />,
+ <TextInput source="type" label="table.field.loc.type" />,
+ <TextInput source="name" label="table.field.loc.name" />,
+ <NumberInput source="flagLogic" label="table.field.loc.flagLogic" />,
+ <TextInput source="fucAtrrs" label="table.field.loc.fucAtrrs" />,
+ <TextInput source="barcode" label="table.field.loc.barcode" />,
+ <TextInput source="unit" label="table.field.loc.unit" />,
+ <TextInput source="size" label="table.field.loc.size" />,
+ <NumberInput source="row" label="table.field.loc.row" />,
+ <NumberInput source="col" label="table.field.loc.col" />,
+ <NumberInput source="lev" label="table.field.loc.lev" />,
+ <NumberInput source="channel" label="table.field.loc.channel" />,
+ <NumberInput source="maxParts" label="table.field.loc.maxParts" />,
+ <NumberInput source="maxPack" label="table.field.loc.maxPack" />,
+ <NumberInput source="flagLabelMange" label="table.field.loc.flagLabelMange" />,
+ <TextInput source="locAttrs" label="table.field.loc.locAttrs" />,
+
+ <TextInput label="common.field.memo" source="memo" />,
+ <SelectInput
+ label="common.field.status"
+ source="status"
+ choices={[
+ { id: '1', name: 'common.enums.statusTrue' },
+ { id: '0', name: 'common.enums.statusFalse' },
+ ]}
+ resettable
+ />,
+ ]
return (
<Box display="flex">
diff --git a/rsf-admin/src/page/locItem/LocItemList.jsx b/rsf-admin/src/page/locItem/LocItemList.jsx
index 5051b92..8cce6c2 100644
--- a/rsf-admin/src/page/locItem/LocItemList.jsx
+++ b/rsf-admin/src/page/locItem/LocItemList.jsx
@@ -165,7 +165,7 @@
actions={(
<TopToolbar>
<FilterButton />
- <SelectColumnsButton preferenceKey='loc' />
+ {/* <SelectColumnsButton preferenceKey='loc' /> */}
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index 5d40fac..52dd7e2 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -255,7 +255,7 @@
}
}
return (
- ((record?.taskStatus < 98) || (record?.taskType >= 101 && record?.taskStatus < 198)) ? (<ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskAltIcon />} onConfirm={clickComplete} />) : (<></>)
+ ((record?.taskStatus < 98) || (record?.taskType >= 101 && record?.taskStatus < 198)) || (record?.taskType == 11 && record?.taskStatus == 101) ? (<ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskAltIcon />} onConfirm={clickComplete} />) : (<></>)
)
}
diff --git a/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx b/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx
index d48c170..d28751b 100644
--- a/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx
+++ b/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx
@@ -222,13 +222,13 @@
width: 100,
editable: false,
},
- {
- field: 'workQty',
- headerName: translate('table.field.locItem.workQty'),
- width: 100,
- type: 'number',
- editable: false,
- },
+ // {
+ // field: 'workQty',
+ // headerName: translate('table.field.locItem.workQty'),
+ // width: 100,
+ // type: 'number',
+ // editable: false,
+ // },
{
field: 'matnrCode',
headerName: translate('table.field.locItem.matnrCode'),
diff --git a/rsf-admin/src/page/work/components/locItemInfoModal.jsx b/rsf-admin/src/page/work/components/locItemInfoModal.jsx
index 3f7d883..9061c88 100644
--- a/rsf-admin/src/page/work/components/locItemInfoModal.jsx
+++ b/rsf-admin/src/page/work/components/locItemInfoModal.jsx
@@ -172,7 +172,7 @@
{ field: 'maktx', headerName: translate('table.field.locItem.maktx'), width: 300 },
{ field: 'batch', headerName: translate('table.field.locItem.batch'), width: 100 },
{ field: 'anfme', headerName: translate('table.field.locItem.anfme'), width: 100 },
- { field: 'workQty', headerName: translate('table.field.locItem.workQty'), width: 100 },
+ // { field: 'workQty', headerName: translate('table.field.locItem.workQty'), width: 100 },
{ field: 'unit', headerName: translate('table.field.locItem.unit'), width: 100 },
])
diff --git a/rsf-admin/src/page/work/outBound/OutBoundList.jsx b/rsf-admin/src/page/work/outBound/OutBoundList.jsx
index 391ca1d..2a6494e 100644
--- a/rsf-admin/src/page/work/outBound/OutBoundList.jsx
+++ b/rsf-admin/src/page/work/outBound/OutBoundList.jsx
@@ -183,12 +183,12 @@
}
const http = async (sta, items) => {
console.log(items);
- const filZores = items.filter(item => item.outQty <= 0.0);
- const filter = items.filter(item => (item.outQty + item.workQty) > item.anfme);
- if (filter.length > 0 || filZores.length > 0) {
- notify(translate('toolbar.request.error.out_stock_qty'))
- return
- }
+ // const filZores = items.filter(item => item.outQty <= 0.0);
+ // const filter = items.filter(item => (item.outQty + item.workQty) > item.anfme);
+ // if (filter.length > 0 || filZores.length > 0) {
+ // notify(translate('toolbar.request.error.out_stock_qty'))
+ // return
+ // }
const { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items });
if (code === 200) {
notify(msg);
@@ -232,13 +232,13 @@
width: 100,
editable: false,
},
- {
- field: 'workQty',
- headerName: translate('table.field.locItem.workQty'),
- width: 100,
- type: 'number',
- editable: false,
- },
+ // {
+ // field: 'workQty',
+ // headerName: translate('table.field.locItem.workQty'),
+ // width: 100,
+ // type: 'number',
+ // editable: false,
+ // },
{
field: 'locCode',
headerName: translate('table.field.locItem.locCode'),
diff --git a/rsf-admin/src/page/work/stockTransfer/stockTransferList.jsx b/rsf-admin/src/page/work/stockTransfer/stockTransferList.jsx
index 66e82eb..5c4bce0 100644
--- a/rsf-admin/src/page/work/stockTransfer/stockTransferList.jsx
+++ b/rsf-admin/src/page/work/stockTransfer/stockTransferList.jsx
@@ -271,13 +271,13 @@
width: 100,
editable: false,
},
- {
- field: 'workQty',
- headerName: translate('table.field.locItem.workQty'),
- width: 100,
- type: 'number',
- editable: false,
- },
+ // {
+ // field: 'workQty',
+ // headerName: translate('table.field.locItem.workQty'),
+ // width: 100,
+ // type: 'number',
+ // editable: false,
+ // },
{
field: 'locCode',
headerName: translate('table.field.locItem.locCode'),
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryItemController.java
index e4a9178..adf0cba 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryItemController.java
@@ -1,9 +1,11 @@
package com.vincent.rsf.server.manager.controller;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
@@ -14,10 +16,12 @@
import com.vincent.rsf.server.manager.service.CompanysService;
import com.vincent.rsf.server.manager.service.DeliveryItemService;
import com.vincent.rsf.server.system.controller.BaseController;
+import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@@ -115,7 +119,29 @@
@PreAuthorize("hasAuthority('manager:deliveryItem:list')")
@PostMapping("/deliveryItem/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(deliveryItemService.list(), DeliveryItem.class), response);
+ if (!Cools.isEmpty(map) && !Cools.isEmpty(map.get("ids"))) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ List<Long> jsonArray = JSONArray.parseArray(JSONArray.toJSONString(map.get("ids")), Long.class);
+// if (jsonArray.isEmpty()) {
+// ExcelUtil.build(ExcelUtil.create(deliveryItemService.getOne(new La), DeliveryItem.class), response);
+// } else {
+// ExcelUtil.build(ExcelUtil.create(deliveryItemService.list(), DeliveryItem.class), response);
+// }
+ }
+
+
+ @PostMapping("/deliveryItem/import")
+ @ApiOperation("DO鍗曞鍏ユ帴鍙�")
+ @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
+ public R importExcel(@RequestParam(value = "file") MultipartFile file) throws Exception {
+ if (Objects.isNull(file)) {
+ return R.error("鏂囦欢涓嶈兘涓虹┖锛侊紒");
+ }
+ Map<String, Object> hashMap = new HashMap<>();
+
+ return R.ok();
+// return deliveryItemService.excelImport(file, hashMap, getLoginUserId());
}
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
index 86e8297..69ccd27 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
@@ -19,7 +19,7 @@
@Excel(name = "*DO鍗曞彿")
@ApiModelProperty(value= "*PO鍗曞彿")
@ExcelComment(value = "poCode", example = "PO25413975")
- private String poCode;
+ private String doCode;
@Excel(name = "*琛屽彿")
@ApiModelProperty(value= "*琛屽彿")
@@ -85,7 +85,7 @@
@Excel(name = "鏁伴噺")
@ApiModelProperty(value= "鏁伴噺")
@ExcelComment(value = "anfme", example = "75")
- private Double anfme;
+ private String anfme;
/**
* 渚涘簲鍟嗙紪鐮�
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 13b453f..e63a975 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -2,17 +2,24 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.utils.LocUtils;
+import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
+import com.vincent.rsf.server.manager.enums.LocStsType;
import com.vincent.rsf.server.manager.enums.TaskStsType;
import com.vincent.rsf.server.manager.entity.*;
+import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.manager.service.*;
+import com.vincent.rsf.server.manager.service.impl.LocServiceImpl;
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.service.ConfigService;
import com.vincent.rsf.server.system.utils.SystemAuthUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -39,6 +46,13 @@
private TaskItemLogService taskItemLogService;
@Autowired
private ConfigService configService;
+ @Autowired
+ private LocServiceImpl locService;
+
+ @Value("${wcs-slave.doubleLocs}")
+ private List<Integer> rows;
+ @Autowired
+ private LocItemService locItemService;
/**
* @param
@@ -78,6 +92,65 @@
}
/**
+ * 浠诲姟鑷姩涓嬪彂
+ * @throws Exception
+ */
+// @Scheduled(cron = "0/5 * * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void taskToWCS() throws Exception {
+ Long loginUserId = SystemAuthUtils.getLoginUserId();
+ List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type);
+ List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getTaskType, list).orderByDesc(Task::getSort));
+ for (Task task : tasks) {
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, task.getBarcode()));
+ if (Objects.isNull(loc)) {
+ continue;
+ }
+ //鍒ゆ柇鏄惁娣卞簱浣�
+ if (!LocUtils.isShallowLoc(loc.getCode())) {
+ //鑾峰彇娣卞簱浣嶅搴旂殑娴呭簱浣�
+ String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
+ if (StringUtils.isBlank(shallowLoc)) {
+ continue;
+ }
+ Loc shalloc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
+ if (Objects.isNull(shalloc) || !shalloc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
+ //濡傛灉娴呭簱浣嶄笉鍦ㄥ簱璺冲嚭寰幆
+ continue;
+ }
+ LocToTaskParams params = new LocToTaskParams();
+ params.setOrgLoc(shallowLoc).setType(TaskType.TASK_TYPE_LOC_MOVE.type + "");
+ //鐢熸垚绉诲簱浠诲姟
+ locItemService.genMoveTask(params, loginUserId);
+ }
+ //TODO 璋冪敤涓嬪彂浠诲姟鎺ュ彛
+ }
+ }
+
+ /**
+ * 姣忎簲绉掓牎楠屾繁搴撲綅鏄惁涓虹┖锛屽鏋滄祬搴撲綅鏈夎揣锛屽皢娴呭簱浣嶇Щ鑷虫繁搴撲綅
+ */
+ @Scheduled(cron = "0/35 * * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void shallocToDeep() throws Exception {
+ List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
+ .in(Loc::getRow, rows));
+ if (locs.isEmpty()) {
+ return;
+ }
+ for (Loc loc : locs) {
+ String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
+ Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
+ if (Objects.isNull(one) || !one.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
+ continue;
+ }
+ taskService.moveToDeep(SystemAuthUtils.getLoginUserId(), shallowLoc);
+ }
+ }
+
+
+ /**
* @param
* @return
* @author Ryan
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/DeliveryItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/DeliveryItemService.java
index 5c5ec62..1abc71d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/DeliveryItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/DeliveryItemService.java
@@ -1,8 +1,15 @@
package com.vincent.rsf.server.manager.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.manager.entity.DeliveryItem;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
public interface DeliveryItemService extends IService<DeliveryItem> {
+// R excelImport(MultipartFile file, Map<String, Object> hashMap, Long loginUserId) throws Exception;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
index 1d20247..ee9b819 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
@@ -12,12 +12,12 @@
R generateTasks(GenerateTaskParams waitPakin, Long loginUserId);
- R generateFlatWarehouseTasks(WaitPakin waitPakins,String locCode, Long loginUserId);
+ R generateFlatWarehouseTasks(WaitPakin waitPakins, String locCode, Long loginUserId);
- R generateAGVTasks(WaitPakin waitPakins,String locCode,String orgSta, Long loginUserId);
+ R generateAGVTasks(WaitPakin waitPakins, String locCode, String orgSta, Long loginUserId);
-// R completeTask(String id);
- void completeTask(List<Task> task) throws Exception;
+ // R completeTask(String id);
+ void completeTask(List<Task> task) throws Exception;
R removeTask(Long[] ids, Long loginUserId);
@@ -28,4 +28,6 @@
Task taskToTop(Long id, Long loginUserId) throws Exception;
Task operateComplete(Long id, Long loginUserId);
-}
+
+ void moveToDeep(Long loginUserId, String curLoc) throws Exception;
+}
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 22ee73d..a24f52f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -96,9 +96,6 @@
public synchronized R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), AsnOrderTemplate.class, ExcelUtil.getDefaultImportParams());
if (result.getList().isEmpty()) {
- throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒");
- }
- if (result.getList().isEmpty()) {
throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
}
List<AsnOrderTemplate> resultList = result.getList();
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java
index 2e4ae68..7e59d53 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java
@@ -1,12 +1,182 @@
package com.vincent.rsf.server.manager.service.impl;
+import cn.afterturn.easypoi.excel.ExcelImportUtil;
+import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.common.utils.ExcelUtil;
+import com.vincent.rsf.server.manager.entity.*;
+import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
+import com.vincent.rsf.server.manager.entity.excel.DeliveryTemplate;
+import com.vincent.rsf.server.manager.enums.CompanysType;
+import com.vincent.rsf.server.manager.enums.OrderType;
+import com.vincent.rsf.server.manager.enums.OrderWorkType;
+import com.vincent.rsf.server.manager.enums.QlyIsptResult;
import com.vincent.rsf.server.manager.mapper.DeliveryItemMapper;
-import com.vincent.rsf.server.manager.entity.DeliveryItem;
+import com.vincent.rsf.server.manager.service.CompanysService;
import com.vincent.rsf.server.manager.service.DeliveryItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vincent.rsf.server.manager.service.DeliveryService;
+import com.vincent.rsf.server.manager.service.MatnrService;
+import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
@Service("deliveryItemService")
public class DeliveryItemServiceImpl extends ServiceImpl<DeliveryItemMapper, DeliveryItem> implements DeliveryItemService {
+ @Autowired
+ private DeliveryService deliveryService;
+ @Autowired
+ private MatnrService matnrService;
+ @Autowired
+ private CompanysService companysService;
+ @Autowired
+ private DeliveryItemService deliveryItemService;
+
+// private
+ /**
+ * excel DO鍗曞鍏�
+ *
+ * @param file
+ * @param hashMap
+ * @param loginUserId
+ * @return
+ */
+// @Override
+// public R excelImport(MultipartFile file, Map<String, Object> hashMap, Long loginUserId) throws Exception {
+// ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), DeliveryTemplate.class, ExcelUtil.getDefaultImportParams());
+// if (result.getList().isEmpty()) {
+// throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
+// }
+// List<DeliveryTemplate> resultList = result.getList();
+// Map<String, List<DeliveryTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(DeliveryTemplate::getDoCode));
+// StringBuffer sbFaild = new StringBuffer();
+// for (String key : listMap.keySet()) {
+// if (StringUtils.isBlank(key)) {
+// throw new CoolException("鍗曞彿涓嶈兘涓虹┖锛侊紒");
+// }
+// DeliveryTemplate template = listMap.get(key).stream().findFirst().get();
+// Delivery order = deliveryService.getOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, key));
+// if (!Objects.isNull(order)) {
+// sbFaild.append(template.getDoCode()).append(",宸叉坊鍔狅紒锛�");
+// throw new CoolException(sbFaild.toString());
+// }
+// order = new Delivery();
+// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+// Date date = dateFormat.parse(template.getArrTime());
+// if (Objects.isNull(date)) {
+// throw new CoolException("鏃堕棿鏍煎紡閿欒锛侊紒");
+// }
+// if (Objects.isNull((OrderType.getTypeVal(template.getType())))) {
+// sbFaild.append(template.getDoCode()).append(",鍗曟嵁鐘舵�佷笉瀛樺湪锛侊紒");
+// throw new CoolException(sbFaild.toString());
+// }
+// if (Objects.isNull((OrderWorkType.getWorkType(template.getWkType())))) {
+// sbFaild.append(template.getDoCode()).append(",涓氬姟鐘舵�佷笉瀛樺湪锛侊紒");
+// throw new CoolException(sbFaild.toString());
+// }
+//
+// order.setCode(template.getDoCode())
+// .setPoCode(template.getPoCode())
+// .setMemo(template.getMemo())
+// .setArrTime(date)
+// .setUpdateBy(loginUserId)
+// .setLogisNo(template.getLogicNo())
+// .setCreateBy(loginUserId)
+// .setType(OrderType.getTypeVal(template.getType()))
+// .setWkType(OrderWorkType.getWorkType(template.getWkType()));
+// if (!deliveryService.save(order)) {
+// throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
+// }
+// List<DeliveryItem> items = new ArrayList<>();
+// for (DeliveryTemplate orderTemplate : listMap.get(key)) {
+// DeliveryItem orderItem = new DeliveryItem();
+// if (StringUtils.isBlank(orderTemplate.getMatnrCode())) {
+// throw new CoolException(orderTemplate.getDoCode() + "锛氱墿鏂欑紪鐮佷笉鑳戒负绌猴紒锛�");
+// }
+// if (StringUtils.isBlank(orderTemplate.getAnfme())) {
+// throw new CoolException(orderTemplate.getDoCode() + "锛氭暟閲忎笉鑳戒负绌猴紒锛�");
+// }
+// if (StringUtils.isBlank(orderTemplate.getType())) {
+// throw new CoolException(orderTemplate.getDoCode() + "锛氬崟鎹被鍨嬩笉鑳戒负绌猴紒锛�");
+// }
+// if (StringUtils.isBlank(orderTemplate.getWkType())) {
+// throw new CoolException(orderTemplate.getDoCode() + "锛氫笟鍔$被鍨嬩笉鑳戒负绌猴紒锛�");
+// }
+//
+// Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>()
+// .eq(Matnr::getCode, orderTemplate.getMatnrCode()));
+// if (Objects.isNull(matnr)) {
+// sbFaild.append(orderTemplate.getMatnrCode()).append("鐗╂枡涓嶅瓨鍦�");
+// throw new CoolException(sbFaild.toString());
+// }
+// String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
+// orderItem.setDeliveryId(order.getId())
+// .setDeliveryCode(order.getCode())
+// .setSplrBatch(orderTemplate.getSplrBatch())
+// .setPlatItemId(orderTemplate.getPlatItemId())
+// .setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
+// .setIsptResult(QlyIsptResult.getDescVal(orderTemplate.getIsptResult()))
+//// .setTrackCode(trackCode)
+// .setBarcode(trackCode)
+// .setPlatOrderCode(orderTemplate.getPlatOrderCode())
+// .setPlatWorkCode(orderTemplate.getPlatWorkCode())
+// .setProjectCode(orderTemplate.getProjectCode())
+// .setPoCode(orderTemplate.getDoCode())
+// .setPurUnit(matnr.getUnit())
+// .setCreateBy(loginUserId)
+// .setUpdateBy(loginUserId)
+// .setSpec(matnr.getSpec())
+// .setModel(matnr.getModel())
+// .setMaktx(matnr.getName())
+// .setMatnrCode(matnr.getCode())
+// .setMatnrId(matnr.getId())
+// .setStockUnit(matnr.getUnit());
+// if (!Objects.isNull(orderTemplate.getSplrCode())) {
+// Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
+// .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)
+// .eq(Companys::getCode, orderTemplate.getSplrCode()));
+// if (!Objects.isNull(companys)) {
+// orderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
+// } else {
+// sbFaild.append("渚涘簲鍟�:" + orderTemplate.getSplrCode()).append("涓嶅瓨鍦�");
+// throw new CoolException(sbFaild.toString());
+// }
+// } else {
+// continue;
+// }
+// items.add(orderItem);
+//
+// if (!deliveryItemService.save(orderItem)) {
+// throw new CoolException("鍗曟嵁鏄庣粏淇濆瓨澶辫触锛侊紒");
+// }
+// }
+// if (!items.isEmpty()) {
+//// double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum();
+// double anfme = items.stream().mapToDouble(DeliveryItem::getAnfme).sum();
+// if (!deliveryService.update(new LambdaUpdateWrapper<Delivery>()
+//// .set(AsnOrder::getQty, qty)
+// .set(Delivery::getAnfme, anfme)
+// .eq(Delivery::getId, order.getId()))) {
+// throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
+// }
+// }
+//
+//
+// }
+//
+//
+// return null;
+// }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 43a083b..5fbaf0b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -77,26 +77,11 @@
if (!locService.updateById(loc)) {
throw new CoolException("搴撲綅鐘舵�佹洿鏂板け璐ワ紒锛�");
}
-
Task moveTask = new Task();
- if (!LocUtils.isShallowLoc(loc.getCode())) {
- //鑾峰彇娣卞簱浣嶅搴旀祬搴撲綅
- String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
- Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
- if (Objects.isNull(one)) {
- throw new CoolException("瀵瑰簲搴撲綅涓嶅瓨鍦紒锛�");
- }
- map.setOrgLoc(one.getCode());
- //浼樺厛鐢熸垚绉诲簱浠诲姟
- if (!one.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
- moveTask = genMoveTask(map, loginUserId);
- }
- }
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null);
task.setOrgLoc(loc.getCode())
.setTaskCode(ruleCode)
- .setParentId(moveTask.getId())
.setTargSite(siteNo)
.setSort(Constants.TASK_SORT_DEFAULT_VALUE)
.setUpdateBy(loginUserId)
@@ -133,7 +118,6 @@
throw new CoolException("绔欑偣涓嶆敮鎸佹嫞鏂欏嚭搴擄紒锛�");
}
task.setTaskType(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type).setWarehType(deviceSite.getDevice());
-
} else {
//鍏ㄦ澘鍑哄簱
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
@@ -162,12 +146,40 @@
throw new CoolException("浠诲姟鍒涘缓澶辫触锛侊紒");
}
- if (!Objects.isNull(moveTask.getId())) {
- moveTask.setParentId(task.getId());
- if (!taskService.saveOrUpdate(moveTask)) {
- throw new CoolException("浠诲姟淇℃伅淇敼澶辫触锛侊紒");
+ if (!LocUtils.isShallowLoc(loc.getCode())) {
+ //鑾峰彇娣卞簱浣嶅搴旀祬搴撲綅
+ String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
+ Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
+ if (Objects.isNull(one)) {
+ throw new CoolException("瀵瑰簲搴撲綅涓嶅瓨鍦紒锛�");
+ }
+ Task workTask = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, one.getBarcode()));
+ if (Objects.isNull(workTask)) {
+ map.setOrgLoc(one.getCode());
+ //浼樺厛鐢熸垚绉诲簱浠诲姟
+ if (one.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
+ moveTask = genMoveTask(map, loginUserId);
+ task.setParentId(moveTask.getId());
+ if (!taskService.updateById(task)) {
+ throw new CoolException("涓讳换鍔″叧鑱斿け璐ワ紒锛�");
+ }
+ }
+ } else {
+ workTask.setSort(task.getSort() + 1).setParentId(task.getId());
+ if (!taskService.updateById(workTask)) {
+ throw new CoolException("浼樺厛绾т慨鏀瑰け璐ワ紒锛�");
+ }
}
}
+
+
+
+// if (!Objects.isNull(moveTask.getId())) {
+// moveTask.setParentId(task.getId()).setSort(moveTask.getSort() - 1);
+// if (!taskService.saveOrUpdate(moveTask)) {
+// throw new CoolException("浠诲姟淇℃伅淇敼澶辫触锛侊紒");
+// }
+// }
List<TaskItem> taskItems = new ArrayList<>();
listMap.get(key).forEach(item -> {
@@ -231,25 +243,22 @@
if (Objects.isNull(map.getOrgLoc()) || StringUtils.isBlank(map.getOrgLoc())) {
throw new CoolException("婧愬簱浣嶄笉鑳戒负绌猴紒");
}
-
Loc orgLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, map.getOrgLoc()));
if (Objects.isNull(orgLoc)) {
throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒");
}
-
// if (orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_R.type)
// || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_S.type)
// || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_X.type ) ) {
// throw new CoolException("婧愬簱浣嶆湁浠诲姟姝e湪鎵ц涓�...");
// }
-
orgLoc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
if (!locService.updateById(orgLoc)) {
throw new CoolException("鍑哄簱棰勭害澶辫触锛侊紒");
}
- Loc targetLoc = new Loc();
+ Loc targetLoc;
if (Objects.isNull(map.getTarLoc()) || StringUtils.isBlank(map.getTarLoc())) {
//鐩爣搴撲綅涓虹┖锛岃嚜鍔ㄨ幏鍙栨柊搴撲綅
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
@@ -264,7 +273,7 @@
.setSourceStaNo(Integer.parseInt(deviceSite.getSite()))
.setLocType1(Integer.parseInt(orgLoc.getType())
);
- InTaskMsgDto locNo = null;
+ InTaskMsgDto locNo;
try {
locNo = wcsService.getLocNo(param);
} catch (Exception e) {
@@ -295,7 +304,7 @@
.setUpdateBy(loginUserId)
.setSort(Constants.TASK_SORT_DEFAULT_VALUE)
.setUpdateTime(new Date())
- .setTaskStatus(TaskStsType.GENERATE_OUT.id)
+ .setTaskStatus(TaskStsType.GENERATE_IN.id)
.setBarcode(orgLoc.getBarcode());
if (!taskService.save(task)) {
@@ -316,8 +325,8 @@
.setSourceCode(item.getLocCode())
.setSource(item.getId())
.setUpdateTime(new Date())
- .setOrderType(OrderType.ORDER_OUT.type)
- .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type));
+ .setOrderType(OrderType.ORDER_IN.type)
+ .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type));
taskItems.add(taskItem);
}
if (!taskItemService.saveBatch(taskItems)) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 2b3e618..9ad72a4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -455,10 +455,12 @@
}
modiftyTaskSort(task, loginUserId);
-
//
-
+// if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+// task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
+// } else {
task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id);
+// }
if (!this.updateById(task)) {
throw new CoolException("瀹屾垚浠诲姟澶辫触");
}
@@ -511,26 +513,34 @@
//
// return moveTask;
// }
- } else {
- //娴呭簱浣嶏紝鍒ゆ柇娣卞搴旀繁搴撲綅鏄惁涓虹┖锛屽鏋滀负绌虹敓鎴愪竴涓Щ搴撲换鍔★紝灏嗘墭鐩橀�佸叆娣卞簱浣�
- String deepLoc = LocUtils.getDeepLoc(curLoc);
- if (StringUtils.isBlank(deepLoc)) {
- throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛橈紒");
- }
- Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, deepLoc));
- if (Objects.isNull(loc)) {
- throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒");
- }
- //鍒ゆ柇娣卞簱浣嶆槸鍚︿负绌�
- if (loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
- LocToTaskParams params = new LocToTaskParams();
- params.setOrgLoc(curLoc).setTarLoc(deepLoc);
- //鐢熸垚绉绘繁搴撲綅浠诲姟
- locItemService.genMoveTask(params, loginUserId);
- }
}
-
return task;
+ }
+
+ /**
+ * 浠诲姟瀹屾垚鍚庯紝鍒ゆ柇娣卞簱浣嶆槸鍚︿负绌猴紝濡傛灉涓虹┖鐢熸垚绉诲簱浠诲姟
+ * @param loginUserId
+ * @param curLoc
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void moveToDeep(Long loginUserId, String curLoc) throws Exception {
+ //娴呭簱浣嶏紝鍒ゆ柇娣卞搴旀繁搴撲綅鏄惁涓虹┖锛屽鏋滀负绌虹敓鎴愪竴涓Щ搴撲换鍔★紝灏嗘墭鐩橀�佸叆娣卞簱浣�
+ String deepLoc = LocUtils.getDeepLoc(curLoc);
+ if (StringUtils.isBlank(deepLoc)) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛橈紒");
+ }
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, deepLoc));
+ if (Objects.isNull(loc)) {
+ throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒");
+ }
+ //鍒ゆ柇娣卞簱浣嶆槸鍚︿负绌�
+ if (loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+ LocToTaskParams params = new LocToTaskParams();
+ params.setOrgLoc(curLoc).setTarLoc(deepLoc);
+ //鐢熸垚绉绘繁搴撲綅浠诲姟
+ locItemService.genMoveTask(params, loginUserId);
+ }
}
@Transactional(rollbackFor = Exception.class)
@@ -708,8 +718,8 @@
@Transactional(rollbackFor = Exception.class)
public R removeTask(Long[] ids, Long loginUserId) {
List<Integer> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
- List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type,TaskType.TASK_TYPE_PICK_AGAIN_OUT.type,
- TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_EMPITY_IN.type, TaskType.TASK_TYPE_LOC_MOVE.type,
+ List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_PICK_AGAIN_OUT.type,
+ TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_EMPITY_IN.type, TaskType.TASK_TYPE_LOC_MOVE.type,
TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
List<Task> tasks = this.list(new LambdaQueryWrapper<Task>()
.in(Task::getTaskType, list)
@@ -719,7 +729,7 @@
}
for (Task task : tasks) {
//鍙栨秷绉诲簱浠诲姟
- if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type) && task.getTaskStatus().equals(TaskStsType.GENERATE_OUT.id)) {
+ if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type) && task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id)) {
if (!locService.update(new LambdaUpdateWrapper<Loc>()
.eq(Loc::getCode, task.getOrgLoc())
.set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) {
@@ -742,11 +752,9 @@
outTask.setParentId(moveTask.getId());
if (!this.updateById(outTask)) {
throw new CoolException("浠诲姟淇℃伅淇敼澶辫触锛侊紒");
-
}
-
} else {
- throw new CoolException("鏃犳硶鐢熸垚鏂扮殑绉诲簱浠诲姟锛屽彇娑堝け璐ワ紒锛�");
+// throw new CoolException("鏃犳硶鐢熸垚鏂扮殑绉诲簱浠诲姟锛屽彇娑堝け璐ワ紒锛�");
}
}
--
Gitblit v1.9.1