From 8ace69d3120c20f3e255dd4b978616d98f50d27c Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Thu, 26 Jun 2025 11:08:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B9=B3=E5=BA=93=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E9=80=BB=E8=BE=91=20=20=20=20=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E7=89=A9=E6=96=99=E7=8A=B6=E6=80=81=E3=80=81=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E3=80=81=E8=B4=A7=E4=BD=8D=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E3=80=81=E8=B4=A7=E4=BD=8D=E6=98=AF=E5=90=A6=E9=94=81=E5=AE=9A?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CheckDifferenceRecordController.java | 4 +- .../ICheckDifferenceRecordService.java | 19 +-- .../CheckDifferenceRecordServiceImpl.java | 20 ++- .../check/flat/FlatStockCheckController.java | 28 ---- .../service/impl/MydoJobServiceImpl.java | 49 +++++- .../stock/stock/mapper/BasStockMapper.java | 19 ++- .../service/impl/BasStockServiceImpl.java | 22 ++- .../check/CheckDifferenceRecordMapper.xml | 1 + .../stock/BasStockFreezeRecordMapper.xml | 1 + .../stock/BasStockMaintainRecordMapper.xml | 1 + .../resources/mapper/stock/BasStockMapper.xml | 3 + ruoyi-ui/src/lang/en.js | 19 +-- ruoyi-ui/src/lang/zh.js | 3 +- ruoyi-ui/src/views/check/flat/index.vue | 150 +++++++++--------- ruoyi-ui/src/views/stock/freeze/index.vue | 6 +- ruoyi-ui/src/views/stock/management/index.vue | 46 +++--- ruoyi-ui/src/views/stock/record/index.vue | 2 +- 17 files changed, 210 insertions(+), 183 deletions(-) delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/flat/FlatStockCheckController.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java index 313eac1..66fc725 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java @@ -23,7 +23,7 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 盘点差异Controller - * + * * @author ruoyi * @date 2025-05-28 */ @@ -77,7 +77,7 @@ public class CheckDifferenceRecordController extends BaseController @PostMapping public AjaxResult add(@RequestBody CheckDifferenceRecord checkDifferenceRecord) { - return toAjax(checkDifferenceRecordService.insertCheckDifferenceRecord(checkDifferenceRecord)); + return checkDifferenceRecordService.insertCheckDifferenceRecord(checkDifferenceRecord); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/ICheckDifferenceRecordService.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/ICheckDifferenceRecordService.java index 03a9871..d78ab1e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/ICheckDifferenceRecordService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/ICheckDifferenceRecordService.java @@ -2,18 +2,19 @@ package com.ruoyi.check.difference.service; import java.util.List; import com.ruoyi.check.difference.domain.CheckDifferenceRecord; +import com.ruoyi.common.core.domain.AjaxResult; /** * 盘点差异Service接口 - * + * * @author ruoyi * @date 2025-05-28 */ -public interface ICheckDifferenceRecordService +public interface ICheckDifferenceRecordService { /** * 查询盘点差异 - * + * * @param checkGuid 盘点差异主键 * @return 盘点差异 */ @@ -21,7 +22,7 @@ public interface ICheckDifferenceRecordService /** * 查询盘点差异列表 - * + * * @param checkDifferenceRecord 盘点差异 * @return 盘点差异集合 */ @@ -29,15 +30,15 @@ public interface ICheckDifferenceRecordService /** * 新增盘点差异 - * + * * @param checkDifferenceRecord 盘点差异 * @return 结果 */ - public int insertCheckDifferenceRecord(CheckDifferenceRecord checkDifferenceRecord); + public AjaxResult insertCheckDifferenceRecord(CheckDifferenceRecord checkDifferenceRecord); /** * 修改盘点差异 - * + * * @param checkDifferenceRecord 盘点差异 * @return 结果 */ @@ -45,7 +46,7 @@ public interface ICheckDifferenceRecordService /** * 批量删除盘点差异 - * + * * @param checkGuids 需要删除的盘点差异主键集合 * @return 结果 */ @@ -53,7 +54,7 @@ public interface ICheckDifferenceRecordService /** * 删除盘点差异信息 - * + * * @param checkGuid 盘点差异主键 * @return 结果 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java index 5fd0dea..d4c933a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java @@ -1,8 +1,10 @@ package com.ruoyi.check.difference.service.impl; +import java.util.Date; import java.util.List; import cn.hutool.core.util.IdUtil; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.stock.stock.domain.BasStock; import com.ruoyi.stock.stock.service.IBasStockService; @@ -58,21 +60,33 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS * @return 结果 */ @Override - public int insertCheckDifferenceRecord(CheckDifferenceRecord checkDifferenceRecord) + public AjaxResult insertCheckDifferenceRecord(CheckDifferenceRecord checkDifferenceRecord) { if (checkDifferenceRecord.getRecordType()==1){ String stockId = checkDifferenceRecord.getStockId(); BasStock basStock = basStockService.selectBasStockByStockId(stockId); + if (!"1".equals(basStock.getProductStatus())){ + return AjaxResult.warn("库存非正常状态"); + } + basStock.setProductStatus("2"); + basStockService.updateBasStock(basStock); checkDifferenceRecord.setOldQuantity(basStock.getQuantity()); }else if (checkDifferenceRecord.getRecordType()==2){ checkDifferenceRecord.setOldQuantity("0"); }else if (checkDifferenceRecord.getRecordType()==3){ + BasStock basStock = basStockService.selectBasStockByStockId(checkDifferenceRecord.getStockId()); + if (!"1".equals(basStock.getProductStatus())){ + return AjaxResult.warn("库存非正常状态"); + } + basStock.setProductStatus("2"); + basStockService.updateBasStock(basStock); checkDifferenceRecord.setNewQuantity("0"); } - checkDifferenceRecord.setCreateTime(DateUtils.getNowDate()); + checkDifferenceRecord.setCreateTime(new Date()); checkDifferenceRecord.setCheckGuid(IdUtil.fastSimpleUUID()); checkDifferenceRecord.setStatus("0"); - return checkDifferenceRecordMapper.insertCheckDifferenceRecord(checkDifferenceRecord); + checkDifferenceRecordMapper.insertCheckDifferenceRecord(checkDifferenceRecord); + return AjaxResult.success("操作成功"); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/flat/FlatStockCheckController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/flat/FlatStockCheckController.java deleted file mode 100644 index 8eae54a..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/flat/FlatStockCheckController.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.ruoyi.check.flat; - -import com.ruoyi.check.difference.domain.CheckDifferenceRecord; -import com.ruoyi.check.difference.service.ICheckDifferenceRecordService; -import com.ruoyi.common.core.domain.AjaxResult; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 平库盘点 - */ -@RestController -@RequestMapping("/check/flatStockCheck") -public class FlatStockCheckController { - - @Autowired - private ICheckDifferenceRecordService checkDifferenceRecordService; - - @PostMapping("/add") - public AjaxResult add(@RequestBody CheckDifferenceRecord checkDifferenceRecord) { - int i = checkDifferenceRecordService.insertCheckDifferenceRecord(checkDifferenceRecord); - return i > 0 ? AjaxResult.success(): AjaxResult.error(); - } - -} 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 ded2185..5c0e98f 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 @@ -176,29 +176,60 @@ public class MydoJobServiceImpl implements IMydoJobService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult manualCompleted(MydoJob mydoJob) { - //插入库存 - String jobId = mydoJob.getJobId(); MydoJob job = selectMydoJobByJobId(jobId); if (job == null) { return AjaxResult.warn("任务不存在"); } - if ("5".equals(job.getInOrOut())){ - //料箱盘点入库作业 + if ("6".equals(job.getInOrOut())){ + //托盘盘点入库,放入原货位,直接修改货位状态,库存状态 //修改货位 BasCargoSpace basCargoSpace = new BasCargoSpace(); - basCargoSpace.setStatus("7"); + basCargoSpace.setStatus("8"); basCargoSpace.setTrayCode(job.getTrayCode()); basCargoSpace.setCargoSpaceId(job.getCargoSpaceId()); basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + + + //修改物料状态 + BasStock basStockParam = new BasStock(); + basStockParam.setTrayCode(job.getTrayCode()); + List basStocks = basStockService.selectBasStockList(basStockParam); + for (BasStock basStock : basStocks) { + basStock.setProductStatus("2"); + basStockService.updateBasStock(basStock); + } + //插入历史表 insertHistory(mydoJob.getJobId()); return AjaxResult.success(); + }else if ("5".equals(job.getInOrOut())){ + //料箱盘点入库 + MydoJobDetail param = new MydoJobDetail(); + param.setJobId(jobId); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); + if (CollUtil.isNotEmpty(mydoJobDetails)) { + List list = new ArrayList<>(); + for (MydoJobDetail mydoJobDetail : mydoJobDetails) { + list.add(getStockByInStockinDetail(mydoJobDetail, job)); + } + basStockService.insertBasStockList(list); + mydoJob.setStatus("4"); + updateMydoJob(mydoJob); + //修改货位 + BasCargoSpace basCargoSpace = new BasCargoSpace(); + basCargoSpace.setStatus("8"); + basCargoSpace.setTrayCode(job.getTrayCode()); + basCargoSpace.setCargoSpaceId(job.getCargoSpaceId()); + basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + //插入历史表 + insertHistory(mydoJob.getJobId()); + } + return AjaxResult.success(); }else { //正常入库作业 - MydoJobDetail param = new MydoJobDetail(); param.setJobId(jobId); List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); @@ -229,7 +260,11 @@ public class MydoJobServiceImpl implements IMydoJobService { stock.setStockId(basJobIdService.getJobId("KC")); stock.setCargoSpaceId(mydoJob.getCargoSpaceId()); stock.setStockStatus("1"); - stock.setProductStatus("1"); + if ("5".equals(mydoJob.getInOrOut())){ + stock.setProductStatus("2"); + }else { + stock.setProductStatus("1"); + } stock.setLotNo(mydoJobDetail.getLotNo()); stock.setInDate(DateUtils.getTime()); stock.setProductGuid(mydoJobDetail.getProductGuid()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java index a210a63..44ce697 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java @@ -2,18 +2,19 @@ package com.ruoyi.stock.stock.mapper; import java.util.List; import com.ruoyi.stock.stock.domain.BasStock; +import org.apache.ibatis.annotations.Param; /** * 库存信息Mapper接口 - * + * * @author ruoyi * @date 2025-05-24 */ -public interface BasStockMapper +public interface BasStockMapper { /** * 查询库存信息 - * + * * @param stockId 库存信息主键 * @return 库存信息 */ @@ -21,7 +22,7 @@ public interface BasStockMapper /** * 查询库存信息列表 - * + * * @param basStock 库存信息 * @return 库存信息集合 */ @@ -29,7 +30,7 @@ public interface BasStockMapper /** * 新增库存信息 - * + * * @param basStock 库存信息 * @return 结果 */ @@ -37,7 +38,7 @@ public interface BasStockMapper /** * 修改库存信息 - * + * * @param basStock 库存信息 * @return 结果 */ @@ -45,7 +46,7 @@ public interface BasStockMapper /** * 删除库存信息 - * + * * @param stockId 库存信息主键 * @return 结果 */ @@ -53,7 +54,7 @@ public interface BasStockMapper /** * 批量删除库存信息 - * + * * @param stockIds 需要删除的数据主键集合 * @return 结果 */ @@ -62,4 +63,6 @@ public interface BasStockMapper void insertBasStockList(List list); List selectKtpStock(BasStock basStock); + + int updateStockStatusByTrayCode(@Param("stockStatus") String stockStatus,@Param("trayCode") String trayCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java index aa508d7..06f648c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java @@ -111,31 +111,27 @@ public class BasStockServiceImpl implements IBasStockService { BasStock oldBasStock = basStockMapper.selectBasStockByStockId(basStock.getStockId()); insertMaintainRecord(oldBasStock,basStock,"2"); - BasCargoSpace oldBasCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(basStock.getCargoSpaceId()); - insertFreezeRecord(oldBasCargoSpace,basStock); + insertFreezeRecord(oldBasStock,basStock); return basStockMapper.updateBasStock(basStock); } - private void insertFreezeRecord(BasCargoSpace oldBasCargoSpace, BasStock basStock) { - if (!oldBasCargoSpace.getLocked().equals(basStock.getCargoSpaceStatus())){ + private void insertFreezeRecord(BasStock oldBasStock, BasStock basStock) { + if (!oldBasStock.getStockStatus().equals(basStock.getStockStatus())){ BasStockFreezeRecord basStockFreezeRecord = new BasStockFreezeRecord(); basStockFreezeRecord.setWhGuid(IdUtil.fastSimpleUUID()); basStockFreezeRecord.setCargoSpaceId(basStock.getCargoSpaceId()); basStockFreezeRecord.setTrayCode(basStock.getTrayCode()); basStockFreezeRecord.setCreateBy(SecurityUtils.getLoginUser().getUsername()); basStockFreezeRecord.setCreateTime(new Date()); - basStockFreezeRecord.setOldStatus(oldBasCargoSpace.getLocked()); - basStockFreezeRecord.setCurrStatus(basStock.getCargoSpaceStatus()); + basStockFreezeRecord.setOldStatus(oldBasStock.getStockStatus()); + basStockFreezeRecord.setCurrStatus(basStock.getStockStatus()); basStockFreezeRecord.setWarehouseId(basStock.getWarehouseId()); - if ("N".equals(basStock.getCargoSpaceStatus())){ - basStockFreezeRecord.setMethod("解锁"); + if ("1".equals(basStock.getStockStatus())){ + basStockFreezeRecord.setMethod("解冻"); }else { - basStockFreezeRecord.setMethod("锁定"); + basStockFreezeRecord.setMethod("冻结"); } - BasCargoSpace basCargoSpace = new BasCargoSpace(); - basCargoSpace.setCargoSpaceId(basStock.getCargoSpaceId()); - basCargoSpace.setLocked(basStock.getCargoSpaceStatus()); - basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + basStockMapper.updateStockStatusByTrayCode(basStock.getStockStatus(),oldBasStock.getTrayCode()); basStockFreezeRecordService.insertBasStockFreezeRecord(basStockFreezeRecord); } } diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml index 0b5d20b..ba36a12 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml @@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and record_type = #{recordType} and product_guid = #{productGuid} + order by create_time desc diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml index b32d341..3467f6c 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml @@ -246,6 +246,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where stock_id = #{stockId} + + update bas_stock set stock_status = #{stockStatus} where tray_code = #{trayCode} + delete from bas_stock where stock_id = #{stockId} diff --git a/ruoyi-ui/src/lang/en.js b/ruoyi-ui/src/lang/en.js index 41ebf7f..fcf0a12 100644 --- a/ruoyi-ui/src/lang/en.js +++ b/ruoyi-ui/src/lang/en.js @@ -672,15 +672,16 @@ export default { editSuccess: 'Modified successfully', deleteSuccess: 'Deleted successfully', confirmDelete: 'Are you sure to delete the stock information with ID "{stockIds}"?', - productId:'物料编码', - materialDesc:'物料描述', - englishDesc:'英文描述', - netWeight:'净重', - length:'长', - width:'宽', - height:'高', - volume:'体积', - cargoSpaceStatus:'货位状态' + productId:'productId', + materialDesc:'materialDesc', + englishDesc:'englishDesc', + netWeight:'netWeight', + length:'length', + width:'width', + height:'height', + volume:'volume', + cargoSpaceStatus: 'cargoSpaceStatus', + cargoSpaceStockStatus: 'cargoSpaceStockStatus' }, diff --git a/ruoyi-ui/src/lang/zh.js b/ruoyi-ui/src/lang/zh.js index a9d9224..0d37e01 100644 --- a/ruoyi-ui/src/lang/zh.js +++ b/ruoyi-ui/src/lang/zh.js @@ -659,7 +659,8 @@ export default { height:'高', volume:'体积', productId:'物料编码', - cargoSpaceStatus: '货位状态' + cargoSpaceStatus: '锁定状态', + cargoSpaceStockStatus: '货位状态' }, diff --git a/ruoyi-ui/src/views/check/flat/index.vue b/ruoyi-ui/src/views/check/flat/index.vue index 2eeaf1f..8c9d159 100644 --- a/ruoyi-ui/src/views/check/flat/index.vue +++ b/ruoyi-ui/src/views/check/flat/index.vue @@ -17,9 +17,8 @@ @keyup.enter.native="handleQuery" /> - - + + + - + - - - --> - - {{ $t('stockManagement.search') }} - - {{ $t('stockManagement.reset') }} - + {{$t('stockManagement.search')}} + {{$t('stockManagement.reset')}} - - {{ $t('stockManagement.add') }} - + {{ $t('stockManagement.edit') }} + >{{$t('stockManagement.edit')}} {{ $t('stockManagement.delete') }} + >{{$t('stockManagement.delete')}} {{ $t('stockManagement.export') }} + >{{$t('stockManagement.export')}} - - - - - - - + + + + + - + + + @@ -272,33 +272,27 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + + + - - + + - - + @@ -330,35 +324,33 @@ - + - - - - - + + + - +