From 673d8367940f7de590845425581c95426a7b35ae Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Sat, 24 May 2025 11:36:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E9=A1=B5=E9=9D=A2=20=20=20?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E9=A1=B5=E9=9D=A2=E6=89=8B=E5=8A=A8=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=92=8C=E6=89=8B=E5=8A=A8=E4=BD=9C=E5=BA=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mydojob/controller/MydoJobController.java | 24 +- .../job/mydojob/mapper/MydoJobMapper.java | 18 +- .../job/mydojob/service/IMydoJobService.java | 32 +- .../service/impl/MydoJobServiceImpl.java | 109 ++++ .../mapper/MydoJobDetailMapper.java | 20 +- .../service/IMydoJobDetailService.java | 4 + .../impl/MydoJobDetailServiceImpl.java | 26 +- .../stock/controller/BasStockController.java | 104 ++++ .../ruoyi/stock/stock/domain/BasStock.java | 383 ++++++++++++ .../stock/stock/mapper/BasStockMapper.java | 63 ++ .../stock/stock/service/IBasStockService.java | 63 ++ .../service/impl/BasStockServiceImpl.java | 98 +++ .../mapper/job/MydoJobDetailMapper.xml | 16 +- .../resources/mapper/job/MydoJobMapper.xml | 14 +- .../resources/mapper/stock/BasStockMapper.xml | 227 +++++++ ruoyi-ui/src/api/stock/management.js | 44 ++ ruoyi-ui/src/views/in/job/index.vue | 64 +- ruoyi-ui/src/views/in/receive/index.vue | 4 +- ruoyi-ui/src/views/in/stockIn/index.vue | 4 +- ruoyi-ui/src/views/stock/management/index.vue | 584 ++++++++++++++++++ 20 files changed, 1839 insertions(+), 62 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java create mode 100644 ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml create mode 100644 ruoyi-ui/src/api/stock/management.js create mode 100644 ruoyi-ui/src/views/stock/management/index.vue diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/MydoJobController.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/MydoJobController.java index 02083b9..cad5c67 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/MydoJobController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/MydoJobController.java @@ -23,7 +23,7 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 任务表Controller - * + * * @author ruoyi * @date 2025-05-23 */ @@ -101,4 +101,26 @@ public class MydoJobController extends BaseController { return toAjax(mydoJobService.deleteMydoJobByJobIds(jobIds)); } + + /** + * 手动作废任务表 + */ + @PreAuthorize("@ss.hasPermi('job:mydoJob:manualInvalidation')") + @Log(title = "任务表", businessType = BusinessType.DELETE) + @PostMapping("/manualInvalidation") + public AjaxResult manualInvalidation(@RequestBody MydoJob mydoJob) + { + return mydoJobService.manualInvalidation(mydoJob); + } + + /** + * 手动完成任务表 + */ + @PreAuthorize("@ss.hasPermi('job:mydoJob:manualCompleted')") + @Log(title = "任务表", businessType = BusinessType.DELETE) + @PostMapping("/manualCompleted") + public AjaxResult manualCompleted(@RequestBody MydoJob mydoJob) + { + return mydoJobService.manualCompleted(mydoJob); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index 5b19a3f..035af2c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -5,15 +5,15 @@ import com.ruoyi.job.mydojob.domain.MydoJob; /** * 任务表Mapper接口 - * + * * @author ruoyi * @date 2025-05-23 */ -public interface MydoJobMapper +public interface MydoJobMapper { /** * 查询任务表 - * + * * @param jobId 任务表主键 * @return 任务表 */ @@ -21,7 +21,7 @@ public interface MydoJobMapper /** * 查询任务表列表 - * + * * @param mydoJob 任务表 * @return 任务表集合 */ @@ -29,7 +29,7 @@ public interface MydoJobMapper /** * 新增任务表 - * + * * @param mydoJob 任务表 * @return 结果 */ @@ -37,7 +37,7 @@ public interface MydoJobMapper /** * 修改任务表 - * + * * @param mydoJob 任务表 * @return 结果 */ @@ -45,7 +45,7 @@ public interface MydoJobMapper /** * 删除任务表 - * + * * @param jobId 任务表主键 * @return 结果 */ @@ -53,9 +53,11 @@ public interface MydoJobMapper /** * 批量删除任务表 - * + * * @param jobIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMydoJobByJobIds(String[] jobIds); + + void insertHistory(String jobId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java index 5699940..46b92a7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java @@ -1,19 +1,21 @@ package com.ruoyi.job.mydojob.service; import java.util.List; + +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.job.mydojob.domain.MydoJob; /** * 任务表Service接口 - * + * * @author ruoyi * @date 2025-05-23 */ -public interface IMydoJobService +public interface IMydoJobService { /** * 查询任务表 - * + * * @param jobId 任务表主键 * @return 任务表 */ @@ -21,7 +23,7 @@ public interface IMydoJobService /** * 查询任务表列表 - * + * * @param mydoJob 任务表 * @return 任务表集合 */ @@ -29,7 +31,7 @@ public interface IMydoJobService /** * 新增任务表 - * + * * @param mydoJob 任务表 * @return 结果 */ @@ -37,7 +39,7 @@ public interface IMydoJobService /** * 修改任务表 - * + * * @param mydoJob 任务表 * @return 结果 */ @@ -45,7 +47,7 @@ public interface IMydoJobService /** * 批量删除任务表 - * + * * @param jobIds 需要删除的任务表主键集合 * @return 结果 */ @@ -53,9 +55,23 @@ public interface IMydoJobService /** * 删除任务表信息 - * + * * @param jobId 任务表主键 * @return 结果 */ public int deleteMydoJobByJobId(String jobId); + + /** + * 手动作废任务 + * @param mydoJob + * @return + */ + AjaxResult manualInvalidation(MydoJob mydoJob); + + /** + * 手动完成任务 + * @param mydoJob + * @return + */ + AjaxResult manualCompleted(MydoJob mydoJob); } 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 0b6118d..cebb148 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 @@ -1,16 +1,27 @@ package com.ruoyi.job.mydojob.service.impl; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import com.ruoyi.bas.basJobId.service.IBasJobIdService; import com.ruoyi.bas.taskNo.service.IBasTaskNoService; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; +import com.ruoyi.in.stockindetail.service.IInStockinDetailService; +import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.job.mydojob.mapper.MydoJobMapper; import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.service.IMydoJobService; +import org.springframework.transaction.annotation.Transactional; /** * 任务表Service业务层处理 @@ -27,6 +38,13 @@ public class MydoJobServiceImpl implements IMydoJobService private IBasJobIdService basJobIdService; @Autowired private IBasTaskNoService basTaskNoService; + @Autowired + private IMydoJobDetailService mydoJobDetailService; + @Autowired + private IInStockinDetailService inStockinDetailService; + @Autowired + private IBasStockService basStockService; + /** * 查询任务表 @@ -102,4 +120,95 @@ public class MydoJobServiceImpl implements IMydoJobService { return mydoJobMapper.deleteMydoJobByJobId(jobId); } + /** + * 手动作废任务表 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult manualInvalidation(MydoJob mydoJob) { + String jobId = mydoJob.getJobId(); + MydoJob job = selectMydoJobByJobId(jobId); + if (job == null){ + return AjaxResult.warn("任务不存在"); + } + MydoJobDetail param = new MydoJobDetail(); + param.setJobId(jobId); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); + + for (MydoJobDetail mydoJobDetail : mydoJobDetails) { + String inOrOutDId = mydoJobDetail.getInOrOutDId(); + InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId); + BigDecimal stockInNum = Convert.toBigDecimal(inStockinDetail.getScanNum()); + BigDecimal jobInNum = Convert.toBigDecimal(mydoJobDetail.getInQuantity()); + BigDecimal subtract = stockInNum.subtract(jobInNum); + inStockinDetail.setScanNum(Convert.toStr(subtract)); + inStockinDetailService.updateInStockinDetail(inStockinDetail); + } + mydoJob.setStatus("5"); + updateMydoJob(mydoJob); + //插入历史表 + insertHistory(mydoJob.getJobId()); + return AjaxResult.success(); + } + + /** + * 插入历史表 + * @param jobId + */ + private void insertHistory(String jobId) { + mydoJobMapper.insertHistory(jobId); + mydoJobDetailService.insertHistory(jobId); + mydoJobMapper.deleteMydoJobByJobId(jobId); + mydoJobDetailService.deleteMydoJobDetailByJobId(jobId); + } + + /** + * 手动完成任务表 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult manualCompleted(MydoJob mydoJob) { + //插入库存 + + String jobId = mydoJob.getJobId(); + MydoJob job = selectMydoJobByJobId(jobId); + if (job == null){ + return AjaxResult.warn("任务不存在"); + } + 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); + //插入历史表 + insertHistory(mydoJob.getJobId()); + } + + return AjaxResult.success(); + } + + private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail,MydoJob mydoJob) { + BasStock stock = new BasStock(); + stock.setStockId(basJobIdService.getJobId("KC")); + stock.setCargoSpaceId(mydoJob.getCargoSpaceId()); + stock.setStockStatus("1"); + stock.setProductStatus("1"); + stock.setLotNo(mydoJobDetail.getLotNo()); + stock.setInDate(DateUtils.getDate()); + stock.setProductGuid(mydoJobDetail.getProductGuid()); + stock.setQuantity(mydoJobDetail.getInQuantity()); + stock.setJobId(mydoJob.getJobId()); + stock.setTrayCode(mydoJob.getTrayCode()); + stock.setInClassId(mydoJob.getClassId()); + stock.setWarehouseId(mydoJob.getWarehouseId()); + stock.setStackingId(mydoJobDetail.getStackingId()); + return stock; + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/mapper/MydoJobDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/mapper/MydoJobDetailMapper.java index 3571ac2..865ccb1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/mapper/MydoJobDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/mapper/MydoJobDetailMapper.java @@ -5,15 +5,15 @@ import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; /** * 子任务Mapper接口 - * + * * @author ruoyi * @date 2025-05-22 */ -public interface MydoJobDetailMapper +public interface MydoJobDetailMapper { /** * 查询子任务 - * + * * @param jobDetailId 子任务主键 * @return 子任务 */ @@ -21,7 +21,7 @@ public interface MydoJobDetailMapper /** * 查询子任务列表 - * + * * @param mydoJobDetail 子任务 * @return 子任务集合 */ @@ -29,7 +29,7 @@ public interface MydoJobDetailMapper /** * 新增子任务 - * + * * @param mydoJobDetail 子任务 * @return 结果 */ @@ -37,7 +37,7 @@ public interface MydoJobDetailMapper /** * 修改子任务 - * + * * @param mydoJobDetail 子任务 * @return 结果 */ @@ -45,7 +45,7 @@ public interface MydoJobDetailMapper /** * 删除子任务 - * + * * @param jobDetailId 子任务主键 * @return 结果 */ @@ -53,9 +53,13 @@ public interface MydoJobDetailMapper /** * 批量删除子任务 - * + * * @param jobDetailIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMydoJobDetailByJobDetailIds(String[] jobDetailIds); + + void insertHistory(String jobId); + + void deleteMydoJobDetailByJobId(String jobId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/IMydoJobDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/IMydoJobDetailService.java index 7b153aa..a565b5d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/IMydoJobDetailService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/IMydoJobDetailService.java @@ -58,4 +58,8 @@ public interface IMydoJobDetailService * @return 结果 */ public int deleteMydoJobDetailByJobDetailId(String jobDetailId); + + void insertHistory(String jobId); + + void deleteMydoJobDetailByJobId(String jobId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/impl/MydoJobDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/impl/MydoJobDetailServiceImpl.java index afc0a18..a5da976 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/impl/MydoJobDetailServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/service/impl/MydoJobDetailServiceImpl.java @@ -9,19 +9,19 @@ import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; /** * 子任务Service业务层处理 - * + * * @author ruoyi * @date 2025-05-22 */ @Service -public class MydoJobDetailServiceImpl implements IMydoJobDetailService +public class MydoJobDetailServiceImpl implements IMydoJobDetailService { @Autowired private MydoJobDetailMapper mydoJobDetailMapper; /** * 查询子任务 - * + * * @param jobDetailId 子任务主键 * @return 子任务 */ @@ -33,7 +33,7 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService /** * 查询子任务列表 - * + * * @param mydoJobDetail 子任务 * @return 子任务 */ @@ -45,7 +45,7 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService /** * 新增子任务 - * + * * @param mydoJobDetail 子任务 * @return 结果 */ @@ -57,7 +57,7 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService /** * 修改子任务 - * + * * @param mydoJobDetail 子任务 * @return 结果 */ @@ -69,7 +69,7 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService /** * 批量删除子任务 - * + * * @param jobDetailIds 需要删除的子任务主键 * @return 结果 */ @@ -81,7 +81,7 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService /** * 删除子任务信息 - * + * * @param jobDetailId 子任务主键 * @return 结果 */ @@ -90,4 +90,14 @@ public class MydoJobDetailServiceImpl implements IMydoJobDetailService { return mydoJobDetailMapper.deleteMydoJobDetailByJobDetailId(jobDetailId); } + + @Override + public void insertHistory(String jobId) { + mydoJobDetailMapper.insertHistory(jobId); + } + + @Override + public void deleteMydoJobDetailByJobId(String jobId) { + mydoJobDetailMapper.deleteMydoJobDetailByJobId(jobId); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java new file mode 100644 index 0000000..40874b7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java @@ -0,0 +1,104 @@ +package com.ruoyi.stock.stock.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 库存信息Controller + * + * @author ruoyi + * @date 2025-05-24 + */ +@RestController +@RequestMapping("/stock/management") +public class BasStockController extends BaseController +{ + @Autowired + private IBasStockService basStockService; + + /** + * 查询库存信息列表 + */ + @PreAuthorize("@ss.hasPermi('stock:management:list')") + @GetMapping("/list") + public TableDataInfo list(BasStock basStock) + { + startPage(); + List list = basStockService.selectBasStockList(basStock); + return getDataTable(list); + } + + /** + * 导出库存信息列表 + */ + @PreAuthorize("@ss.hasPermi('stock:management:export')") + @Log(title = "库存信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasStock basStock) + { + List list = basStockService.selectBasStockList(basStock); + ExcelUtil util = new ExcelUtil(BasStock.class); + util.exportExcel(response, list, "库存信息数据"); + } + + /** + * 获取库存信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('stock:management:query')") + @GetMapping(value = "/{stockId}") + public AjaxResult getInfo(@PathVariable("stockId") String stockId) + { + return success(basStockService.selectBasStockByStockId(stockId)); + } + + /** + * 新增库存信息 + */ + @PreAuthorize("@ss.hasPermi('stock:management:add')") + @Log(title = "库存信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BasStock basStock) + { + return toAjax(basStockService.insertBasStock(basStock)); + } + + /** + * 修改库存信息 + */ + @PreAuthorize("@ss.hasPermi('stock:management:edit')") + @Log(title = "库存信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BasStock basStock) + { + return toAjax(basStockService.updateBasStock(basStock)); + } + + /** + * 删除库存信息 + */ + @PreAuthorize("@ss.hasPermi('stock:management:remove')") + @Log(title = "库存信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockIds}") + public AjaxResult remove(@PathVariable String[] stockIds) + { + return toAjax(basStockService.deleteBasStockByStockIds(stockIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java new file mode 100644 index 0000000..c809cfb --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java @@ -0,0 +1,383 @@ +package com.ruoyi.stock.stock.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 库存信息对象 bas_stock + * + * @author ruoyi + * @date 2025-05-24 + */ +public class BasStock extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 库存id */ + @Excel(name = "库存id") + private String stockId; + + /** 货位id */ + @Excel(name = "货位id") + private String cargoSpaceId; + + /** 库存状态 */ + @Excel(name = "库存状态") + private String stockStatus; + + /** 物料状态 */ + @Excel(name = "物料状态") + private String productStatus; + + /** 批次号 */ + @Excel(name = "批次号") + private String lotNo; + + /** 入库时间 */ + @Excel(name = "入库时间") + private String inDate; + + /** 回流时间 */ + @Excel(name = "回流时间") + private String backDate; + + /** 物料GUID */ + @Excel(name = "物料GUID") + private String productGuid; + + /** 库存数量 */ + @Excel(name = "库存数量") + private String quantity; + + /** 作业ID */ + @Excel(name = "作业ID") + private String jobId; + + /** 托盘条码 */ + @Excel(name = "托盘条码") + private String trayCode; + + /** 出库数量 */ + @Excel(name = "出库数量") + private String outQuantity; + + /** 入库子单id */ + @Excel(name = "入库子单id") + private String stockinDetailId; + + /** 入库主单 */ + @Excel(name = "入库主单") + private String stockinId; + + /** 入库类型 */ + @Excel(name = "入库类型") + private String inType; + + /** 入库班组ID */ + @Excel(name = "入库班组ID") + private String inClassId; + + /** 仓库 */ + @Excel(name = "仓库") + private String warehouseId; + + /** 垛型ID */ + @Excel(name = "垛型ID") + private String stackingId; + + /** 备用字段1 */ + @Excel(name = "备用字段1") + private String spare1; + + /** 备用字段2 */ + @Excel(name = "备用字段2") + private String spare2; + + /** 备用字段3 */ + @Excel(name = "备用字段3") + private String spare3; + + /** 备用字段4 */ + @Excel(name = "备用字段4") + private String spare4; + + /** 备用字段5 */ + @Excel(name = "备用字段5") + private String spare5; + + /** 备用字段6 */ + @Excel(name = "备用字段6") + private String spare6; + + public void setStockId(String stockId) + { + this.stockId = stockId; + } + + public String getStockId() + { + return stockId; + } + + public void setCargoSpaceId(String cargoSpaceId) + { + this.cargoSpaceId = cargoSpaceId; + } + + public String getCargoSpaceId() + { + return cargoSpaceId; + } + + public void setStockStatus(String stockStatus) + { + this.stockStatus = stockStatus; + } + + public String getStockStatus() + { + return stockStatus; + } + + public void setProductStatus(String productStatus) + { + this.productStatus = productStatus; + } + + public String getProductStatus() + { + return productStatus; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setInDate(String inDate) + { + this.inDate = inDate; + } + + public String getInDate() + { + return inDate; + } + + public void setBackDate(String backDate) + { + this.backDate = backDate; + } + + public String getBackDate() + { + return backDate; + } + + public void setProductGuid(String productGuid) + { + this.productGuid = productGuid; + } + + public String getProductGuid() + { + return productGuid; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + public void setJobId(String jobId) + { + this.jobId = jobId; + } + + public String getJobId() + { + return jobId; + } + + public void setTrayCode(String trayCode) + { + this.trayCode = trayCode; + } + + public String getTrayCode() + { + return trayCode; + } + + public void setOutQuantity(String outQuantity) + { + this.outQuantity = outQuantity; + } + + public String getOutQuantity() + { + return outQuantity; + } + + public void setStockinDetailId(String stockinDetailId) + { + this.stockinDetailId = stockinDetailId; + } + + public String getStockinDetailId() + { + return stockinDetailId; + } + + public void setStockinId(String stockinId) + { + this.stockinId = stockinId; + } + + public String getStockinId() + { + return stockinId; + } + + public void setInType(String inType) + { + this.inType = inType; + } + + public String getInType() + { + return inType; + } + + public void setInClassId(String inClassId) + { + this.inClassId = inClassId; + } + + public String getInClassId() + { + return inClassId; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setStackingId(String stackingId) + { + this.stackingId = stackingId; + } + + public String getStackingId() + { + return stackingId; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setSpare2(String spare2) + { + this.spare2 = spare2; + } + + public String getSpare2() + { + return spare2; + } + + public void setSpare3(String spare3) + { + this.spare3 = spare3; + } + + public String getSpare3() + { + return spare3; + } + + public void setSpare4(String spare4) + { + this.spare4 = spare4; + } + + public String getSpare4() + { + return spare4; + } + + public void setSpare5(String spare5) + { + this.spare5 = spare5; + } + + public String getSpare5() + { + return spare5; + } + + public void setSpare6(String spare6) + { + this.spare6 = spare6; + } + + public String getSpare6() + { + return spare6; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockId", getStockId()) + .append("cargoSpaceId", getCargoSpaceId()) + .append("stockStatus", getStockStatus()) + .append("productStatus", getProductStatus()) + .append("lotNo", getLotNo()) + .append("inDate", getInDate()) + .append("backDate", getBackDate()) + .append("productGuid", getProductGuid()) + .append("quantity", getQuantity()) + .append("jobId", getJobId()) + .append("trayCode", getTrayCode()) + .append("outQuantity", getOutQuantity()) + .append("stockinDetailId", getStockinDetailId()) + .append("stockinId", getStockinId()) + .append("inType", getInType()) + .append("inClassId", getInClassId()) + .append("warehouseId", getWarehouseId()) + .append("stackingId", getStackingId()) + .append("spare1", getSpare1()) + .append("spare2", getSpare2()) + .append("spare3", getSpare3()) + .append("spare4", getSpare4()) + .append("spare5", getSpare5()) + .append("spare6", getSpare6()) + .toString(); + } +} 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 new file mode 100644 index 0000000..0def9d6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java @@ -0,0 +1,63 @@ +package com.ruoyi.stock.stock.mapper; + +import java.util.List; +import com.ruoyi.stock.stock.domain.BasStock; + +/** + * 库存信息Mapper接口 + * + * @author ruoyi + * @date 2025-05-24 + */ +public interface BasStockMapper +{ + /** + * 查询库存信息 + * + * @param stockId 库存信息主键 + * @return 库存信息 + */ + public BasStock selectBasStockByStockId(String stockId); + + /** + * 查询库存信息列表 + * + * @param basStock 库存信息 + * @return 库存信息集合 + */ + public List selectBasStockList(BasStock basStock); + + /** + * 新增库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + public int insertBasStock(BasStock basStock); + + /** + * 修改库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + public int updateBasStock(BasStock basStock); + + /** + * 删除库存信息 + * + * @param stockId 库存信息主键 + * @return 结果 + */ + public int deleteBasStockByStockId(String stockId); + + /** + * 批量删除库存信息 + * + * @param stockIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBasStockByStockIds(String[] stockIds); + + void insertBasStockList(List list); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java new file mode 100644 index 0000000..f448ecf --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java @@ -0,0 +1,63 @@ +package com.ruoyi.stock.stock.service; + +import java.util.List; +import com.ruoyi.stock.stock.domain.BasStock; + +/** + * 库存信息Service接口 + * + * @author ruoyi + * @date 2025-05-24 + */ +public interface IBasStockService +{ + /** + * 查询库存信息 + * + * @param stockId 库存信息主键 + * @return 库存信息 + */ + public BasStock selectBasStockByStockId(String stockId); + + /** + * 查询库存信息列表 + * + * @param basStock 库存信息 + * @return 库存信息集合 + */ + public List selectBasStockList(BasStock basStock); + + /** + * 新增库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + public int insertBasStock(BasStock basStock); + + /** + * 修改库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + public int updateBasStock(BasStock basStock); + + /** + * 批量删除库存信息 + * + * @param stockIds 需要删除的库存信息主键集合 + * @return 结果 + */ + public int deleteBasStockByStockIds(String[] stockIds); + + /** + * 删除库存信息信息 + * + * @param stockId 库存信息主键 + * @return 结果 + */ + public int deleteBasStockByStockId(String stockId); + + void insertBasStockList(List list); +} 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 new file mode 100644 index 0000000..417f7fb --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java @@ -0,0 +1,98 @@ +package com.ruoyi.stock.stock.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.stock.stock.mapper.BasStockMapper; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; + +/** + * 库存信息Service业务层处理 + * + * @author ruoyi + * @date 2025-05-24 + */ +@Service +public class BasStockServiceImpl implements IBasStockService +{ + @Autowired + private BasStockMapper basStockMapper; + + /** + * 查询库存信息 + * + * @param stockId 库存信息主键 + * @return 库存信息 + */ + @Override + public BasStock selectBasStockByStockId(String stockId) + { + return basStockMapper.selectBasStockByStockId(stockId); + } + + /** + * 查询库存信息列表 + * + * @param basStock 库存信息 + * @return 库存信息 + */ + @Override + public List selectBasStockList(BasStock basStock) + { + return basStockMapper.selectBasStockList(basStock); + } + + /** + * 新增库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + @Override + public int insertBasStock(BasStock basStock) + { + return basStockMapper.insertBasStock(basStock); + } + + /** + * 修改库存信息 + * + * @param basStock 库存信息 + * @return 结果 + */ + @Override + public int updateBasStock(BasStock basStock) + { + return basStockMapper.updateBasStock(basStock); + } + + /** + * 批量删除库存信息 + * + * @param stockIds 需要删除的库存信息主键 + * @return 结果 + */ + @Override + public int deleteBasStockByStockIds(String[] stockIds) + { + return basStockMapper.deleteBasStockByStockIds(stockIds); + } + + /** + * 删除库存信息信息 + * + * @param stockId 库存信息主键 + * @return 结果 + */ + @Override + public int deleteBasStockByStockId(String stockId) + { + return basStockMapper.deleteBasStockByStockId(stockId); + } + + @Override + public void insertBasStockList(List list) { + basStockMapper.insertBasStockList(list); + } +} diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml index 421e681..5e98e86 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + and job_id = #{jobId} and status = #{status} and on_line_type = #{onLineType} @@ -65,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and fault_flag = #{faultFlag} - + + + + and stock_id = #{stockId} + and cargo_space_id = #{cargoSpaceId} + and stock_status = #{stockStatus} + and product_status = #{productStatus} + and lot_no = #{lotNo} + and in_date = #{inDate} + and back_date = #{backDate} + and product_guid = #{productGuid} + and quantity = #{quantity} + and job_id = #{jobId} + and tray_code = #{trayCode} + and out_quantity = #{outQuantity} + and stockin_detail_id = #{stockinDetailId} + and stockin_id = #{stockinId} + and in_type = #{inType} + and in_class_id = #{inClassId} + and warehouse_id = #{warehouseId} + and stacking_id = #{stackingId} + and spare1 = #{spare1} + and spare2 = #{spare2} + and spare3 = #{spare3} + and spare4 = #{spare4} + and spare5 = #{spare5} + and spare6 = #{spare6} + + + + + + + insert into bas_stock + + stock_id, + cargo_space_id, + stock_status, + product_status, + lot_no, + in_date, + back_date, + product_guid, + quantity, + job_id, + tray_code, + out_quantity, + stockin_detail_id, + stockin_id, + in_type, + in_class_id, + warehouse_id, + stacking_id, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + + + #{stockId}, + #{cargoSpaceId}, + #{stockStatus}, + #{productStatus}, + #{lotNo}, + #{inDate}, + #{backDate}, + #{productGuid}, + #{quantity}, + #{jobId}, + #{trayCode}, + #{outQuantity}, + #{stockinDetailId}, + #{stockinId}, + #{inType}, + #{inClassId}, + #{warehouseId}, + #{stackingId}, + #{spare1}, + #{spare2}, + #{spare3}, + #{spare4}, + #{spare5}, + #{spare6}, + + + + INSERT INTO bas_stock + + stock_id, + cargo_space_id, + stock_status, + product_status, + lot_no, + in_date, + back_date, + product_guid, + quantity, + job_id, + tray_code, + out_quantity, + stockin_detail_id, + stockin_id, + in_type, + in_class_id, + warehouse_id, + stacking_id, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + + VALUES + + + #{item.stockId}, + #{item.cargoSpaceId}, + #{item.stockStatus}, + #{item.productStatus}, + #{item.lotNo}, + #{item.inDate}, + #{item.backDate}, + #{item.productGuid}, + #{item.quantity}, + #{item.jobId}, + #{item.trayCode}, + #{item.outQuantity}, + #{item.stockinDetailId}, + #{item.stockinId}, + #{item.inType}, + #{item.inClassId}, + #{item.warehouseId}, + #{item.stackingId}, + #{item.spare1}, + #{item.spare2}, + #{item.spare3}, + #{item.spare4}, + #{item.spare5}, + #{item.spare6}, + + + + + + update bas_stock + + cargo_space_id = #{cargoSpaceId}, + stock_status = #{stockStatus}, + product_status = #{productStatus}, + lot_no = #{lotNo}, + in_date = #{inDate}, + back_date = #{backDate}, + product_guid = #{productGuid}, + quantity = #{quantity}, + job_id = #{jobId}, + tray_code = #{trayCode}, + out_quantity = #{outQuantity}, + stockin_detail_id = #{stockinDetailId}, + stockin_id = #{stockinId}, + in_type = #{inType}, + in_class_id = #{inClassId}, + warehouse_id = #{warehouseId}, + stacking_id = #{stackingId}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare3 = #{spare3}, + spare4 = #{spare4}, + spare5 = #{spare5}, + spare6 = #{spare6}, + + where stock_id = #{stockId} + + + + delete from bas_stock where stock_id = #{stockId} + + + + delete from bas_stock where stock_id in + + #{stockId} + + + diff --git a/ruoyi-ui/src/api/stock/management.js b/ruoyi-ui/src/api/stock/management.js new file mode 100644 index 0000000..9757949 --- /dev/null +++ b/ruoyi-ui/src/api/stock/management.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询库存信息列表 +export function listManagement(query) { + return request({ + url: '/stock/management/list', + method: 'get', + params: query + }) +} + +// 查询库存信息详细 +export function getManagement(stockId) { + return request({ + url: '/stock/management/' + stockId, + method: 'get' + }) +} + +// 新增库存信息 +export function addManagement(data) { + return request({ + url: '/stock/management', + method: 'post', + data: data + }) +} + +// 修改库存信息 +export function updateManagement(data) { + return request({ + url: '/stock/management', + method: 'put', + data: data + }) +} + +// 删除库存信息 +export function delManagement(stockId) { + return request({ + url: '/stock/management/' + stockId, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/in/job/index.vue b/ruoyi-ui/src/views/in/job/index.vue index 46f6e89..0669100 100644 --- a/ruoyi-ui/src/views/in/job/index.vue +++ b/ruoyi-ui/src/views/in/job/index.vue @@ -208,17 +208,27 @@ + + 手动作废 + 手动完成 - + - + - + + +