diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java index 10d798b..27e66e1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java @@ -9,6 +9,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.domain.Material; import com.ruoyi.in.stockin.domain.vo.InstockInVo; import com.ruoyi.in.stockin.service.IInStockinService; import com.ruoyi.in.stockinfinish.service.IInStockinFinishService; @@ -17,6 +18,7 @@ import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.List; @@ -116,4 +118,25 @@ public class InStockinController extends BaseController { return inStockinService.productBack(list); } + + /** + * 导入物料数据 + */ + @Log(title = "物料管理", businessType = BusinessType.IMPORT) + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file) throws Exception { + ExcelUtil util = new ExcelUtil<>(Material.class); + List materialList = util.importExcel(file.getInputStream()); + String message = inStockinService.importMaterial(materialList); + return AjaxResult.success(message); + } + + /** + * 下载模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil<>(Material.class); + util.importTemplateExcel(response, "物料数据"); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java index df62ac5..41c5069 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java @@ -104,6 +104,16 @@ public class InStockin extends BaseEntity private String materialDesc; private List typeData; + /*代号*/ + private String spare9; + + public String getSpare9() { + return spare9; + } + + public void setSpare9(String spare9) { + this.spare9 = spare9; + } public List getTypeData() { return typeData; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/Material.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/Material.java new file mode 100644 index 0000000..d9c17f4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/Material.java @@ -0,0 +1,82 @@ +package com.ruoyi.in.stockin.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 物料领用/来件对象(根据你的Excel字段生成) + */ +@Data +public class Material extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 代号 */ + @Excel(name = "代号") + private String code; + + /** 名称 */ + @Excel(name = "名称") + private String name; + + /** 单重 */ + @Excel(name = "单重") + private BigDecimal singleWeight; + + /** 数量 */ + @Excel(name = "数量") + private Integer quantity; + + /** 实来数量 */ + @Excel(name = "实来数量") + private Integer actualArriveQuantity; + + /** 实领数量 */ + @Excel(name = "实领数量") + private Integer actualReceiveQuantity; + + /** 领件人 */ + @Excel(name = "领件人") + private String receiver; + + /** 领件日期 */ + @Excel(name = "领件日期", dateFormat = "yyyy-MM-dd") + private Date receiveTime; + + /** 存放地 */ + @Excel(name = "存放地") + private String storageLocation; + + /** 剩余数量 */ + @Excel(name = "剩余数量") + private Integer remainQuantity; + + /** 来件厂家 */ + @Excel(name = "来件厂家") + private String supplier; + + /** 来件日期 */ + @Excel(name = "来件日期", dateFormat = "yyyy-MM-dd") + private Date arriveTime; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + /** 路线 */ + @Excel(name = "路线") + private String route; + + /** 台次 */ + @Excel(name = "台次") + private String tableNumber; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String projectName; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java index 1c1b54a..967fb3b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java @@ -2,6 +2,7 @@ package com.ruoyi.in.stockin.service; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.domain.Material; import com.ruoyi.in.stockin.domain.vo.InstockInVo; import com.ruoyi.search.ViewOutJobFlow.domain.ViewOutJobFlow; @@ -75,4 +76,6 @@ public interface IInStockinService public List selectStockinByDetail(String stockinDetailId); AjaxResult productBack(List list); + + String importMaterial(List materialList); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java index c164552..fb31c5d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.in.stockin.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjUtil; import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.bas.basJobId.service.IBasJobIdService; import com.ruoyi.common.core.domain.AjaxResult; @@ -13,6 +15,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.in.bind.domain.InStockTraycodeBindMsg; import com.ruoyi.in.bind.mapper.InStockTraycodeBindMsgMapper; import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.domain.Material; import com.ruoyi.in.stockin.domain.vo.InstockInVo; import com.ruoyi.in.stockin.mapper.InStockinMapper; import com.ruoyi.in.stockin.service.IInStockinService; @@ -127,7 +130,7 @@ public class InStockinServiceImpl implements IInStockinService } @Override - @Transactional(rollbackFor = Exception.class) + //@Transactional(rollbackFor = Exception.class) public AjaxResult insertInStockin(InstockInVo inStockinVo) { List productVoList = inStockinVo.getProductVoList(); if (CollUtil.isEmpty(productVoList)){ @@ -159,7 +162,6 @@ public class InStockinServiceImpl implements IInStockinService inStockin.setWarehouseId(inStockinVo.getWarehouseId()); inStockin.setStatus("1"); inStockin.setStockSource(inStockinVo.getStockSource()); - //inStockin.setSpare1(inStockinVo.getProductType()); inStockin.setSpare5(inStockinVo.getRemark()); inStockinMapper.insertInStockin(inStockin); for (int i = 1; i <= productVoList.size(); i++) { @@ -235,12 +237,9 @@ public class InStockinServiceImpl implements IInStockinService if (CollUtil.isEmpty(oldBasStockList) && is4DigitNumber(inStockTraycodeBindMsg.getTrayCode())) { throw new RuntimeException(inStockTraycodeBindMsg.getTrayCode() + "尚未入库,查询不到库存"); } - //查询 合同号 产品号 代号 台次 物料编码 一致的老库存 进行数量合并 + //查询 代号物料编码 一致的老库存 进行数量合并 Optional sameStock = oldBasStockList.stream().filter(x -> - inStockinDetail.getSpare6().equals(x.getOrderId()) && - inStockinDetail.getSpare7().equals(x.getPower()) && inStockinDetail.getSpare9().equals(x.getDistribution()) && - inStockinDetail.getSpare5().equals(x.getSpare5()) && inStockinDetail.getProductId().equals(x.getProductId()) ).findFirst(); if (sameStock.isPresent()) { @@ -275,7 +274,7 @@ public class InStockinServiceImpl implements IInStockinService stock.setStockinDetailId(inStockinDetail.getStockinDetailId()); stock.setInType(old.getInType()); //stock.setLotNo(mydoJobDetail.getLotNo()); - stock.setProductName(inStockinDetail.getProductName()); + stock.setProductName(inStockinDetail.getSpare8()); //合同号 stock.setOrderId(inStockinDetail.getSpare6()); //产品号 @@ -286,6 +285,16 @@ public class InStockinServiceImpl implements IInStockinService stock.setSpare5(inStockinDetail.getSpare5()); //部门 stock.setModel(SecurityUtils.getDeptId().toString()); + //存货名称 + stock.setProductName(inStockinDetail.getSpare8()); + //单重 + stock.setNetWeight(inStockinDetail.getSpare4()); + //路线 + stock.setGrossWeight(inStockinDetail.getSpare3()); + //供应商 + stock.setPhase(inStockinDetail.getSupplierId()); + stock.setRemark(inStockinDetail.getRemark()); + basStockList.add(stock); } } @@ -440,4 +449,49 @@ public class InStockinServiceImpl implements IInStockinService } return AjaxResult.success(); } + + @Override + public String importMaterial(List materialList) { + //未到货 + List list1 = materialList.stream().filter(x -> ObjUtil.isNull(x.getActualArriveQuantity())).toList(); + //生成入库单据 + String warehouseId = null; + LoginUser loginUser = SecurityUtils.getLoginUser(); + List roles = loginUser.getUser().getRoles(); + if (CollUtil.isEmpty(roles)) { + //如果未设置角色 ,直接返回空列表 + return "未设置角色"; + } + //入库需要查看本部门任务 + Optional first = roles.stream().filter(x -> "role1".equals(x.getRoleKey()) || "role3".equals(x.getRoleKey())).findFirst(); + if (first.isPresent()) { + //二联合普通人员 + warehouseId= "02"; + } + Optional first1 = roles.stream().filter(x -> "role2".equals(x.getRoleKey()) || "role4".equals(x.getRoleKey())).findFirst(); + if (first1.isPresent()) { + //三联合普通人员 + warehouseId= "01"; + } + for (Material material : list1) { + InstockInVo inStockinVo = new InstockInVo(); + inStockinVo.setStockSource("1"); + inStockinVo.setInType("1"); + inStockinVo.setWarehouseId(warehouseId); + List list = new ArrayList<>(); + BasProduct basProduct = new BasProduct(); + basProduct.setProductId(material.getCode()); + basProduct.setSpare9(material.getCode()); + basProduct.setSpare8(material.getName()); + basProduct.setSpare4(Convert.toStr(material.getSingleWeight())); + basProduct.setQuantity(material.getQuantity()); + basProduct.setSpare3(material.getRoute()); + basProduct.setSpare5(material.getTableNumber()); + basProduct.setSupplierId(material.getSupplier()); + list.add(basProduct); + inStockinVo.setProductVoList(list); + insertInStockin(inStockinVo); + } + return ""; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java index 80caf3c..4f9f5fe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java @@ -28,7 +28,7 @@ public class InStockinDetail extends BaseEntity /** 子单ID */ private String stockinDetailId; - /** 主单GUID */ + /** 主单GUID inStockinDetail*/ @Excel(name = "主单GUID") private String stockinGuid; 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 a20b7df..5ec1b5c 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 @@ -494,7 +494,6 @@ public class MydoJobServiceImpl implements IMydoJobService { stock.setStockStatus("1"); stock.setOutQuantity("0"); stock.setProductStatus(productStatus); - stock.setLotNo(mydoJobDetail.getLotNo()); stock.setInDate(DateUtil.formatDateTime(new Date())); stock.setProductGuid(mydoJobDetail.getProductGuid()); stock.setQuantity(mydoJobDetail.getInQuantity()); @@ -506,20 +505,14 @@ public class MydoJobServiceImpl implements IMydoJobService { stock.setStockinDetailId(mydoJobDetail.getInOrOutDId()); stock.setInType(mydoJob.getInOrOut()); stock.setLotNo(mydoJobDetail.getLotNo()); - stock.setProductName(mydoJobDetail.getProductName()); - stock.setSpare1(mydoJobDetail.getSpare1()); - stock.setSpare3(mydoJobDetail.getSpare3()); - stock.setSpare4(mydoJobDetail.getSpare4()); - stock.setSpare5(mydoJobDetail.getSpare5()); - stock.setSpare6(mydoJobDetail.getPrintDate()); - stock.setSpare8(mydoJobDetail.getSpare8()); - stock.setVoltage(mydoJobDetail.getSpare2()); - stock.setPower(mydoJobDetail.getSpare7()); - stock.setPhase(mydoJobDetail.getSupplierId()); - stock.setDistribution(mydoJobDetail.getSpare9()); - stock.setInClassId(mydoJobDetail.getUnit()); + stock.setProductName(mydoJobDetail.getSpare1()); stock.setOrderId(mydoJobDetail.getSpare6()); - //stock.setNetWeight(mydoJob.getLineId()); + stock.setPower(mydoJobDetail.getSpare7()); + stock.setDistribution(mydoJobDetail.getSpare9()); + stock.setSpare5(mydoJobDetail.getSpare5()); + stock.setNetWeight(mydoJobDetail.getSpare2()); + stock.setGrossWeight(mydoJobDetail.getSpare3()); + stock.setPhase(mydoJobDetail.getSupplierId()); return stock; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java index 59a7493..cdb7e45 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java @@ -137,8 +137,8 @@ public class OutStockoutController extends BaseController { @Log(title = "出库主单状态改变", businessType = BusinessType.OTHER) @RequestMapping("/changeStatus") @ResponseBody - public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus,@RequestParam(value = "exitId",required = false)String exitId) { - String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus,exitId); + public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus,@RequestParam(value = "exitId",required = false)String exitId,@RequestParam(value = "pickUser",required = false)String pickUser) { + String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus,exitId,pickUser); return s; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java index d4eba35..bf70c06 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java @@ -67,7 +67,7 @@ public interface IOutStockoutService */ public String saveBill(OutStockoutVo outStockoutVo); - public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus,String exitId); + public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus,String exitId,String pickUser); AjaxResult autoAllot(String stockoutId); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java index 0f0de54..0a4fa9f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java @@ -129,13 +129,11 @@ public class OutStockoutServiceImpl implements IOutStockoutService { outStockout.setStockoutId(stockOutId); outStockout.setStockoutGuid(UUID.randomUUID().toString()); outStockout.setCreateDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); - String username = SecurityContextHolder.getContext().getAuthentication().getName(); - outStockout.setCreateManId(username); outStockout.setStatus("1"); outStockout.setStockoutSource(outStockoutVo.getOutStockout().getStockoutSource()); try { if ("1".equals(outStockoutVo.getOutStockout().getStockoutSource())) { - outStockout.setCreateManId(com.ruoyi.common.core.text.Convert.toStr(SecurityUtils.getUserId())); + outStockout.setCreateManId(Convert.toStr(SecurityUtils.getUserId())); outStockout.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId())); } else if ("2".equals(outStockoutVo.getOutStockout().getStockoutSource())) { outStockout.setCreateManId("1"); @@ -164,7 +162,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService { } @Override - public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus, String exitId) { + public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus, String exitId,String pickUser) { HashMap map = new HashMap<>(); StringBuilder stringBuilder = new StringBuilder(); for (String stockoutId : stockoutIds) { @@ -173,6 +171,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService { map.put("newStatus", newStatus); map.put("exitId", exitId); map.put("userName", SecurityUtils.getUsername()); + map.put("pickUser", pickUser); outStockoutMapper.updateOutStockoutStatus(map); stringBuilder.append(",").append(map.get("v_resultString")); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java index ba94757..2c8b1ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java @@ -153,11 +153,11 @@ public class OutStockoutDetail /** 净重 */ @Excel(name = "净重") - private BigDecimal netWeight; + private String netWeight; /** 毛重 */ @Excel(name = "毛重") - private BigDecimal grossWeight; + private String grossWeight; /** 分销 */ @Excel(name = "分销") @@ -313,19 +313,19 @@ public class OutStockoutDetail this.phase = phase; } - public BigDecimal getNetWeight() { + public String getNetWeight() { return netWeight; } - public void setNetWeight(BigDecimal netWeight) { + public void setNetWeight(String netWeight) { this.netWeight = netWeight; } - public BigDecimal getGrossWeight() { + public String getGrossWeight() { return grossWeight; } - public void setGrossWeight(BigDecimal grossWeight) { + public void setGrossWeight(String grossWeight) { this.grossWeight = grossWeight; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java index 5fc381e..7084a2d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java @@ -23,9 +23,9 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 库存物资Controller - * + * * @author ruoyi - * @date 2025-09-12 + * @date 2026-03-25 */ @RestController @RequestMapping("/out/productAndStock") @@ -45,17 +45,6 @@ public class ViewProductAndStockController extends BaseController List list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock); return getDataTable(list); } - /** - * 查询库存物资列表 - */ - @PreAuthorize("@ss.hasPermi('out:productAndStock:list')") - @GetMapping("/pd/list") - public TableDataInfo pdList(ViewProductAndStock viewProductAndStock) - { - startPage(); - List list = viewProductAndStockService.selectViewProductAndStockPdList(viewProductAndStock); - return getDataTable(list); - } /** * 导出库存物资列表 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java index 0ad2f3b..7f655c3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java @@ -7,394 +7,194 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 库存物资对象 view_product_and_stock - * + * * @author ruoyi - * @date 2025-10-21 + * @date 2026-03-25 */ -public class ViewProductAndStock +public class ViewProductAndStock extends BaseEntity { private static final long serialVersionUID = 1L; - /** 序号 */ - @Excel(name = "序号") + /** id */ + @Excel(name = "id") private Long onlyIdentity; /** 物料编码 */ @Excel(name = "物料编码") private String productId; - /** 批次 */ - @Excel(name = "批次") - private String lotNo; - /** 物料名称 */ @Excel(name = "物料名称") private String productName; - /** 库存数量 */ - @Excel(name = "库存数量") + /** 数量 */ + @Excel(name = "数量") private String quantity; - /** 仓库 */ - @Excel(name = "仓库") + /** 仓库id */ + @Excel(name = "仓库id") private String warehouseId; - /** 来源 */ - @Excel(name = "来源") - private String spare1; - - /** 套账 */ - @Excel(name = "套账") - private String spare3; - - /** 用途 */ - @Excel(name = "用途") - private String spare4; - - /** 台次 */ - @Excel(name = "台次") - private String spare5; - - /** 入库单价 */ - @Excel(name = "入库单价") - private String spare6; - - /** 状态 */ - @Excel(name = "状态") - private String voltage; - - /** 件次 */ - @Excel(name = "件次") - private String power; - - /** 供应商 */ -// @Excel(name = "供应商") - private String phase; - - private String supplierName; - - /** 管理号 */ - @Excel(name = "管理号") - private String distribution; - /** 合同号 */ @Excel(name = "合同号") private String orderId; - /** 质量等级 */ - @Excel(name = "质量等级") - private String spare8; + /** 产品号 */ + @Excel(name = "产品号") + private String power; - /** 单价 */ - @Excel(name = "单价") - private String price; + /** 代号 */ + @Excel(name = "代号") + private String distribution; - /** 图号 */ - @Excel(name = "图号") - private String cargoNo; + /** 台次 */ + @Excel(name = "台次") + private String spare5; - /** 物料状态 */ - @Excel(name = "物料状态") - private String productStatus; + /** 单重 */ + @Excel(name = "单重") + private String netWeight; - /** 常用编码 */ - @Excel(name = "常用编码") - private String parentId; + /** 路线 */ + @Excel(name = "路线") + private String grossWeight; - /** 启用标识 */ - @Excel(name = "启用标识") - private String spare7; + /** 供应商 */ + @Excel(name = "供应商") + private String phase; - @Excel(name = "创建时间") - private String createTime; + /** 部门 */ + @Excel(name = "部门") + private String model; - /** 创建用户 */ - @Excel(name = "创建用户") - private String createSys; - - /** 规格型号 */ - @Excel(name = "规格型号") - private String spec; - - /** 单位 */ - @Excel(name = "单位") - private String unit; - - @Excel(name = "仓库") - private String warehouseName; - - public String getWarehouseName() { - return warehouseName; - } - - public void setWarehouseName(String warehouseName) { - this.warehouseName = warehouseName; - } - - public String getSupplierName() { - return supplierName; - } - - public void setSupplierName(String supplierName) { - this.supplierName = supplierName; - } - - public String getCreateTime() { - return createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public void setOnlyIdentity(Long onlyIdentity) + public void setOnlyIdentity(Long onlyIdentity) { this.onlyIdentity = onlyIdentity; } - public Long getOnlyIdentity() + public Long getOnlyIdentity() { return onlyIdentity; } - public void setProductId(String productId) + public void setProductId(String productId) { this.productId = productId; } - public String getProductId() + public String getProductId() { return productId; } - public void setLotNo(String lotNo) - { - this.lotNo = lotNo; - } - - public String getLotNo() - { - return lotNo; - } - - public void setProductName(String productName) + public void setProductName(String productName) { this.productName = productName; } - public String getProductName() + public String getProductName() { return productName; } - public void setQuantity(String quantity) + public void setQuantity(String quantity) { this.quantity = quantity; } - public String getQuantity() + public String getQuantity() { return quantity; } - public void setWarehouseId(String warehouseId) + public void setWarehouseId(String warehouseId) { this.warehouseId = warehouseId; } - public String getWarehouseId() + public String getWarehouseId() { return warehouseId; } - public void setSpare1(String spare1) - { - this.spare1 = spare1; - } - - public String getSpare1() - { - return spare1; - } - - 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; - } - - public void setVoltage(String voltage) - { - this.voltage = voltage; - } - - public String getVoltage() - { - return voltage; - } - - public void setPower(String power) - { - this.power = power; - } - - public String getPower() - { - return power; - } - - public void setPhase(String phase) - { - this.phase = phase; - } - - public String getPhase() - { - return phase; - } - - public void setDistribution(String distribution) - { - this.distribution = distribution; - } - - public String getDistribution() - { - return distribution; - } - - public void setOrderId(String orderId) + public void setOrderId(String orderId) { this.orderId = orderId; } - public String getOrderId() + public String getOrderId() { return orderId; } - public void setSpare8(String spare8) + public void setPower(String power) { - this.spare8 = spare8; + this.power = power; } - public String getSpare8() + public String getPower() { - return spare8; + return power; } - public void setPrice(String price) + public void setDistribution(String distribution) { - this.price = price; + this.distribution = distribution; } - public String getPrice() + public String getDistribution() { - return price; + return distribution; } - public void setCargoNo(String cargoNo) + public void setSpare5(String spare5) { - this.cargoNo = cargoNo; + this.spare5 = spare5; } - public String getCargoNo() + public String getSpare5() { - return cargoNo; + return spare5; } - public void setProductStatus(String productStatus) + public void setNetWeight(String netWeight) { - this.productStatus = productStatus; + this.netWeight = netWeight; } - public String getProductStatus() + public String getNetWeight() { - return productStatus; + return netWeight; } - public void setParentId(String parentId) + public void setGrossWeight(String grossWeight) { - this.parentId = parentId; + this.grossWeight = grossWeight; } - public String getParentId() + public String getGrossWeight() { - return parentId; + return grossWeight; } - public void setSpare7(String spare7) + public void setPhase(String phase) { - this.spare7 = spare7; + this.phase = phase; } - public String getSpare7() + public String getPhase() { - return spare7; + return phase; } - public void setCreateSys(String createSys) + public void setModel(String model) { - this.createSys = createSys; + this.model = model; } - public String getCreateSys() + public String getModel() { - return createSys; - } - - public void setSpec(String spec) - { - this.spec = spec; - } - - public String getSpec() - { - return spec; - } - - public void setUnit(String unit) - { - this.unit = unit; - } - - public String getUnit() - { - return unit; + return model; } @Override @@ -402,30 +202,17 @@ public class ViewProductAndStock return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("onlyIdentity", getOnlyIdentity()) .append("productId", getProductId()) - .append("lotNo", getLotNo()) .append("productName", getProductName()) .append("quantity", getQuantity()) .append("warehouseId", getWarehouseId()) - .append("spare1", getSpare1()) - .append("spare3", getSpare3()) - .append("spare4", getSpare4()) - .append("spare5", getSpare5()) - .append("spare6", getSpare6()) - .append("voltage", getVoltage()) - .append("power", getPower()) - .append("phase", getPhase()) - .append("distribution", getDistribution()) .append("orderId", getOrderId()) - .append("spare8", getSpare8()) - .append("price", getPrice()) - .append("cargoNo", getCargoNo()) - .append("productStatus", getProductStatus()) - .append("parentId", getParentId()) - .append("spare7", getSpare7()) - .append("createTime", getCreateTime()) - .append("createSys", getCreateSys()) - .append("spec", getSpec()) - .append("unit", getUnit()) + .append("power", getPower()) + .append("distribution", getDistribution()) + .append("spare5", getSpare5()) + .append("netWeight", getNetWeight()) + .append("grossWeight", getGrossWeight()) + .append("phase", getPhase()) + .append("model", getModel()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java index bd83a92..02be921 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java @@ -5,15 +5,15 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock; /** * 库存物资Mapper接口 - * + * * @author ruoyi - * @date 2025-09-12 + * @date 2026-03-25 */ -public interface ViewProductAndStockMapper +public interface ViewProductAndStockMapper { /** * 查询库存物资 - * + * * @param onlyIdentity 库存物资主键 * @return 库存物资 */ @@ -21,7 +21,7 @@ public interface ViewProductAndStockMapper /** * 查询库存物资列表 - * + * * @param viewProductAndStock 库存物资 * @return 库存物资集合 */ @@ -29,7 +29,7 @@ public interface ViewProductAndStockMapper /** * 新增库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -37,7 +37,7 @@ public interface ViewProductAndStockMapper /** * 修改库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -45,7 +45,7 @@ public interface ViewProductAndStockMapper /** * 删除库存物资 - * + * * @param onlyIdentity 库存物资主键 * @return 结果 */ @@ -53,11 +53,9 @@ public interface ViewProductAndStockMapper /** * 批量删除库存物资 - * + * * @param onlyIdentitys 需要删除的数据主键集合 * @return 结果 */ public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys); - - List selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java index 0b36e25..f861830 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java @@ -5,15 +5,15 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock; /** * 库存物资Service接口 - * + * * @author ruoyi - * @date 2025-09-12 + * @date 2026-03-25 */ -public interface IViewProductAndStockService +public interface IViewProductAndStockService { /** * 查询库存物资 - * + * * @param onlyIdentity 库存物资主键 * @return 库存物资 */ @@ -21,7 +21,7 @@ public interface IViewProductAndStockService /** * 查询库存物资列表 - * + * * @param viewProductAndStock 库存物资 * @return 库存物资集合 */ @@ -29,7 +29,7 @@ public interface IViewProductAndStockService /** * 新增库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -37,7 +37,7 @@ public interface IViewProductAndStockService /** * 修改库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -45,7 +45,7 @@ public interface IViewProductAndStockService /** * 批量删除库存物资 - * + * * @param onlyIdentitys 需要删除的库存物资主键集合 * @return 结果 */ @@ -53,11 +53,9 @@ public interface IViewProductAndStockService /** * 删除库存物资信息 - * + * * @param onlyIdentity 库存物资主键 * @return 结果 */ public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity); - - List selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java index fd22268..031de49 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java @@ -9,19 +9,19 @@ import com.ruoyi.out.productAndStock.service.IViewProductAndStockService; /** * 库存物资Service业务层处理 - * + * * @author ruoyi - * @date 2025-09-12 + * @date 2026-03-25 */ @Service -public class ViewProductAndStockServiceImpl implements IViewProductAndStockService +public class ViewProductAndStockServiceImpl implements IViewProductAndStockService { @Autowired private ViewProductAndStockMapper viewProductAndStockMapper; /** * 查询库存物资 - * + * * @param onlyIdentity 库存物资主键 * @return 库存物资 */ @@ -33,7 +33,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi /** * 查询库存物资列表 - * + * * @param viewProductAndStock 库存物资 * @return 库存物资 */ @@ -45,7 +45,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi /** * 新增库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -57,7 +57,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi /** * 修改库存物资 - * + * * @param viewProductAndStock 库存物资 * @return 结果 */ @@ -69,7 +69,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi /** * 批量删除库存物资 - * + * * @param onlyIdentitys 需要删除的库存物资主键 * @return 结果 */ @@ -81,7 +81,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi /** * 删除库存物资信息 - * + * * @param onlyIdentity 库存物资主键 * @return 结果 */ @@ -90,10 +90,4 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi { return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentity(onlyIdentity); } - - @Override - public List selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock) { - return viewProductAndStockMapper.selectViewProductAndStockPdList(viewProductAndStock); - - } } diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml index ca6f110..799f2fc 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml @@ -85,8 +85,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and is2.stockin_id in ( select distinct stockin_id from in_stockin_detail isd - left join bas_product bp on isd.product_id = bp.product_id - where bp.product_name like concat('%',#{materialDesc},'%') + where isd.spare8 like concat('%',#{materialDesc},'%') + ) + + + and is2.stockin_id in ( + select stockin_id from in_stockin_detail isd + where isd.spare9 like concat('%',#{spare9},'%') ) diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml index 243476e..22e4914 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml @@ -40,7 +40,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join out_stockout_detail d on d.stockout_id = o.stockout_id left join bas_customer bc on bc.customer_no = d.out_id left join bas_warehouse bw on bw.warehouse_id = d.warehouse_id - left join bas_supplier bs on bs.supplier_no = d.supplier_id left join bas_product bp on bp.product_id = d.product_id left join sys_user su on su.user_id = o.create_man_id @@ -157,6 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{newStatus,mode=IN,jdbcType=VARCHAR}, #{exitId,mode=IN,jdbcType=VARCHAR}, #{userName,mode=IN,jdbcType=VARCHAR}, + #{pickUser,mode=IN,jdbcType=VARCHAR}, #{v_result,mode=OUT,jdbcType=VARCHAR}, #{v_resultString,mode=OUT,jdbcType=VARCHAR} ) diff --git a/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml index 337887b..77cba62 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml @@ -3,74 +3,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - select only_identity, product_id, lot_no, product_name, quantity, warehouse_id, spare1, spare3, spare4, spare5, spare6, voltage, power, phase, distribution, order_id, spare8, price, cargo_no, product_status, parent_id, spare7, create_time, create_sys, spec, unit,supplier_name,warehouse_name from view_product_and_stock + select only_identity, product_id, product_name, quantity, warehouse_id, order_id, power, distribution, spare5, net_weight, gross_weight, phase, model from view_product_and_stock - + @@ -151,14 +142,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bcs.the_floor = #{theFloor} and bcs.the_platoon = #{thePlatoon} and bcs.the_column = #{theColumn} - and bp.spec = #{spec} - and bp.parent_id = #{parentId} and bs2.supplier_no = #{supplierId} and bs2.supplier_name = #{supplierName} - and bp.price = #{price} and bs.in_date >= #{inDateStart} and bs.in_date <= #{inDateEnd} - and bp.spare1 = #{productType} diff --git a/ruoyi-ui/src/api/in/stockIn.js b/ruoyi-ui/src/api/in/stockIn.js index f17983a..93be2fb 100644 --- a/ruoyi-ui/src/api/in/stockIn.js +++ b/ruoyi-ui/src/api/in/stockIn.js @@ -76,4 +76,21 @@ export function productBack(data) { }) } +// 导入数据 +export function importData(data) { + return request({ + url: '/in/stockIn/importData', + method: 'post', + data: data + }) +} + +// 下载导入模板 +export function importTemplate() { + return request({ + url: '/in/stockIn/importTemplate', + method: 'get' + }) +} + diff --git a/ruoyi-ui/src/api/out/outStockout.js b/ruoyi-ui/src/api/out/outStockout.js index ec9bb84..0707494 100644 --- a/ruoyi-ui/src/api/out/outStockout.js +++ b/ruoyi-ui/src/api/out/outStockout.js @@ -53,6 +53,9 @@ export function getOutStockoutDetail(query) { if (params.exitId) { searchParams.append('exitId', params.exitId); } + if (params.pickUser) { + searchParams.append('pickUser', params.pickUser); + } return request({ url: '/out/outStockout/changeStatus?' + searchParams.toString(), method: 'get' diff --git a/ruoyi-ui/src/api/stock/management.js b/ruoyi-ui/src/api/stock/management.js index 9b10a23..e464f77 100644 --- a/ruoyi-ui/src/api/stock/management.js +++ b/ruoyi-ui/src/api/stock/management.js @@ -73,6 +73,26 @@ export function delManagement(stockId) { method: 'delete' }) } + +// 模拟生成出库任务 +export function createOutboundTask(data) { + return request({ + url: '/stock/management/createOutboundTask', + method: 'post', + data: data + }) +} + +// 模拟导出个人出库Excel +export function exportPersonalOutbound(data) { + return request({ + url: '/stock/management/exportPersonalOutbound', + method: 'post', + data: data, + responseType: 'blob' + }) +} + //重置盘点记录 export function resetPdRecord() { return request({ diff --git a/ruoyi-ui/src/views/in/stockIn/index.vue b/ruoyi-ui/src/views/in/stockIn/index.vue index 3d5ec0b..d90b22d 100644 --- a/ruoyi-ui/src/views/in/stockIn/index.vue +++ b/ruoyi-ui/src/views/in/stockIn/index.vue @@ -9,6 +9,9 @@ + + + @@ -35,6 +38,7 @@ 单据审核 单据确认 打印条码 + 导入 @@ -42,7 +46,7 @@ - +