From 36848f23ba7f635ef9477866d783eb319dd3a3f9 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期二, 01 四月 2025 15:34:34 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 42 +++++-------- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 27 ++++++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java | 35 +++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java | 11 +++ rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java | 5 + rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 13 ++++ 8 files changed, 102 insertions(+), 37 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index ea755fb..a43f68a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -430,7 +430,7 @@ detlsDto.setAsnCode(asnOrderItem.getAsnCode()) .setMaktx(asnOrderItem.getMaktx()) - .setBarcode(asnOrderItem.getBarcode()) + .setBarcode(asnOrderItem.getTrackCode()) .setPoCode(asnOrderItem.getPoCode()) .setAnfme(asnOrderItem.getAnfme()) .setPurQty(asnOrderItem.getPurQty()) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index 0e9be0e..a9fae5a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -10,10 +10,13 @@ import com.vincent.rsf.server.common.domain.KeyValVo; import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.entity.Task; +import com.vincent.rsf.server.manager.entity.TaskItem; +import com.vincent.rsf.server.manager.service.TaskItemService; import com.vincent.rsf.server.manager.service.TaskService; import com.vincent.rsf.server.system.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -24,6 +27,9 @@ @Autowired private TaskService taskService; + + @Autowired + private TaskItemService taskItemService; @PreAuthorize("hasAuthority('manager:task:list')") @PostMapping("/task/page") @@ -80,10 +86,17 @@ @PreAuthorize("hasAuthority('manager:task:remove')") @OperationLog("Delete 浠诲姟宸ヤ綔妗�") @PostMapping("/task/remove/{ids}") + @Transactional(rollbackFor = Exception.class) public R remove(@PathVariable Long[] ids) { + if (Objects.isNull(ids) || ids.length < 1) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } if (!taskService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); } + if (!taskItemService.remove(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, ids))) { + return R.error("鍒犻櫎澶辫触锛侊紒"); + } return R.ok("Delete Success").add(ids); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java index 8a811bc..3286105 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java @@ -174,6 +174,17 @@ // null // 澶囨敞 // ); + public String getwkType$() { + if (null == this.wkType) {return null;} + DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); + DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>() + .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE) + .eq(DictData::getValue, this.wkType)); + if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) { + return null; + } + return dictDatas.getLabel(); + } public String getIsptStatus$() { if (null == this.isptStatus) {return null;} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java index 9667352..7d2e4a6 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java @@ -1,8 +1,12 @@ package com.vincent.rsf.server.manager.entity; import java.text.SimpleDateFormat; -import java.util.Date; +import java.util.*; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.server.system.constant.DictTypeCode; +import com.vincent.rsf.server.system.entity.DictData; +import com.vincent.rsf.server.system.service.DictDataService; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; @@ -143,7 +147,6 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") - @TableLogic private Integer deleted; /** @@ -234,6 +237,34 @@ // null // 澶囨敞 // ); + public String getTaskStatus$(){ + if (Cools.isEmpty(this.taskStatus)) { + return null; + } + DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); + DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>() + .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_TASK_STATUS) + .eq(DictData::getValue, this.taskStatus)); + if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) { + return null; + } + return dictDatas.getLabel(); + } + + public String getTaskType$() { + if (Cools.isEmpty(this.taskType)) { + return null; + } + DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); + DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>() + .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_TASK_TYPE) + .eq(DictData::getValue, this.taskType)); + if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) { + return null; + } + return dictDatas.getLabel(); + } + public String getStartTime$(){ if (Cools.isEmpty(this.startTime)){ return ""; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java index ac33377..84f0eda 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java @@ -43,11 +43,23 @@ List<QlyIsptItem> isptItem = params.getIsptItem(); List<Long> list = isptItem.stream().map(QlyIsptItem::getId).collect(Collectors.toList()); if (params.getType().equals("2") || params.getType().equals("1")) { - if (!this.update(new LambdaUpdateWrapper<QlyIsptItem>() - .set(QlyIsptItem::getIsptResult, params.getType()) - .in(QlyIsptItem::getId, list))) { - throw new CoolException("淇敼澶辫触锛侊紒"); - } + isptItem.forEach(item -> { + if (params.getType().equals("1")) { + //TODO 鍏堟崱鍚庢敹涓洪�佽揣鏁伴噺锛屽厛鏀跺悗鎹′负鏀惰揣鏁伴噺 + item.setSafeQty(item.getDlyQty()); + item.setDisQty(0.0); + } else { + item.setSafeQty(0.0); + item.setDisQty(item.getDlyQty()); + } + if (!this.update(new LambdaUpdateWrapper<QlyIsptItem>() + .set(QlyIsptItem::getSafeQty, item.getSafeQty()) + .set(QlyIsptItem::getIsptResult, params.getType()) + .set(QlyIsptItem::getDisQty, item.getDisQty()) + .in(QlyIsptItem::getId, item.getId()))) { + throw new CoolException("淇敼澶辫触锛侊紒"); + } + }); } else { if (!this.updateBatchById(isptItem)) { throw new CoolException("鏄庣粏淇敼澶辫触"); @@ -63,7 +75,7 @@ QlyInspect inspect = qlyInspectService.getById(key); List<QlyIsptItem> items = listMap.get(key); Double safeQty = items.stream().mapToDouble(QlyIsptItem::getSafeQty).sum(); - Double rcptQty = items.stream().mapToDouble(QlyIsptItem::getSafeQty).sum(); + Double dlyQty = items.stream().mapToDouble(QlyIsptItem::getDlyQty).sum(); Double disQty = items.stream().mapToDouble(QlyIsptItem::getDisQty).sum(); Double qlyQty = safeQty + disQty; //瀹夊叏鏁伴噺锛岃川妫�鏁伴噺 @@ -72,7 +84,8 @@ if (Double.compare(disQty, 0) > 0) { inspect.setIsptResult(Short.parseShort("4")); } - if (Double.compare(safeQty, rcptQty) == 0) { + if (Double.compare(safeQty, dlyQty) == 0) { + inspect.setIsptStatus("1"); inspect.setIsptResult(Short.parseShort("1")); } if (!qlyInspectService.updateById(inspect)) { 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 3940127..1d9dab4 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 @@ -55,38 +55,28 @@ if (waitPakins.isEmpty()) { throw new CoolException("缁勬嫋淇℃伅涓嶅瓨鍦紒锛�"); } - /**鑾峰彇缁勬嫋鏄庣粏**/ - List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().in(WaitPakinItem::getPakinId, ids)); - if (waitPakinItems.isEmpty()) { - throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨槑缁嗕笉瀛樺湪"); - } - String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null); - if (StringUtils.isBlank(ruleCode)) { - throw new CoolException("缂栫爜閿欒锛氳纭缂栫爜銆孲YS_TASK_CODE銆嶆槸鍚﹀凡鐢熸垚!!"); - } - - List<Task> tasks = new ArrayList<>(); waitPakins.forEach(pakin -> { + List<TaskItem> taskItems = new ArrayList<>(); + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null); + if (StringUtils.isBlank(ruleCode)) { + throw new CoolException("缂栫爜閿欒锛氳纭缂栫爜銆孲YS_TASK_CODE銆嶆槸鍚﹀凡鐢熸垚!!"); + } Task task = new Task(); task.setTaskCode(ruleCode) .setTaskStatus(TaskStsType.GENERATE_IN.id.shortValue()) - .setTaskStatus(TaskType.TASK_TYPE_IN.type.shortValue()) + .setTaskType(TaskType.TASK_TYPE_IN.type.shortValue()) .setTargLoc(LocManageUtil.getTargetLoc()) .setBarcode(pakin.getBarcode()) .setTargSite(LocManageUtil.getTargetSite()); - tasks.add(task); - }); - if (!this.saveBatch(tasks)) { - throw new CoolException("浠诲姟淇濆瓨澶辫触锛侊紒"); - } - List<Long> orderIds = tasks.stream().map(Task::getId).collect(Collectors.toList()); - List<Task> taskList = this.list(new LambdaQueryWrapper<Task>().in(Task::getId, orderIds)); - if (taskList.isEmpty()) { - throw new CoolException("鏁版嵁閿欒锛氳鍗旾D涓嶈兘涓虹┖锛侊紒"); - } - for (Task task : taskList) { - List<TaskItem> taskItems = new ArrayList<>(); + if (!this.save(task)) { + throw new CoolException("浠诲姟淇濆瓨澶辫触锛侊紒"); + } + /**鑾峰彇缁勬嫋鏄庣粏**/ + List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, pakin.getId())); + if (waitPakinItems.isEmpty()) { + throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨槑缁嗕笉瀛樺湪"); + } waitPakinItems.forEach(item -> { TaskItem taskItem = new TaskItem(); BeanUtils.copyProperties(item, taskItem); @@ -100,7 +90,9 @@ if (!taskItemService.saveBatch(taskItems)) { throw new CoolException("浠诲姟鏄庣粏淇濆瓨澶辫触锛侊紒"); } - } + }); + //TODO 浠诲姟鐢熸垚瀹屾垚闇�淇敼浠诲姟ASN璁㈠崟鐘舵�佷负鎵ц涓紝缁勬嫋鍒犻櫎闇�鍒ゆ柇鏄惁鏈夊瓙浠诲姟鍦ㄦ墽琛� + return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java index 4312407..49a869f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java @@ -27,7 +27,7 @@ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type), false); - return Objects.isNull(loc) ? loc.getCode() : null; + return !Objects.isNull(loc) ? loc.getCode() : null; } @@ -42,6 +42,6 @@ //TODO 绔欑偣绛栫暐鍚庣画鎺掓湡 DeviceSiteService deviceSite = SpringUtils.getBean(DeviceSiteService.class); DeviceSite loc = deviceSite.getOne(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getStatus, 1), false); - return Objects.isNull(loc) ? loc.getSite() : null; + return !Objects.isNull(loc) ? loc.getSite() : null; } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java index f4881fe..34fb329 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java @@ -20,6 +20,11 @@ public final static String DICT_SYS_TASK_TYPE = "sys_task_type"; /** + * 浠诲姟鐘舵�� + */ + public final static String DICT_SYS_TASK_STATUS = "sys_task_status"; + + /** * 璁惧绫诲瀷 */ public final static String DICT_SYS_DEVICE_TYPE = "sys_device_type"; -- Gitblit v1.9.1