diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpace.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpace.java index 902e1b3..aca4adf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpace.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/domain/BasCargoSpace.java @@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; /** * 库存信息对象 bas_cargo_space - * + * * @author lsy * @date 2025-05-20 */ @@ -26,6 +26,7 @@ public class BasCargoSpace { /** 仓库id(不允许为空) */ @Excel(name = "仓库id", readConverterExp = "不=允许为空") private String warehouseId; + private String warehouseName; /** 巷道id(允许为空) */ @Excel(name = "巷道id", readConverterExp = "允=许为空") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/commit/controller/CheckCommitRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/controller/CheckCommitRecordController.java new file mode 100644 index 0000000..e5c0e15 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/controller/CheckCommitRecordController.java @@ -0,0 +1,104 @@ +package com.ruoyi.check.commit.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.commit.domain.CheckCommitRecord; +import com.ruoyi.check.commit.service.ICheckCommitRecordService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 盘点数据信息Controller + * + * @author ruoyi + * @date 2025-06-19 + */ +@RestController +@RequestMapping("/check/commit") +public class CheckCommitRecordController extends BaseController +{ + @Autowired + private ICheckCommitRecordService checkCommitRecordService; + + /** + * 查询盘点数据信息列表 + */ + @PreAuthorize("@ss.hasPermi('check:commit:list')") + @GetMapping("/list") + public TableDataInfo list(CheckCommitRecord checkCommitRecord) + { + startPage(); + List list = checkCommitRecordService.selectCheckCommitRecordList(checkCommitRecord); + return getDataTable(list); + } + + /** + * 导出盘点数据信息列表 + */ + @PreAuthorize("@ss.hasPermi('check:commit:export')") + @Log(title = "盘点数据信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CheckCommitRecord checkCommitRecord) + { + List list = checkCommitRecordService.selectCheckCommitRecordList(checkCommitRecord); + ExcelUtil util = new ExcelUtil(CheckCommitRecord.class); + util.exportExcel(response, list, "盘点数据信息数据"); + } + + /** + * 获取盘点数据信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('check:commit:query')") + @GetMapping(value = "/{pdGuid}") + public AjaxResult getInfo(@PathVariable("pdGuid") Long pdGuid) + { + return success(checkCommitRecordService.selectCheckCommitRecordByPdGuid(pdGuid)); + } + + /** + * 新增盘点数据信息 + */ + @PreAuthorize("@ss.hasPermi('check:commit:add')") + @Log(title = "盘点数据信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CheckCommitRecord checkCommitRecord) + { + return toAjax(checkCommitRecordService.insertCheckCommitRecord(checkCommitRecord)); + } + + /** + * 修改盘点数据信息 + */ + @PreAuthorize("@ss.hasPermi('check:commit:edit')") + @Log(title = "盘点数据信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CheckCommitRecord checkCommitRecord) + { + return toAjax(checkCommitRecordService.updateCheckCommitRecord(checkCommitRecord)); + } + + /** + * 删除盘点数据信息 + */ + @PreAuthorize("@ss.hasPermi('check:commit:remove')") + @Log(title = "盘点数据信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{pdGuids}") + public AjaxResult remove(@PathVariable Long[] pdGuids) + { + return toAjax(checkCommitRecordService.deleteCheckCommitRecordByPdGuids(pdGuids)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/commit/domain/CheckCommitRecord.java b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/domain/CheckCommitRecord.java new file mode 100644 index 0000000..f7ca00c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/domain/CheckCommitRecord.java @@ -0,0 +1,128 @@ +package com.ruoyi.check.commit.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_commit_record + * + * @author ruoyi + * @date 2025-06-19 + */ +public class CheckCommitRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 盘点id */ + @Excel(name = "盘点id") + private Long pdGuid; + + /** 托盘码 */ + @Excel(name = "托盘码") + private String trayCode; + + /** 库存id */ + @Excel(name = "库存id") + private String stockId; + + /** 盘点数量 */ + @Excel(name = "盘点数量") + private String quantity; + + /** 备用1 */ + @Excel(name = "备用1") + private String spare1; + + /** 备用2 */ + @Excel(name = "备用2") + private String spare2; + + /** 备用3 */ + @Excel(name = "备用3") + private String spare3; + + public void setPdGuid(Long pdGuid) + { + this.pdGuid = pdGuid; + } + + public Long getPdGuid() + { + return pdGuid; + } + + public void setTrayCode(String trayCode) + { + this.trayCode = trayCode; + } + + public String getTrayCode() + { + return trayCode; + } + + public void setStockId(String stockId) + { + this.stockId = stockId; + } + + public String getStockId() + { + return stockId; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + 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; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("pdGuid", getPdGuid()) + .append("trayCode", getTrayCode()) + .append("stockId", getStockId()) + .append("quantity", getQuantity()) + .append("spare1", getSpare1()) + .append("spare2", getSpare2()) + .append("spare3", getSpare3()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/commit/mapper/CheckCommitRecordMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/mapper/CheckCommitRecordMapper.java new file mode 100644 index 0000000..9ab2e7c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/mapper/CheckCommitRecordMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.commit.mapper; + +import java.util.List; +import com.ruoyi.check.commit.domain.CheckCommitRecord; + +/** + * 盘点数据信息Mapper接口 + * + * @author ruoyi + * @date 2025-06-19 + */ +public interface CheckCommitRecordMapper +{ + /** + * 查询盘点数据信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 盘点数据信息 + */ + public CheckCommitRecord selectCheckCommitRecordByPdGuid(Long pdGuid); + + /** + * 查询盘点数据信息列表 + * + * @param checkCommitRecord 盘点数据信息 + * @return 盘点数据信息集合 + */ + public List selectCheckCommitRecordList(CheckCommitRecord checkCommitRecord); + + /** + * 新增盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + public int insertCheckCommitRecord(CheckCommitRecord checkCommitRecord); + + /** + * 修改盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + public int updateCheckCommitRecord(CheckCommitRecord checkCommitRecord); + + /** + * 删除盘点数据信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 结果 + */ + public int deleteCheckCommitRecordByPdGuid(Long pdGuid); + + /** + * 批量删除盘点数据信息 + * + * @param pdGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCheckCommitRecordByPdGuids(Long[] pdGuids); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/ICheckCommitRecordService.java b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/ICheckCommitRecordService.java new file mode 100644 index 0000000..365f20b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/ICheckCommitRecordService.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.commit.service; + +import java.util.List; +import com.ruoyi.check.commit.domain.CheckCommitRecord; + +/** + * 盘点数据信息Service接口 + * + * @author ruoyi + * @date 2025-06-19 + */ +public interface ICheckCommitRecordService +{ + /** + * 查询盘点数据信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 盘点数据信息 + */ + public CheckCommitRecord selectCheckCommitRecordByPdGuid(Long pdGuid); + + /** + * 查询盘点数据信息列表 + * + * @param checkCommitRecord 盘点数据信息 + * @return 盘点数据信息集合 + */ + public List selectCheckCommitRecordList(CheckCommitRecord checkCommitRecord); + + /** + * 新增盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + public int insertCheckCommitRecord(CheckCommitRecord checkCommitRecord); + + /** + * 修改盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + public int updateCheckCommitRecord(CheckCommitRecord checkCommitRecord); + + /** + * 批量删除盘点数据信息 + * + * @param pdGuids 需要删除的盘点数据信息主键集合 + * @return 结果 + */ + public int deleteCheckCommitRecordByPdGuids(Long[] pdGuids); + + /** + * 删除盘点数据信息信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 结果 + */ + public int deleteCheckCommitRecordByPdGuid(Long pdGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/impl/CheckCommitRecordServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/impl/CheckCommitRecordServiceImpl.java new file mode 100644 index 0000000..9bb41a9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/commit/service/impl/CheckCommitRecordServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.check.commit.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.check.commit.mapper.CheckCommitRecordMapper; +import com.ruoyi.check.commit.domain.CheckCommitRecord; +import com.ruoyi.check.commit.service.ICheckCommitRecordService; + +/** + * 盘点数据信息Service业务层处理 + * + * @author ruoyi + * @date 2025-06-19 + */ +@Service +public class CheckCommitRecordServiceImpl implements ICheckCommitRecordService +{ + @Autowired + private CheckCommitRecordMapper checkCommitRecordMapper; + + /** + * 查询盘点数据信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 盘点数据信息 + */ + @Override + public CheckCommitRecord selectCheckCommitRecordByPdGuid(Long pdGuid) + { + return checkCommitRecordMapper.selectCheckCommitRecordByPdGuid(pdGuid); + } + + /** + * 查询盘点数据信息列表 + * + * @param checkCommitRecord 盘点数据信息 + * @return 盘点数据信息 + */ + @Override + public List selectCheckCommitRecordList(CheckCommitRecord checkCommitRecord) + { + return checkCommitRecordMapper.selectCheckCommitRecordList(checkCommitRecord); + } + + /** + * 新增盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + @Override + public int insertCheckCommitRecord(CheckCommitRecord checkCommitRecord) + { + return checkCommitRecordMapper.insertCheckCommitRecord(checkCommitRecord); + } + + /** + * 修改盘点数据信息 + * + * @param checkCommitRecord 盘点数据信息 + * @return 结果 + */ + @Override + public int updateCheckCommitRecord(CheckCommitRecord checkCommitRecord) + { + return checkCommitRecordMapper.updateCheckCommitRecord(checkCommitRecord); + } + + /** + * 批量删除盘点数据信息 + * + * @param pdGuids 需要删除的盘点数据信息主键 + * @return 结果 + */ + @Override + public int deleteCheckCommitRecordByPdGuids(Long[] pdGuids) + { + return checkCommitRecordMapper.deleteCheckCommitRecordByPdGuids(pdGuids); + } + + /** + * 删除盘点数据信息信息 + * + * @param pdGuid 盘点数据信息主键 + * @return 结果 + */ + @Override + public int deleteCheckCommitRecordByPdGuid(Long pdGuid) + { + return checkCommitRecordMapper.deleteCheckCommitRecordByPdGuid(pdGuid); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/controller/CheckStockinController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/controller/CheckStockinController.java index 39afa53..875e60d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/controller/CheckStockinController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/controller/CheckStockinController.java @@ -123,4 +123,17 @@ public class CheckStockinController extends BaseController String stockOutId = checkStockinService.saveBill(checkStockVo); return AjaxResult.success(stockOutId); } + + /** + * 盘点自动分配 + * @param checkStockin + * @return + */ + @Log(title = "盘点自动分配", businessType = BusinessType.OTHER) + @PostMapping("/autoAllocation") + @PreAuthorize("@ss.hasPermi('check:stockCheck:autoAllocation')") + @ResponseBody + public AjaxResult autoAllocation(@RequestBody CheckStockin checkStockin) { + return checkStockinService.autoAllocation(checkStockin); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/mapper/CheckStockinMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/mapper/CheckStockinMapper.java index ed27d39..0f4d7c2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/mapper/CheckStockinMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/mapper/CheckStockinMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.check.stockcheck.mapper; +import java.util.HashMap; import java.util.List; import com.ruoyi.check.stockcheck.domain.CheckStockin; @@ -60,4 +61,7 @@ public interface CheckStockinMapper public int deleteCheckStockinByStockGuids(String[] stockGuids); void insertCheckStockinHistory(CheckStockin checkStockin); + + + void autoAllot(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/ICheckStockinService.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/ICheckStockinService.java index 2315cd6..aebd151 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/ICheckStockinService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/ICheckStockinService.java @@ -64,4 +64,11 @@ public interface ICheckStockinService public int deleteCheckStockinByStockGuid(String stockGuid); String saveBill(CheckStockVo outStockoutVo); + + /** + * 盘点自动分配 + * @param checkStockin + * @return + */ + AjaxResult autoAllocation(CheckStockin checkStockin); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java index f9e0096..b1bdb7a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java @@ -3,7 +3,9 @@ package com.ruoyi.check.stockcheck.service.impl; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; @@ -22,6 +24,8 @@ import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.out.outStockout.domain.OutStockout; import com.ruoyi.out.outStockout.domain.OutStockoutVo; import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; @@ -47,6 +51,8 @@ public class CheckStockinServiceImpl implements ICheckStockinService private ICheckStockinDetailService checkStockinDetailService; @Autowired private IBasProductService productService; + @Autowired + private IBasStockService basStockService; /** * 查询盘库单据主信息 @@ -165,6 +171,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService @Transactional(rollbackFor = Exception.class) public String saveBill(CheckStockVo checkStockVo) { CheckStockin checkStockin = checkStockVo.getCheckStockin(); + List detailList = checkStockVo.getDetailList(); String stockCheckId = basJobIdService.getJobId("PDD"); checkStockin.setStockCheckId(stockCheckId); @@ -175,18 +182,53 @@ public class CheckStockinServiceImpl implements ICheckStockinService checkStockin.setStatus("1"); checkStockin.setStockSource("0"); checkStockin.setCheckType(checkStockin.getCheckType()); - for (int i = 0; i < detailList.size(); i++) { - CheckStockinDetail checkStockinDetail = detailList.get(i); - checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1)); - checkStockinDetail.setStockCheckId(stockCheckId); - BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId()); - checkStockinDetail.setProductGuid(basProduct.getProductGuid()); - checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid()); - checkStockinDetail.setScanNum("0"); - checkStockinDetail.setAssignNum("0"); - checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail); + if ("1".equals(checkStockin.getCheckType())){ + //物料盘点 + for (int i = 0; i < detailList.size(); i++) { + CheckStockinDetail checkStockinDetail = detailList.get(i); + checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1)); + checkStockinDetail.setStockCheckId(stockCheckId); + BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId()); + checkStockinDetail.setProductGuid(basProduct.getProductGuid()); + checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid()); + checkStockinDetail.setScanNum("0"); + checkStockinDetail.setAssignNum("0"); + checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail); + } + }else if ("2".equals(checkStockin.getCheckType())){ + //货位盘点 + for (int i = 0; i < detailList.size(); i++) { + BasStock param = new BasStock(); + param.setCargoSpaceId(detailList.get(i).getSpare1()); + List basStocks = basStockService.selectBasStockList(param); + Integer quantity = 0; + for (BasStock basStock : basStocks) { + quantity += Convert.toInt(basStock.getQuantity()); + } + CheckStockinDetail checkStockinDetail = detailList.get(i); + checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1)); + checkStockinDetail.setStockCheckId(stockCheckId); + checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid()); + checkStockinDetail.setQuantity(quantity.toString()); + checkStockinDetail.setScanNum("0"); + checkStockinDetail.setAssignNum("0"); + checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail); + } } + checkStockinMapper.insertCheckStockin(checkStockin); return stockCheckId; } + + @Override + public AjaxResult autoAllocation(CheckStockin checkStockin) { + HashMap map = new HashMap<>(); + map.put("v_stock_check_id", checkStockin.getStockCheckId()); + checkStockinMapper.autoAllot(map); + if ("10".equals(map.get("v_result"))){ + return AjaxResult.success("自动分配成功"); + }else { + return AjaxResult.warn(map.get("v_resultString")); + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java index fba9a07..b52bf2c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java @@ -132,9 +132,18 @@ public class CheckStockinDetail extends BaseEntity private String spare6; private String status; + private String cargoSpaceName; private ExtraField extraField; + public String getCargoSpaceName() { + return cargoSpaceName; + } + + public void setCargoSpaceName(String cargoSpaceName) { + this.cargoSpaceName = cargoSpaceName; + } + public ExtraField getExtraField() { return extraField; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index da0547d..7d40702 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -182,5 +182,16 @@ public class PdaController extends BaseController { public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { return pdaService.outMakeSure(trayCodeMakeSure); } + + /** + * 出库确认 + * @param trayCodeMakeSure 托盘信息 + * @return + */ + @PostMapping("/checkMakeSure") + @ResponseBody + public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + return pdaService.checkMakeSure(trayCodeMakeSure); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java index cbd21c4..7a34801 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java @@ -17,4 +17,6 @@ public interface PdaMapper { void addInJob(HashMap map); void outMakeSure(HashMap map); + + void checkMakeSure(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index ad9f5df..34f3a1c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -24,4 +24,6 @@ public interface PdaService { AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure); + + AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index 5f7013d..55718e5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -7,6 +7,8 @@ import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.bas.containerDetails.domain.BasContainerDetails; import com.ruoyi.bas.containerDetails.service.IBasContainerDetailsService; +import com.ruoyi.check.commit.domain.CheckCommitRecord; +import com.ruoyi.check.commit.service.ICheckCommitRecordService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.service.IMydoJobService; @@ -52,6 +54,8 @@ public class PdaServiceImp implements PdaService{ ITrayMsgService trayMsgService; @Autowired private IBasContainerDetailsService basContainerDetailsService; + @Autowired + private ICheckCommitRecordService checkCommitRecordService; /** * 空托盘入库 @@ -244,4 +248,28 @@ public class PdaServiceImp implements PdaService{ return AjaxResult.warn("拣选完成"); } } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) { + List mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList(); + if(CollUtil.isNotEmpty(mydoJobDetailList)){ + for (MydoJobDetail mydoJobDetail : mydoJobDetailList) { + CheckCommitRecord checkCommitRecord = new CheckCommitRecord(); + checkCommitRecord.setQuantity(mydoJobDetail.getInQuantity()); + checkCommitRecord.setTrayCode(trayCodeMakeSure.getTrayCode()); + checkCommitRecord.setStockId(mydoJobDetail.getStockId()); + checkCommitRecordService.insertCheckCommitRecord(checkCommitRecord); + } + } + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + pdaMapper.checkMakeSure(map); + String result = map.get("v_result").toString(); + if("10".equals(result)){ + return AjaxResult.success(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.warn(map.get("v_resultmsg").toString()); + } + } } 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 index 9ff8be9..083eb6b 100644 --- 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 @@ -114,10 +114,22 @@ public class BasStock extends BaseEntity /** 备用字段6 */ @Excel(name = "备用字段6") private String spare6; - + //额外字段 private ExtraField extraField; + //物料名称 private String productName; + //货位是否锁定 private String cargoSpaceStatus; + //货位库存状态 + private String cargoSpaceStockStatus; + + public String getCargoSpaceStockStatus() { + return cargoSpaceStockStatus; + } + + public void setCargoSpaceStockStatus(String cargoSpaceStockStatus) { + this.cargoSpaceStockStatus = cargoSpaceStockStatus; + } public String getCargoSpaceName() { return cargoSpaceName; diff --git a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml index 48ebff8..b6a12e6 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml @@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -27,33 +28,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select cargo_space_id, warehouse_id, roadway_id, cargo_area_id, the_type, the_type_name, cargo_space_name, the_platoon, the_column, the_floor, status, locked, tray_code, cargo_hight, iss_double, group_coding_no, group_coding, cargo_space_logo, this_cargo_area from bas_cargo_space + select + bcs.cargo_space_id, + bcs.warehouse_id, + bcs.roadway_id, + bcs.cargo_area_id, + bcs.the_type, + bcs.the_type_name, + bcs.cargo_space_name, + bcs.the_platoon, + bcs.the_column, + bcs.the_floor, + bcs.status, + bcs.locked, + bcs.tray_code, + bcs.cargo_hight, + bcs.iss_double, + bcs.group_coding_no, + bcs.group_coding, + bcs.cargo_space_logo, + bcs.this_cargo_area, + bw.warehouse_name + from bas_cargo_space bcs + left join bas_warehouse bw on bcs.warehouse_id = bw.warehouse_id + - + - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml new file mode 100644 index 0000000..35ec7e1 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + select pd_guid, tray_code, stock_id, quantity, spare1, spare2, spare3 from check_commit_record + + + + + + + + insert into check_commit_record + + tray_code, + stock_id, + quantity, + spare1, + spare2, + spare3, + + + #{trayCode}, + #{stockId}, + #{quantity}, + #{spare1}, + #{spare2}, + #{spare3}, + + + + + update check_commit_record + + tray_code = #{trayCode}, + stock_id = #{stockId}, + quantity = #{quantity}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare3 = #{spare3}, + + where pd_guid = #{pdGuid} + + + + delete from check_commit_record where pd_guid = #{pdGuid} + + + + delete from check_commit_record where pd_guid in + + #{pdGuid} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml index fbfb2a2..b644089 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml @@ -67,6 +67,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -85,9 +87,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.unit, csd.spec, csd.scan_num, csd.scan_num_x, csd.scan_num_j, csd.spare1, csd.spare2, csd.spare3, csd.spare4,csd.spare5, csd.spare6, bp.product_name,bp.spare1 as englishDesc, - bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume + bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume, + bcs.cargo_space_name from check_stockin_detail_finish csd left join bas_product bp on csd.product_id = bp.product_id + left join bas_cargo_space bcs on csd.spare1 = bcs.cargo_space_id + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml index f62a1c0..cd79920 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml @@ -35,6 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -53,9 +54,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.unit, csd.spec, csd.scan_num, csd.scan_num_x, csd.scan_num_j, csd.spare1, csd.spare2, csd.spare3, csd.spare4,csd.spare5, csd.spare6, bp.product_name,bp.spare1 as englishDesc, - bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume + bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume, + bcs.cargo_space_name from check_stockin_detail csd left join bas_product bp on csd.product_id = bp.product_id + left join bas_cargo_space bcs on csd.spare1 = bcs.cargo_space_id + insert into check_stockin diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml index 52cd80b..5ad5591 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml @@ -150,7 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml index 7072e97..7e0f940 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml @@ -30,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -50,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bs.stockin_detail_id, bs.stockin_id, bs.in_type, bs.in_class_id, bs.warehouse_id, bs.stacking_id, bs.spare1, bs.spare2, bs.spare3, bs.spare4, bs.spare5, bs.spare6 ,bp.product_name,bp.spare1 as englishDesc, bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,bw.warehouse_name,bs.product_id, - bcs.locked,bcs.cargo_space_name + bcs.locked,bcs.cargo_space_name,bcs.status as cargoSpaceStockStatus from bas_stock bs left join bas_product bp on bs.product_id = bp.product_id left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id @@ -85,6 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bs.spare4 = #{spare4} and bs.spare5 = #{spare5} and bs.spare6 = #{spare6} + and bcs.status = #{cargoSpaceStockStatus} diff --git a/ruoyi-ui/src/lang/en.js b/ruoyi-ui/src/lang/en.js index e923245..52aa5b1 100644 --- a/ruoyi-ui/src/lang/en.js +++ b/ruoyi-ui/src/lang/en.js @@ -392,6 +392,7 @@ export default { quantityExceedError: 'Quantity cannot exceed stock quantity', saveSuccess: 'Document {msg} saved successfully', lotNo:'lotNo', + cargoSpaceName: 'cargoSpaceName', }, //***************盘点单据管理*************** checkStockCheck: { diff --git a/ruoyi-ui/src/lang/hu.js b/ruoyi-ui/src/lang/hu.js index bd8dad1..cffe3bc 100644 --- a/ruoyi-ui/src/lang/hu.js +++ b/ruoyi-ui/src/lang/hu.js @@ -360,6 +360,7 @@ export default { quantityExceedError: '数量不能大于库存数量', saveSuccess: '单据{msg}保存成功', lotNo:'批次号', + cargoSpaceName: 'cargoSpaceName', }, //***************盘点单据管理*************** checkStockCheck: { diff --git a/ruoyi-ui/src/lang/zh.js b/ruoyi-ui/src/lang/zh.js index c262ff2..46a794b 100644 --- a/ruoyi-ui/src/lang/zh.js +++ b/ruoyi-ui/src/lang/zh.js @@ -362,6 +362,13 @@ export default { quantityExceedError: '数量不能大于库存数量', saveSuccess: '单据{msg}保存成功', lotNo:'批次号', + cargoSpaceName: '货位名称', + trayCode: '托盘码', + inputTrayCode: '请输入托盘码', + inputCargoSpaceName: '请输入货位名称', + selectTrayCode:"选择托盘", + trayDetail:"物资详情", + close: '关闭', }, //***************盘点单据管理*************** checkStockCheck: { @@ -407,7 +414,9 @@ export default { reviewSuccess: '审核成功', onlyUnreviewedCanReview: '只有未审核的单据可以审核', confirmSuccess: '确认成功', - onlyReviewedCanConfirm: '只有已审核的单据可以确认' + onlyReviewedCanConfirm: '只有已审核的单据可以确认', + cargoSpaceName: '货位名称', + autoAllocation:'自动分配' }, // ***************盘点入库作业************* checkJobIn: { diff --git a/ruoyi-ui/src/views/check/create/index.vue b/ruoyi-ui/src/views/check/create/index.vue index c7782ba..ffbf28e 100644 --- a/ruoyi-ui/src/views/check/create/index.vue +++ b/ruoyi-ui/src/views/check/create/index.vue @@ -20,7 +20,7 @@ /> --> - + - - - - - - - + + + + diff --git a/ruoyi-ui/src/views/check/stockCheck/index.vue b/ruoyi-ui/src/views/check/stockCheck/index.vue index e3b6dc8..a31532b 100644 --- a/ruoyi-ui/src/views/check/stockCheck/index.vue +++ b/ruoyi-ui/src/views/check/stockCheck/index.vue @@ -172,6 +172,17 @@ v-hasPermi="['check:stockCheck:edit']" >{{$t('checkStockCheck.review')}} + + {{$t('checkStockCheck.autoAllocation')}} + {{$t('checkStockCheck.confirm')}} + + @@ -223,6 +236,7 @@ + @@ -504,6 +518,9 @@ export default { this.$modal.msgError(this.$t('checkStockCheck.onlyReviewedCanConfirm')) } }, + handleAutoAllocation(row){ + + } } }