From 9e940997121a98adb0ee72eed24886a618fad638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=AB=E7=8C=ABguowen?= <9290821+guowen-the-cat@user.noreply.gitee.com> Date: Thu, 26 Jun 2025 16:33:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=B7=AE=E5=BC=82=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9A=84=E5=AE=A1=E6=A0=B8=E7=8A=B6=E6=80=81=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E4=B8=8E=E5=AE=A1=E6=A0=B8=E6=8C=89=E9=92=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CheckDifferenceRecordFinishController.java | 104 ++++++++ .../domain/CheckDifferenceRecordFinish.java | 233 ++++++++++++++++++ .../CheckDifferenceRecordFinishMapper.java | 61 +++++ .../ICheckDifferenceRecordFinishService.java | 61 +++++ ...heckDifferenceRecordFinishServiceImpl.java | 95 +++++++ .../CheckDifferenceRecordController.java | 142 +++++++++-- .../domain/CheckDifferenceRecord.java | 2 + .../CheckDifferenceRecordServiceImpl.java | 2 + .../stock/stock/service/IBasStockService.java | 8 + .../service/impl/BasStockServiceImpl.java | 13 +- .../CheckDifferenceRecordFinishMapper.xml | 122 +++++++++ .../check/CheckDifferenceRecordMapper.xml | 5 +- .../resources/mapper/stock/BasStockMapper.xml | 2 + .../src/api/check/DifferenceRecordFinish.js | 44 ++++ ruoyi-ui/src/api/check/difference.js | 9 + ruoyi-ui/src/lang/en.js | 5 + ruoyi-ui/src/lang/zh.js | 5 + ruoyi-ui/src/views/check/difference/index.vue | 119 ++++----- 18 files changed, 959 insertions(+), 73 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/controller/CheckDifferenceRecordFinishController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/domain/CheckDifferenceRecordFinish.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/mapper/CheckDifferenceRecordFinishMapper.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/ICheckDifferenceRecordFinishService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/impl/CheckDifferenceRecordFinishServiceImpl.java create mode 100644 ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml create mode 100644 ruoyi-ui/src/api/check/DifferenceRecordFinish.js diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/controller/CheckDifferenceRecordFinishController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/controller/CheckDifferenceRecordFinishController.java new file mode 100644 index 0000000..5a517e9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/controller/CheckDifferenceRecordFinishController.java @@ -0,0 +1,104 @@ +package com.ruoyi.check.DifferenceRecordFinish.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.check.DifferenceRecordFinish.domain.CheckDifferenceRecordFinish; +import com.ruoyi.check.DifferenceRecordFinish.service.ICheckDifferenceRecordFinishService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 盘点差异历史Controller + * + * @author gw + * @date 2025-06-25 + */ +@RestController +@RequestMapping("/check/DifferenceRecordFinish") +public class CheckDifferenceRecordFinishController extends BaseController +{ + @Autowired + private ICheckDifferenceRecordFinishService checkDifferenceRecordFinishService; + + /** + * 查询盘点差异历史列表 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:list')") + @GetMapping("/list") + public TableDataInfo list(CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + startPage(); + List list = checkDifferenceRecordFinishService.selectCheckDifferenceRecordFinishList(checkDifferenceRecordFinish); + return getDataTable(list); + } + + /** + * 导出盘点差异历史列表 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:export')") + @Log(title = "盘点差异历史", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + List list = checkDifferenceRecordFinishService.selectCheckDifferenceRecordFinishList(checkDifferenceRecordFinish); + ExcelUtil util = new ExcelUtil(CheckDifferenceRecordFinish.class); + util.exportExcel(response, list, "盘点差异历史数据"); + } + + /** + * 获取盘点差异历史详细信息 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:query')") + @GetMapping(value = "/{checkGuid}") + public AjaxResult getInfo(@PathVariable("checkGuid") String checkGuid) + { + return success(checkDifferenceRecordFinishService.selectCheckDifferenceRecordFinishByCheckGuid(checkGuid)); + } + + /** + * 新增盘点差异历史 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:add')") + @Log(title = "盘点差异历史", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + return toAjax(checkDifferenceRecordFinishService.insertCheckDifferenceRecordFinish(checkDifferenceRecordFinish)); + } + + /** + * 修改盘点差异历史 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:edit')") + @Log(title = "盘点差异历史", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + return toAjax(checkDifferenceRecordFinishService.updateCheckDifferenceRecordFinish(checkDifferenceRecordFinish)); + } + + /** + * 删除盘点差异历史 + */ + @PreAuthorize("@ss.hasPermi('check:DifferenceRecordFinish:remove')") + @Log(title = "盘点差异历史", businessType = BusinessType.DELETE) + @DeleteMapping("/{checkGuids}") + public AjaxResult remove(@PathVariable String[] checkGuids) + { + return toAjax(checkDifferenceRecordFinishService.deleteCheckDifferenceRecordFinishByCheckGuids(checkGuids)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/domain/CheckDifferenceRecordFinish.java b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/domain/CheckDifferenceRecordFinish.java new file mode 100644 index 0000000..05dd8ba --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/domain/CheckDifferenceRecordFinish.java @@ -0,0 +1,233 @@ +package com.ruoyi.check.DifferenceRecordFinish.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; + +/** + * 盘点差异历史对象 check_difference_record_finish + * + * @author gw + * @date 2025-06-25 + */ +public class CheckDifferenceRecordFinish extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 盘点id */ + private String checkGuid; + + /** 库存id */ + @Excel(name = "库存id") + private String stockId; + + /** 托盘 */ + @Excel(name = "托盘") + private String trayCode; + + /** 货位id */ + @Excel(name = "货位id") + private String cargoSpaceId; + + /** 物料id */ + @Excel(name = "物料id") + private String productId; + + /** 批次号 */ + @Excel(name = "批次号") + private String lotNo; + + /** 供应商 */ + @Excel(name = "供应商") + private String supplier; + + /** 客户 */ + @Excel(name = "客户") + private String customer; + + /** 原值 */ + @Excel(name = "原值") + private String oldQuantity; + + /** 新值 */ + @Excel(name = "新值") + private String newQuantity; + + /** 操作方式 */ + @Excel(name = "操作方式") + private Long recordType; + + /** 物料guid */ + @Excel(name = "物料guid") + private String productGuid; + + /** 盘点单据id */ + @Excel(name = "盘点单据id") + private String checkStockDetailId; + + /** 审核状态 */ + @Excel(name = "审核状态") + private String status; + + public void setCheckGuid(String checkGuid) + { + this.checkGuid = checkGuid; + } + + public String getCheckGuid() + { + return checkGuid; + } + + public void setStockId(String stockId) + { + this.stockId = stockId; + } + + public String getStockId() + { + return stockId; + } + + public void setTrayCode(String trayCode) + { + this.trayCode = trayCode; + } + + public String getTrayCode() + { + return trayCode; + } + + public void setCargoSpaceId(String cargoSpaceId) + { + this.cargoSpaceId = cargoSpaceId; + } + + public String getCargoSpaceId() + { + return cargoSpaceId; + } + + public void setProductId(String productId) + { + this.productId = productId; + } + + public String getProductId() + { + return productId; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setSupplier(String supplier) + { + this.supplier = supplier; + } + + public String getSupplier() + { + return supplier; + } + + public void setCustomer(String customer) + { + this.customer = customer; + } + + public String getCustomer() + { + return customer; + } + + public void setOldQuantity(String oldQuantity) + { + this.oldQuantity = oldQuantity; + } + + public String getOldQuantity() + { + return oldQuantity; + } + + public void setNewQuantity(String newQuantity) + { + this.newQuantity = newQuantity; + } + + public String getNewQuantity() + { + return newQuantity; + } + + public void setRecordType(Long recordType) + { + this.recordType = recordType; + } + + public Long getRecordType() + { + return recordType; + } + + public void setProductGuid(String productGuid) + { + this.productGuid = productGuid; + } + + public String getProductGuid() + { + return productGuid; + } + + public void setCheckStockDetailId(String checkStockDetailId) + { + this.checkStockDetailId = checkStockDetailId; + } + + public String getCheckStockDetailId() + { + return checkStockDetailId; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("checkGuid", getCheckGuid()) + .append("stockId", getStockId()) + .append("trayCode", getTrayCode()) + .append("cargoSpaceId", getCargoSpaceId()) + .append("productId", getProductId()) + .append("lotNo", getLotNo()) + .append("supplier", getSupplier()) + .append("customer", getCustomer()) + .append("oldQuantity", getOldQuantity()) + .append("newQuantity", getNewQuantity()) + .append("recordType", getRecordType()) + .append("createTime", getCreateTime()) + .append("productGuid", getProductGuid()) + .append("checkStockDetailId", getCheckStockDetailId()) + .append("status", getStatus()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/mapper/CheckDifferenceRecordFinishMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/mapper/CheckDifferenceRecordFinishMapper.java new file mode 100644 index 0000000..6e71cc4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/mapper/CheckDifferenceRecordFinishMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.DifferenceRecordFinish.mapper; + +import java.util.List; +import com.ruoyi.check.DifferenceRecordFinish.domain.CheckDifferenceRecordFinish; + +/** + * 盘点差异历史Mapper接口 + * + * @author gw + * @date 2025-06-25 + */ +public interface CheckDifferenceRecordFinishMapper +{ + /** + * 查询盘点差异历史 + * + * @param checkGuid 盘点差异历史主键 + * @return 盘点差异历史 + */ + public CheckDifferenceRecordFinish selectCheckDifferenceRecordFinishByCheckGuid(String checkGuid); + + /** + * 查询盘点差异历史列表 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 盘点差异历史集合 + */ + public List selectCheckDifferenceRecordFinishList(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 新增盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + public int insertCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 修改盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + public int updateCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 删除盘点差异历史 + * + * @param checkGuid 盘点差异历史主键 + * @return 结果 + */ + public int deleteCheckDifferenceRecordFinishByCheckGuid(String checkGuid); + + /** + * 批量删除盘点差异历史 + * + * @param checkGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCheckDifferenceRecordFinishByCheckGuids(String[] checkGuids); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/ICheckDifferenceRecordFinishService.java b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/ICheckDifferenceRecordFinishService.java new file mode 100644 index 0000000..90871a3 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/ICheckDifferenceRecordFinishService.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.DifferenceRecordFinish.service; + +import java.util.List; +import com.ruoyi.check.DifferenceRecordFinish.domain.CheckDifferenceRecordFinish; + +/** + * 盘点差异历史Service接口 + * + * @author gw + * @date 2025-06-25 + */ +public interface ICheckDifferenceRecordFinishService +{ + /** + * 查询盘点差异历史 + * + * @param checkGuid 盘点差异历史主键 + * @return 盘点差异历史 + */ + public CheckDifferenceRecordFinish selectCheckDifferenceRecordFinishByCheckGuid(String checkGuid); + + /** + * 查询盘点差异历史列表 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 盘点差异历史集合 + */ + public List selectCheckDifferenceRecordFinishList(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 新增盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + public int insertCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 修改盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + public int updateCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish); + + /** + * 批量删除盘点差异历史 + * + * @param checkGuids 需要删除的盘点差异历史主键集合 + * @return 结果 + */ + public int deleteCheckDifferenceRecordFinishByCheckGuids(String[] checkGuids); + + /** + * 删除盘点差异历史信息 + * + * @param checkGuid 盘点差异历史主键 + * @return 结果 + */ + public int deleteCheckDifferenceRecordFinishByCheckGuid(String checkGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/impl/CheckDifferenceRecordFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/impl/CheckDifferenceRecordFinishServiceImpl.java new file mode 100644 index 0000000..3beb6c1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/DifferenceRecordFinish/service/impl/CheckDifferenceRecordFinishServiceImpl.java @@ -0,0 +1,95 @@ +package com.ruoyi.check.DifferenceRecordFinish.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.check.DifferenceRecordFinish.mapper.CheckDifferenceRecordFinishMapper; +import com.ruoyi.check.DifferenceRecordFinish.domain.CheckDifferenceRecordFinish; +import com.ruoyi.check.DifferenceRecordFinish.service.ICheckDifferenceRecordFinishService; + +/** + * 盘点差异历史Service业务层处理 + * + * @author gw + * @date 2025-06-25 + */ +@Service +public class CheckDifferenceRecordFinishServiceImpl implements ICheckDifferenceRecordFinishService +{ + @Autowired + private CheckDifferenceRecordFinishMapper checkDifferenceRecordFinishMapper; + + /** + * 查询盘点差异历史 + * + * @param checkGuid 盘点差异历史主键 + * @return 盘点差异历史 + */ + @Override + public CheckDifferenceRecordFinish selectCheckDifferenceRecordFinishByCheckGuid(String checkGuid) + { + return checkDifferenceRecordFinishMapper.selectCheckDifferenceRecordFinishByCheckGuid(checkGuid); + } + + /** + * 查询盘点差异历史列表 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 盘点差异历史 + */ + @Override + public List selectCheckDifferenceRecordFinishList(CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + return checkDifferenceRecordFinishMapper.selectCheckDifferenceRecordFinishList(checkDifferenceRecordFinish); + } + + /** + * 新增盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + @Override + public int insertCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + checkDifferenceRecordFinish.setCreateTime(DateUtils.getNowDate()); + return checkDifferenceRecordFinishMapper.insertCheckDifferenceRecordFinish(checkDifferenceRecordFinish); + } + + /** + * 修改盘点差异历史 + * + * @param checkDifferenceRecordFinish 盘点差异历史 + * @return 结果 + */ + @Override + public int updateCheckDifferenceRecordFinish(CheckDifferenceRecordFinish checkDifferenceRecordFinish) + { + return checkDifferenceRecordFinishMapper.updateCheckDifferenceRecordFinish(checkDifferenceRecordFinish); + } + + /** + * 批量删除盘点差异历史 + * + * @param checkGuids 需要删除的盘点差异历史主键 + * @return 结果 + */ + @Override + public int deleteCheckDifferenceRecordFinishByCheckGuids(String[] checkGuids) + { + return checkDifferenceRecordFinishMapper.deleteCheckDifferenceRecordFinishByCheckGuids(checkGuids); + } + + /** + * 删除盘点差异历史信息 + * + * @param checkGuid 盘点差异历史主键 + * @return 结果 + */ + @Override + public int deleteCheckDifferenceRecordFinishByCheckGuid(String checkGuid) + { + return checkDifferenceRecordFinishMapper.deleteCheckDifferenceRecordFinishByCheckGuid(checkGuid); + } +} 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 66fc725..ae85387 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 @@ -1,9 +1,14 @@ package com.ruoyi.check.difference.controller; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.bas.basJobId.service.IBasJobIdService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -18,6 +23,11 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.check.difference.domain.CheckDifferenceRecord; import com.ruoyi.check.difference.service.ICheckDifferenceRecordService; +import com.ruoyi.check.DifferenceRecordFinish.domain.CheckDifferenceRecordFinish; +import com.ruoyi.check.DifferenceRecordFinish.service.ICheckDifferenceRecordFinishService; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.common.domain.ExtraField; +import com.ruoyi.stock.stock.service.IBasStockService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; @@ -29,8 +39,7 @@ import com.ruoyi.common.core.page.TableDataInfo; */ @RestController @RequestMapping("/check/difference") -public class CheckDifferenceRecordController extends BaseController -{ +public class CheckDifferenceRecordController extends BaseController { @Autowired private ICheckDifferenceRecordService checkDifferenceRecordService; @@ -39,8 +48,7 @@ public class CheckDifferenceRecordController extends BaseController */ @PreAuthorize("@ss.hasPermi('check:difference:list')") @GetMapping("/list") - public TableDataInfo list(CheckDifferenceRecord checkDifferenceRecord) - { + public TableDataInfo list(CheckDifferenceRecord checkDifferenceRecord) { startPage(); List list = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecord); return getDataTable(list); @@ -52,8 +60,7 @@ public class CheckDifferenceRecordController extends BaseController @PreAuthorize("@ss.hasPermi('check:difference:export')") @Log(title = "盘点差异", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, CheckDifferenceRecord checkDifferenceRecord) - { + public void export(HttpServletResponse response, CheckDifferenceRecord checkDifferenceRecord) { List list = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecord); ExcelUtil util = new ExcelUtil(CheckDifferenceRecord.class); util.exportExcel(response, list, "盘点差异数据"); @@ -64,8 +71,7 @@ public class CheckDifferenceRecordController extends BaseController */ @PreAuthorize("@ss.hasPermi('check:difference:query')") @GetMapping(value = "/{checkGuid}") - public AjaxResult getInfo(@PathVariable("checkGuid") String checkGuid) - { + public AjaxResult getInfo(@PathVariable("checkGuid") String checkGuid) { return success(checkDifferenceRecordService.selectCheckDifferenceRecordByCheckGuid(checkGuid)); } @@ -75,8 +81,7 @@ public class CheckDifferenceRecordController extends BaseController @PreAuthorize("@ss.hasPermi('check:difference:add')") @Log(title = "盘点差异", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody CheckDifferenceRecord checkDifferenceRecord) - { + public AjaxResult add(@RequestBody CheckDifferenceRecord checkDifferenceRecord) { return checkDifferenceRecordService.insertCheckDifferenceRecord(checkDifferenceRecord); } @@ -86,8 +91,7 @@ public class CheckDifferenceRecordController extends BaseController @PreAuthorize("@ss.hasPermi('check:difference:edit')") @Log(title = "盘点差异", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody CheckDifferenceRecord checkDifferenceRecord) - { + public AjaxResult edit(@RequestBody CheckDifferenceRecord checkDifferenceRecord) { return toAjax(checkDifferenceRecordService.updateCheckDifferenceRecord(checkDifferenceRecord)); } @@ -96,9 +100,117 @@ public class CheckDifferenceRecordController extends BaseController */ @PreAuthorize("@ss.hasPermi('check:difference:remove')") @Log(title = "盘点差异", businessType = BusinessType.DELETE) - @DeleteMapping("/{checkGuids}") - public AjaxResult remove(@PathVariable String[] checkGuids) - { + @DeleteMapping("/{checkGuids}") + public AjaxResult remove(@PathVariable String[] checkGuids) { return toAjax(checkDifferenceRecordService.deleteCheckDifferenceRecordByCheckGuids(checkGuids)); } + + @Autowired + private IBasStockService basStockService; + @Autowired + private ICheckDifferenceRecordFinishService checkDifferenceRecordFinishService; + @Autowired + private IBasJobIdService basJobIdService; + /** + * 审核盘点差异 + */ + @PreAuthorize("@ss.hasPermi('check:difference:audit')") + @Log(title = "盘点差异", businessType = BusinessType.UPDATE) + @PutMapping("/audit") + public AjaxResult audit(@RequestBody String[] checkGuids) + { + List records = new ArrayList<>(); + for (String checkGuid : checkGuids) { + CheckDifferenceRecord record = checkDifferenceRecordService.selectCheckDifferenceRecordByCheckGuid(checkGuid); + if (record != null) { + records.add(record); + } + } + + for (CheckDifferenceRecord record : records) { + String recordType = String.valueOf(record.getRecordType()); + + if ("1".equals(recordType)) { // 更新数据 + // 根据stockId、trayCode、oldQuantity查找库存记录 + BasStock queryStock = new BasStock(); + queryStock.setStockId(record.getStockId()); + queryStock.setTrayCode(record.getTrayCode()); + queryStock.setQuantity(record.getOldQuantity()); + List stocks = basStockService.selectBasStockList(queryStock); + + if (stocks.isEmpty()) { + return AjaxResult.error("没有在库存中找到该条记录:库存ID=" + record.getStockId() + ", 托盘号=" + record.getTrayCode()); + } + + // 更新库存数量和状态 + BasStock stock = stocks.get(0); + stock.setQuantity(record.getNewQuantity()); + stock.setProductStatus("1"); + basStockService.updateBasStock(stock); + } + else if ("2".equals(recordType)) { // 新增数据 + // 检查物料ID是否存在 + if (record.getProductId() == null || record.getProductId().trim().isEmpty()) { + return AjaxResult.error("物料ID不能为空"); + } + + // 检查库存是否已存在 + BasStock queryStock = new BasStock(); + queryStock.setStockId(record.getStockId()); + queryStock.setTrayCode(record.getTrayCode()); + List stocks = basStockService.selectBasStockList(queryStock); + // 创建新的库存记录 + BasStock newStock = new BasStock(); + // 先设置必要字段 + newStock.setTrayCode(record.getTrayCode()); + newStock.setQuantity(record.getNewQuantity()); + newStock.setProductStatus("1"); + newStock.setCargoSpaceId(record.getCargoSpaceId()); + newStock.setLotNo(record.getLotNo()); + newStock.setProductGuid(record.getProductGuid()); + newStock.setProductId(record.getProductId()); + newStock.setStockStatus("1"); // 设置库存状态为正常 + // 初始化extraField对象 + ExtraField extraField = new ExtraField(); + extraField.setProductId(record.getProductId()); + // 物料名称和其他信息会通过关联查询自动填充 + newStock.setExtraField(extraField); + + // 最后设置库存ID + newStock.setStockId(basJobIdService.getJobId("KC")); + basStockService.insertBasStock(newStock); + } + else if ("3".equals(recordType)) { // 删除数据 + // 检查要删除的库存是否存在 + BasStock queryStock = new BasStock(); + queryStock.setStockId(record.getStockId()); + queryStock.setTrayCode(record.getTrayCode()); + List stocks = basStockService.selectBasStockList(queryStock); + + if (stocks.isEmpty()) { + return AjaxResult.error("没有在库存中找到该条记录:库存ID=" + record.getStockId() + ", 托盘号=" + record.getTrayCode()); + } + + basStockService.deleteBasStockByStockId(record.getStockId()); + } + + // 设置审核状态为已审核 + record.setStatus("1"); + + // 创建历史记录前先检查是否已存在 + CheckDifferenceRecordFinish queryFinish = checkDifferenceRecordFinishService.selectCheckDifferenceRecordFinishByCheckGuid(record.getCheckGuid()); + + // 创建历史记录 + CheckDifferenceRecordFinish finishRecord = new CheckDifferenceRecordFinish(); + BeanUtils.copyProperties(record, finishRecord); + checkDifferenceRecordFinishService.insertCheckDifferenceRecordFinish(finishRecord); + + // 删除原记录 + checkDifferenceRecordService.deleteCheckDifferenceRecordByCheckGuid(record.getCheckGuid()); + } + + return AjaxResult.success(); + } } + + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/domain/CheckDifferenceRecord.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/domain/CheckDifferenceRecord.java index 349623f..7080ee3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/domain/CheckDifferenceRecord.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/domain/CheckDifferenceRecord.java @@ -66,6 +66,8 @@ public class CheckDifferenceRecord extends BaseEntity @Excel(name = "物料guid") private String productGuid; + /** 审核状态 */ + @Excel(name = "审核状态") private String status; public String getStatus() { 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 d4c933a..0141880 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 @@ -124,4 +124,6 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS { return checkDifferenceRecordMapper.deleteCheckDifferenceRecordByCheckGuid(checkGuid); } + + } 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 index cb6e590..cee6ef6 100644 --- 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 @@ -37,6 +37,14 @@ public interface IBasStockService */ public int insertBasStock(BasStock basStock); + /** + * 新增库存信息(不记录维护记录) + * + * @param basStock 库存信息 + * @return 结果 + */ + public int insertBasStockWithoutMaintainRecord(BasStock basStock); + /** * 修改库存信息 * 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 06f648c..0907937 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 @@ -80,7 +80,7 @@ public class BasStockServiceImpl implements IBasStockService } private void insertMaintainRecord(BasStock oldStock, BasStock basStock, String operate) { - if (!oldStock.getQuantity().equals(basStock.getQuantity())){ + if ((oldStock==null && operate.equals("1")) || !oldStock.getQuantity().equals(basStock.getQuantity())){ BasStockMaintainRecord basStockMaintainRecord = new BasStockMaintainRecord(); basStockMaintainRecord.setWhGuid(IdUtil.fastSimpleUUID()); basStockMaintainRecord.setStockId(basStock.getStockId()); @@ -176,4 +176,15 @@ public class BasStockServiceImpl implements IBasStockService public List selectKtpStock(BasStock basStock) { return basStockMapper.selectKtpStock(basStock); } + /** + * 新增库存信息(不记录维护记录) + * + * @param basStock 库存信息 + * @return 结果 + */ + @Override + public int insertBasStockWithoutMaintainRecord(BasStock basStock) + { + return basStockMapper.insertBasStock(basStock); + } } diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml new file mode 100644 index 0000000..0761dce --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + select check_guid, stock_id, tray_code, cargo_space_id, product_id, lot_no, supplier, customer, old_quantity, new_quantity, record_type, create_time, product_guid, check_stock_detail_id, status from check_difference_record_finish + + + + + + + + insert into check_difference_record_finish + + check_guid, + stock_id, + tray_code, + cargo_space_id, + product_id, + lot_no, + supplier, + customer, + old_quantity, + new_quantity, + record_type, + create_time, + product_guid, + check_stock_detail_id, + status, + + + #{checkGuid}, + #{stockId}, + #{trayCode}, + #{cargoSpaceId}, + #{productId}, + #{lotNo}, + #{supplier}, + #{customer}, + #{oldQuantity}, + #{newQuantity}, + #{recordType}, + #{createTime}, + #{productGuid}, + #{checkStockDetailId}, + #{status}, + + + + + update check_difference_record_finish + + stock_id = #{stockId}, + tray_code = #{trayCode}, + cargo_space_id = #{cargoSpaceId}, + product_id = #{productId}, + lot_no = #{lotNo}, + supplier = #{supplier}, + customer = #{customer}, + old_quantity = #{oldQuantity}, + new_quantity = #{newQuantity}, + record_type = #{recordType}, + create_time = #{createTime}, + product_guid = #{productGuid}, + check_stock_detail_id = #{checkStockDetailId}, + status = #{status}, + + where check_guid = #{checkGuid} + + + + delete from check_difference_record_finish where check_guid = #{checkGuid} + + + + delete from check_difference_record_finish where check_guid in + + #{checkGuid} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml index ba36a12..38d7bb1 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml @@ -19,10 +19,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select check_guid, check_stock_detail_id, stock_id, tray_code, cargo_space_id, product_id, lot_no, supplier, customer, old_quantity, new_quantity, record_type, create_time, product_guid from check_difference_record + select check_guid, check_stock_detail_id, stock_id, tray_code, cargo_space_id, product_id, lot_no, supplier, customer, old_quantity, new_quantity, record_type, create_time, product_guid ,status from check_difference_record @@ -103,6 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" record_type = #{recordType}, create_time = #{createTime}, product_guid = #{productGuid}, + status = #{status}, where check_guid = #{checkGuid} diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml index 3467f6c..4e46df8 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml @@ -128,6 +128,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spare4, spare5, spare6, + product_id, #{stockId}, @@ -154,6 +155,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{spare4}, #{spare5}, #{spare6}, + #{productId}, diff --git a/ruoyi-ui/src/api/check/DifferenceRecordFinish.js b/ruoyi-ui/src/api/check/DifferenceRecordFinish.js new file mode 100644 index 0000000..dae2890 --- /dev/null +++ b/ruoyi-ui/src/api/check/DifferenceRecordFinish.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询盘点差异历史列表 +export function listDifferenceRecordFinish(query) { + return request({ + url: '/check/DifferenceRecordFinish/list', + method: 'get', + params: query + }) +} + +// 查询盘点差异历史详细 +export function getDifferenceRecordFinish(checkGuid) { + return request({ + url: '/check/DifferenceRecordFinish/' + checkGuid, + method: 'get' + }) +} + +// 新增盘点差异历史 +export function addDifferenceRecordFinish(data) { + return request({ + url: '/check/DifferenceRecordFinish', + method: 'post', + data: data + }) +} + +// 修改盘点差异历史 +export function updateDifferenceRecordFinish(data) { + return request({ + url: '/check/DifferenceRecordFinish', + method: 'put', + data: data + }) +} + +// 删除盘点差异历史 +export function delDifferenceRecordFinish(checkGuid) { + return request({ + url: '/check/DifferenceRecordFinish/' + checkGuid, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/check/difference.js b/ruoyi-ui/src/api/check/difference.js index 6ab8dea..b623ad7 100644 --- a/ruoyi-ui/src/api/check/difference.js +++ b/ruoyi-ui/src/api/check/difference.js @@ -42,3 +42,12 @@ export function delDifference(checkGuid) { method: 'delete' }) } + +// 审核盘点差异 +export function auditDifference(checkGuids) { + return request({ + url: '/check/difference/audit', + method: 'put', + data: checkGuids + }) +} diff --git a/ruoyi-ui/src/lang/en.js b/ruoyi-ui/src/lang/en.js index fcf0a12..8448fc0 100644 --- a/ruoyi-ui/src/lang/en.js +++ b/ruoyi-ui/src/lang/en.js @@ -585,6 +585,11 @@ export default { }, // ****************盘点差异管理***************** checkDifference: { + unaudited:'unaudited', + audited:'audited', + inputStatus:'Please Select Status', + status:'status', + audit:'audit', createTime: 'createTime', checkGuid: 'Check ID', checkStockDetailId: 'Check Document ID', diff --git a/ruoyi-ui/src/lang/zh.js b/ruoyi-ui/src/lang/zh.js index 0d37e01..83feb96 100644 --- a/ruoyi-ui/src/lang/zh.js +++ b/ruoyi-ui/src/lang/zh.js @@ -562,6 +562,11 @@ export default { }, // ****************盘点差异管理***************** checkDifference: { + unaudited:'未审核', + audited:'已审核', + inputStatus:'请选择审核状态', + status:'审核状态', + audit:'审核', createTime: '创建时间', checkGuid: '盘点id', checkStockDetailId: '盘点单据id', diff --git a/ruoyi-ui/src/views/check/difference/index.vue b/ruoyi-ui/src/views/check/difference/index.vue index b866260..44295e1 100644 --- a/ruoyi-ui/src/views/check/difference/index.vue +++ b/ruoyi-ui/src/views/check/difference/index.vue @@ -81,65 +81,40 @@ @keyup.enter.native="handleQuery" /> --> - + + + + + + + --> {{$t('checkDifference.search')}} {{$t('checkDifference.reset')}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {{$t('checkDifference.audit')}} + + + @@ -156,6 +131,11 @@ + + +