diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java index 332deaf..cbd1c77 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java @@ -80,4 +80,17 @@ public class ToWmsApiController { return ajaxResult; } + /** + * 获取任务 + * @param mydoJob + * @return + */ + @PostMapping("/getJob") + public AjaxResult getJob(@RequestBody MydoJob mydoJob) { + AjaxResult ajaxResult = toWmsService.getJob(mydoJob); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "getJob"); + requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg"))); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java index f572c1d..a4fc71b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java @@ -18,4 +18,6 @@ public interface IToWmsService { AjaxResult reAssign(MydoJob mydoJob); AjaxResult reMaterial(MydoJob mydoJob); + + AjaxResult getJob(MydoJob mydoJob); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index b7c8884..b538eb6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.api.service.impl; import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; @@ -83,6 +85,7 @@ public class ToWmsServiceImpl implements IToWmsService { mydoJob.setExecutionPhase("2"); mydoJob.setEntranceId(param.getEntranceId()); mydoJob.setStatus("3"); + mydoJob.setStartTime(DateUtil.formatDateTime(DateUtil.date())); mydoJobService.updateMydoJob(mydoJob); } return AjaxResult.success(mydoJob); @@ -209,4 +212,14 @@ public class ToWmsServiceImpl implements IToWmsService { //调用自动分配 return outStockoutService.autoAllot(stockOutId); } + + @Override + public AjaxResult getJob(MydoJob mydoJob) { + List mydoJobs = mydoJobService.selectMydoJobListApi(mydoJob); + if (mydoJobs.isEmpty()){ + return AjaxResult.error("没有该作业"); + }else { + return AjaxResult.success(mydoJobs); + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/taskNo/service/impl/BasTaskNoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/taskNo/service/impl/BasTaskNoServiceImpl.java index 32cd554..9d5cc77 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/taskNo/service/impl/BasTaskNoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/taskNo/service/impl/BasTaskNoServiceImpl.java @@ -133,7 +133,7 @@ public class BasTaskNoServiceImpl implements IBasTaskNoService basTaskNoMapper.updateTaskNo(basTaskNo); //4 事物提交 transactionManager.commit(status); - return taskNo; + return num; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java index 86292a7..624d86f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java @@ -5,6 +5,8 @@ import java.util.Collections; import java.util.List; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.in.stockindetail.domain.InStockinDetail; @@ -85,6 +87,8 @@ public class InStockinServiceImpl implements IInStockinService if (!"1".equals(old.getStatus())){ throw new RuntimeException("单据状态非未执行状态!"); } + inStockin.setFinishDate(DateUtil.formatDateTime(DateUtil.date())); + inStockinMapper.updateInStockin(inStockin); //插入历史单据 insertInStockinHistory(inStockin); }else if ("2".equals(inStockin.getStatus())){ @@ -107,6 +111,8 @@ public class InStockinServiceImpl implements IInStockinService throw new RuntimeException("扫码数量与实际入库数量不一致!"); } } + inStockin.setFinishDate(DateUtil.formatDateTime(DateUtil.date())); + inStockinMapper.updateInStockin(inStockin); insertInStockinHistory(inStockin); } return AjaxResult.success(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java index 81f398c..8b0ae6b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.in.stockinfinish.service.impl; import java.util.List; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.in.stockin.domain.InStockin; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -94,6 +95,7 @@ public class InStockinFinishServiceImpl implements IInStockinFinishService } @Override + @DataScope(warehouseAlias = "is2") public List selectInStockinFinishListByInStockin(InStockin inStockin) { return inStockinFinishMapper.selectInStockinFinishListByInStockin(inStockin); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index 44c0760..72be7e3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -10,6 +10,8 @@ import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.ruoyi.bas.basJobId.service.IBasJobIdService; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; @@ -240,6 +242,7 @@ public class MydoJobServiceImpl implements IMydoJobService { basStockService.insertBasStockList(list); //结束任务 mydoJob.setStatus("4"); + mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); updateMydoJob(mydoJob); // 插入任务历史表 删除任务 insertHistory(mydoJob.getJobId()); @@ -302,6 +305,7 @@ public class MydoJobServiceImpl implements IMydoJobService { //结束任务 mydoJob.setStatus("4"); + mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); updateMydoJob(mydoJob); // 插入任务历史表 删除任务 insertHistory(mydoJob.getJobId()); @@ -360,6 +364,7 @@ public class MydoJobServiceImpl implements IMydoJobService { //结束任务 mydoJob.setStatus("4"); + mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); updateMydoJob(mydoJob); // 插入任务历史表 删除任务 insertHistory(mydoJob.getJobId()); @@ -438,6 +443,8 @@ public class MydoJobServiceImpl implements IMydoJobService { basCargoSpaceService.updateBasCargoSpace(cargoSpace); } job.setStatus("5"); + job.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); + updateMydoJob(job); insertHistory(jobId); } return AjaxResult.success(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobfinish/service/impl/MydoJobFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobfinish/service/impl/MydoJobFinishServiceImpl.java index 4f01f69..dd88db5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobfinish/service/impl/MydoJobFinishServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobfinish/service/impl/MydoJobFinishServiceImpl.java @@ -2,6 +2,8 @@ package com.ruoyi.job.mydojobfinish.service.impl; import java.util.Collections; import java.util.List; + +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.job.mydojob.domain.MydoJob; import org.springframework.beans.factory.annotation.Autowired; @@ -12,19 +14,19 @@ import com.ruoyi.job.mydojobfinish.service.IMydoJobFinishService; /** * 历史主作业Service业务层处理 - * + * * @author ruoyi * @date 2025-05-23 */ @Service -public class MydoJobFinishServiceImpl implements IMydoJobFinishService +public class MydoJobFinishServiceImpl implements IMydoJobFinishService { @Autowired private MydoJobFinishMapper mydoJobFinishMapper; /** * 查询历史主作业 - * + * * @param jobId 历史主作业主键 * @return 历史主作业 */ @@ -36,7 +38,7 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService /** * 查询历史主作业列表 - * + * * @param mydoJobFinish 历史主作业 * @return 历史主作业 */ @@ -47,13 +49,14 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService } @Override + @DataScope(warehouseAlias = "bw") public List selectMydoJobFinishListByMydoJob(MydoJob mydoJob) { return mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob); } /** * 新增历史主作业 - * + * * @param mydoJobFinish 历史主作业 * @return 结果 */ @@ -66,7 +69,7 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService /** * 修改历史主作业 - * + * * @param mydoJobFinish 历史主作业 * @return 结果 */ @@ -78,7 +81,7 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService /** * 批量删除历史主作业 - * + * * @param jobIds 需要删除的历史主作业主键 * @return 结果 */ @@ -90,7 +93,7 @@ public class MydoJobFinishServiceImpl implements IMydoJobFinishService /** * 删除历史主作业信息 - * + * * @param jobId 历史主作业主键 * @return 结果 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/tagTask/service/impl/TagTaskServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/tagTask/service/impl/TagTaskServiceImpl.java index 407b64e..16c8247 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/tagTask/service/impl/TagTaskServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/tagTask/service/impl/TagTaskServiceImpl.java @@ -15,8 +15,11 @@ import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import com.ruoyi.bas.tag.domain.BasTag; import com.ruoyi.bas.tag.service.IBasTagService; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.text.Convert; import com.ruoyi.out.tagTask.domain.ExecuteSocket; +import com.ruoyi.pda.domain.TrayCodeMakeSure; +import com.ruoyi.pda.service.PdaService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,6 +42,8 @@ public class TagTaskServiceImpl implements ITagTaskService { private TagTaskMapper tagTaskMapper; @Autowired private IBasTagService basTagService; + @Autowired + private PdaService pdaService; private HashMap tagSockteMap = new HashMap<>(); @@ -128,12 +133,18 @@ public class TagTaskServiceImpl implements ITagTaskService { boolean b = sendDzbqOff(basTag); log.info("灭灯:{}", b); if (b) { - //删除标签绑定信息 - basTag.setSendCompleted("0"); - basTag.setTrayCode(""); - basTagService.updateBasTag(basTag); - //删除tagList - tagTaskMapper.deleteTagTaskByIds(tagTaskList.stream().map(TagTask::getId).toArray(Long[]::new)); + //出库确认 + TrayCodeMakeSure trayCodeMakeSure = new TrayCodeMakeSure(); + trayCodeMakeSure.setTrayCode(basTag.getTrayCode()); + AjaxResult ajaxResult = pdaService.outMakeSure(trayCodeMakeSure); + if (ajaxResult.isSuccess()){ + //删除标签绑定信息 + basTag.setSendCompleted("0"); + basTag.setTrayCode(""); + basTagService.updateBasTag(basTag); + //删除tagList + tagTaskMapper.deleteTagTaskByIds(tagTaskList.stream().map(TagTask::getId).toArray(Long[]::new)); + } } } else { Optional first = tagTaskList.stream().filter(x -> "1".equals(x.getStatus())).findFirst(); @@ -247,7 +258,7 @@ public class TagTaskServiceImpl implements ITagTaskService { /** - * 下发电子标签 + * todo 待调试 下发电子标签 * @param basTag * @param tagTask * @return @@ -267,11 +278,12 @@ public class TagTaskServiceImpl implements ITagTaskService { int x7 = (sid + 0x02+0x80 + x3 + x4 + x5 + x6) % 256;//累加 校验 String value = "FA" + String.format("%02x", sid) + String.format("%02x", 0x02) + String.format("%02x", 0x80) + greenFirst2 + greenLast2 + redFirst2 + redLast2 + String.format("%02x", x7) + "AF"; - System.out.println(value); - return sendMsgSocket(getSocket(basTag),value); + //boolean b = sendMsgSocket(getSocket(basTag), value); + log.info("电子标签{},发送指令{}",basTag.getId(), value); + return true; } - // 发送消息 + //todo 待调试 发送消息 public boolean sendMsgSocket(Socket socket,String msg) { byte[] bytes = hexStringToByteArray(msg); try(OutputStream os = socket.getOutputStream()) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockin/service/impl/ReceiveStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockin/service/impl/ReceiveStockinServiceImpl.java index c4f08cd..3540fe2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockin/service/impl/ReceiveStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockin/service/impl/ReceiveStockinServiceImpl.java @@ -15,6 +15,7 @@ import cn.hutool.json.JSONUtil; import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.bas.BasProduct.service.IBasProductService; import com.ruoyi.bas.basJobId.service.IBasJobIdService; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.domain.ExtraField; import com.ruoyi.common.utils.SecurityUtils; @@ -76,6 +77,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService * @return 收货单据 */ @Override + @DataScope(warehouseAlias = "rs") public List selectReceiveStockinList(ReceiveStockin receiveStockin) { return receiveStockinMapper.selectReceiveStockinList(receiveStockin); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockinfinish/service/impl/ReceiveStockinFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockinfinish/service/impl/ReceiveStockinFinishServiceImpl.java index 9b7aa29..08973d5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockinfinish/service/impl/ReceiveStockinFinishServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockinfinish/service/impl/ReceiveStockinFinishServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.receive.stockinfinish.service.impl; import java.util.List; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.receive.stockin.domain.ReceiveStockin; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -94,6 +95,7 @@ public class ReceiveStockinFinishServiceImpl implements IReceiveStockinFinishSer } @Override + @DataScope(warehouseAlias = "rs") public List selectReceiveStockinList(ReceiveStockin receiveStockin) { return receiveStockinFinishMapper.selectReceiveStockinList(receiveStockin); } diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml index 527ab49..2a5fb9f 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml @@ -144,6 +144,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where lot_no like concat('%',#{lotNo},'%') ) + + ${params.warehouseDataScope} + order by is2.create_date desc diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml index 9168036..6e9588f 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -30,77 +30,127 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + - select job_id, status, on_line_type, task_no, supplier_id, customer_id, department_id, tray_code, roadway_id, cargo_space_id, target_roadway_id, target_cargo_space_id, line_id, workshop_id, priority, execution_phase, in_or_out, create_time, start_time, finish_time, entrance_id, exit_id, class_id, warehouse_id, fault_flag from mydo_job_finish + select mj.job_id, mj.status, mj.on_line_type, mj.task_no, mj.supplier_id, + mj.customer_id, mj.department_id, mj.tray_code, mj.roadway_id, mj.cargo_space_id, + mj.target_roadway_id, mj.target_cargo_space_id, mj.line_id, mj.workshop_id, mj.priority, + mj.execution_phase, mj.in_or_out, mj.create_time, mj.start_time, mj.finish_time, mj.entrance_id, + mj.exit_id, mj.class_id, mj.warehouse_id, mj.fault_flag, + bs.supplier_name as supplier_name, bc.customer_name as customer_name, + bcs.cargo_space_name as cargo_space_name, bcst.cargo_space_name as target_cargo_space_name, + bw.warehouse_name as warehouse_name,sd.dept_name + from mydo_job_finish mj + left join bas_supplier bs on mj.supplier_id = bs.id + left join bas_customer bc on mj.customer_id = bc.id + left join bas_cargo_space bcs on mj.cargo_space_id = bcs.cargo_space_id + left join bas_cargo_space bcst on mj.target_cargo_space_id = bcst.cargo_space_id + left join bas_warehouse bw on mj.warehouse_id = bw.warehouse_id + left join sys_dept sd on mj.department_id = sd.dept_id diff --git a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml index 552b5d7..5660555 100644 --- a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml @@ -145,6 +145,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where rsd.lot_no like concat('%',#{lotNo},'%') ) + + ${params.warehouseDataScope} + order by rs.create_date desc diff --git a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinMapper.xml index 43b3300..bf8e414 100644 --- a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinMapper.xml @@ -97,6 +97,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where rsd.lot_no like concat('%',#{lotNo},'%') ) + + ${params.warehouseDataScope} + order by rs.create_date desc diff --git a/ruoyi-ui/src/lang/en.js b/ruoyi-ui/src/lang/en.js index 5f2d796..ff79226 100644 --- a/ruoyi-ui/src/lang/en.js +++ b/ruoyi-ui/src/lang/en.js @@ -113,7 +113,8 @@ export default { spare7: 'Height (MM)', spare8: 'Volume (m³)', netWeight: 'Net Weight (KG)', - grossWeight: 'Gross Weight (KG)' + grossWeight: 'Gross Weight (KG)', + addProductError:'product exist,please update product num' }, // ***************收货单据管理************* inReceiveStockin: { @@ -327,7 +328,7 @@ export default { selectJobType: 'Please select job type', onLineType: 'Online Type', executionPhase: 'Execution Phase', - + cargoSpaceName: 'cargoSpaceName', // Task Information jobId: 'Task ID', taskNo: 'Task No.', diff --git a/ruoyi-ui/src/lang/zh.js b/ruoyi-ui/src/lang/zh.js index 74ee59a..90ded24 100644 --- a/ruoyi-ui/src/lang/zh.js +++ b/ruoyi-ui/src/lang/zh.js @@ -83,7 +83,8 @@ export default { spare7: '高MM', spare8: '体积m³', netWeight: '净重KG', - grossWeight: '毛重KG' + grossWeight: '毛重KG', + addProductError: '以下物料已存在,请修改数量:' }, // ***************收货单据管理************* inReceiveStockin: { @@ -300,7 +301,7 @@ export default { selectJobType: '请选择作业类型', onLineType: '上线类型', executionPhase: '执行阶段', - + cargoSpaceName: '货位名称', // 任务信息 jobId: '任务ID', taskNo: '任务号', diff --git a/ruoyi-ui/src/views/in/receive/add/index.vue b/ruoyi-ui/src/views/in/receive/add/index.vue index 13fe077..e044125 100644 --- a/ruoyi-ui/src/views/in/receive/add/index.vue +++ b/ruoyi-ui/src/views/in/receive/add/index.vue @@ -331,6 +331,16 @@ export default { }, /** 确认选择物料 */ confirmSelectProduct() { + // 检查选中的物料是否已存在于表单中 + const duplicateProducts = this.selectedProducts.filter(selected => + this.productList.some(existing => existing.productId === selected.productId) + ); + + if (duplicateProducts.length > 0) { + this.$modal.msgError('以下物料已存在,请修改数量:\n' + duplicateProducts.map(p => p.productName).join('\n')); + return; + } + const newProducts = this.selectedProducts.map(item => ({ productGuid: item.productGuid, productId: item.productId, diff --git a/ruoyi-ui/src/views/job/outJobManagement.vue b/ruoyi-ui/src/views/job/outJobManagement.vue index 673a634..bcc908a 100644 --- a/ruoyi-ui/src/views/job/outJobManagement.vue +++ b/ruoyi-ui/src/views/job/outJobManagement.vue @@ -126,18 +126,19 @@ - + - + - + + - diff --git a/ruoyi-ui/src/views/stock/management/index.vue b/ruoyi-ui/src/views/stock/management/index.vue index 1c47a9f..4fff58a 100644 --- a/ruoyi-ui/src/views/stock/management/index.vue +++ b/ruoyi-ui/src/views/stock/management/index.vue @@ -406,6 +406,10 @@ export default { spare5: null, spare6: null }, + queryWarehouse: { + pageNum:1, + pageSize: 99 + }, // 表单参数 form: {}, // 表单校验 @@ -423,7 +427,7 @@ export default { methods: { /** 获取仓库列表 */ getWarehouseList() { - listWarehouse().then(response => { + listWarehouse(this.queryWarehouse).then(response => { this.warehouseOptions = response.rows; }); },