feat(stock): 优化出入库管理功能

- 在出库单页面添加仓库编码和仓库名称显示列
- 在入库单页面添加仓库选择功能和备注显示列
- 添加单据来源字段用于区分ERP/MES系统来源
- 优化物料管理页面的字段显示和表单布局
- 添加MES系统接口服务支持物料和单据传输
- 修复物料编码重复校验逻辑
- 优化入库单保存时的用户信息获取机制
- 添加安全配置支持MES/ERP接口访问权限
- 重构API控制器支持POST请求方式数据传输
- 优化库存物资视图显示仓库名称信息
This commit is contained in:
liuhanqing
2026-01-04 17:32:39 +08:00
parent cbefbf6129
commit a060574363
20 changed files with 453 additions and 226 deletions

View File

@@ -1,21 +1,17 @@
package com.ruoyi.api.controller;
import cn.hutool.json.JSONUtil;
import com.ruoyi.api.domain.ReMaterialParam;
import com.ruoyi.api.domain.RequestEnter;
import com.ruoyi.api.domain.WmsJobRequest;
import com.ruoyi.api.service.IToErpService;
import com.ruoyi.api.service.IToWmsService;
import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.log.domain.RequestLog;
import com.ruoyi.log.service.IRequestLogService;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 作业统计 Controller
@@ -30,14 +26,14 @@ public class ToErpApiController {
/**
* 接收物料信息
*/
@GetMapping("/receiveMaterial")
@PostMapping("/receiveMaterial")
public AjaxResult receiveMaterial(@RequestBody BasProduct basProduct) {
return toErpService.receiveMaterial(basProduct);
}
/**
* 接收客户信息
*/
@GetMapping("/receiveCustomer")
@PostMapping("/receiveCustomer")
public AjaxResult receiveCustomer(@RequestBody BasCustomer basProduct) {
return toErpService.receiveCustomer(basProduct);
}
@@ -45,8 +41,31 @@ public class ToErpApiController {
/**
* 接收供应商信息
*/
@GetMapping("/receiveSupplier")
@PostMapping("/receiveSupplier")
public AjaxResult receiveSupplier(@RequestBody BasSupplier basSupplier) {
return toErpService.receiveSupplier(basSupplier);
}
/**
* 获取入库单据信息
*/
@PostMapping("/receiveInBill")
public AjaxResult receiveInBill(@RequestBody InstockInVo inStockinVo) {
return toErpService.receiveInBill(inStockinVo);
}
/**
* 获取出库单据信息
*/
@PostMapping("/receiveOutBill")
public AjaxResult receiveOutBill(@RequestBody OutStockoutVo outStockoutVo) {
return toErpService.receiveOutBill(outStockoutVo);
}
/**
* 单据信息回传
*/
@PostMapping("/callBackInAndOutBill")
public AjaxResult callBackInAndOutBill() {
return toErpService.callBackInAndOutBill();
}
}

View File

@@ -0,0 +1,50 @@
package com.ruoyi.api.controller;
import com.ruoyi.api.service.IToErpService;
import com.ruoyi.api.service.IToMesService;
import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 作业统计 Controller
*/
@RestController
@RequestMapping("/api2mes")
public class ToMesApiController {
@Autowired
private IToMesService toMesService;
/**
* 接收物料信息
*/
@PostMapping("/receiveMaterial")
public AjaxResult receiveMaterial(@RequestBody BasProduct basProduct) {
return toMesService.receiveMaterial(basProduct);
}
/**
* 获取入库单据信息
*/
@PostMapping("/receiveInBill")
public AjaxResult receiveInBill(@RequestBody InstockInVo inStockinVo) {
return toMesService.receiveInBill(inStockinVo);
}
/**
* 获取出库单据信息
*/
@PostMapping("/receiveOutBill")
public AjaxResult receiveOutBill(@RequestBody OutStockoutVo outStockoutVo) {
return toMesService.receiveOutBill(outStockoutVo);
}
/**
* 单据信息回传
*/
}

View File

@@ -103,13 +103,4 @@ public class ToWmsApiController {
return ajaxResult;
}
/**
* 接收入库单据
*/
/**
* 接收出库单据
*/
}

View File

@@ -4,6 +4,8 @@ import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import java.util.Map;
@@ -22,4 +24,10 @@ public interface IToErpService {
AjaxResult receiveCustomer(BasCustomer basProduct);
AjaxResult receiveSupplier(BasSupplier basSupplier);
AjaxResult receiveInBill(InstockInVo inStockinVo);
AjaxResult receiveOutBill(OutStockoutVo outStockoutVo);
AjaxResult callBackInAndOutBill();
}

View File

@@ -0,0 +1,33 @@
package com.ruoyi.api.service;
import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import java.util.Map;
/**
* 作业统计 Service 接口
*/
public interface IToMesService {
Map<String,String> saveTransferBill();
Map<String,String> billCompletedCallBack();
AjaxResult receiveMaterial(BasProduct basProduct);
AjaxResult receiveCustomer(BasCustomer basProduct);
AjaxResult receiveSupplier(BasSupplier basSupplier);
AjaxResult receiveInBill(InstockInVo inStockinVo);
AjaxResult receiveOutBill(OutStockoutVo outStockoutVo);
AjaxResult callBackInAndOutBill();
}

View File

@@ -1,9 +1,6 @@
package com.ruoyi.api.service.impl;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.http.HttpUtil;
import com.ruoyi.api.mapper.JobStatisticsMapper;
import com.ruoyi.api.service.IJobStatisticsService;
import com.ruoyi.api.service.IToErpService;
import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasCustomer.service.IBasCustomerService;
@@ -11,17 +8,15 @@ import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasProduct.service.IBasProductService;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.bas.BasSupplier.service.IBasSupplierService;
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -39,6 +34,12 @@ public class ToErpServiceImpl implements IToErpService {
@Autowired
private IBasCustomerService basCustomerService;
@Autowired
private IInStockinService inStockinService;
@Autowired
private IOutStockoutService outStockoutService;
@Override
public Map<String, String> saveTransferBill() {
@@ -58,6 +59,7 @@ public class ToErpServiceImpl implements IToErpService {
public AjaxResult receiveMaterial(BasProduct basProduct) {
String productId = basProduct.getProductId();
BasProduct oldProduct = basProductService.selectBasProductByProductId(productId);
basProduct.setSpare1("erp");
if (ObjUtil.isNotNull(oldProduct)){
basProductService.updateBasProduct(basProduct);
}else {
@@ -89,4 +91,19 @@ public class ToErpServiceImpl implements IToErpService {
}
return AjaxResult.success();
}
@Override
public AjaxResult receiveInBill(InstockInVo inStockinVo) {
return inStockinService.insertInStockin(inStockinVo);
}
@Override
public AjaxResult receiveOutBill(OutStockoutVo outStockoutVo) {
return AjaxResult.success("操作成功",outStockoutService.saveBill(outStockoutVo));
}
@Override
public AjaxResult callBackInAndOutBill() {
return null;
}
}

View File

@@ -0,0 +1,109 @@
package com.ruoyi.api.service.impl;
import cn.hutool.core.util.ObjUtil;
import com.ruoyi.api.service.IToMesService;
import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
import com.ruoyi.bas.BasCustomer.service.IBasCustomerService;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasProduct.service.IBasProductService;
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
import com.ruoyi.bas.BasSupplier.service.IBasSupplierService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* 作业统计 Service 实现
*/
@Service
public class ToMesServiceImpl implements IToMesService {
@Autowired
private IBasProductService basProductService;
@Autowired
private IBasSupplierService basSupplierService;
@Autowired
private IBasCustomerService basCustomerService;
@Autowired
private IInStockinService inStockinService;
@Autowired
private IOutStockoutService outStockoutService;
@Override
public Map<String, String> saveTransferBill() {
HashMap<String, String> map = new HashMap<>();
map.put("code","200");
return map;
}
@Override
public Map<String, String> billCompletedCallBack() {
HashMap<String, String> map = new HashMap<>();
map.put("code","200");
return map;
}
@Override
public AjaxResult receiveMaterial(BasProduct basProduct) {
String productId = basProduct.getProductId();
BasProduct oldProduct = basProductService.selectBasProductByProductId(productId);
basProduct.setSpare1("mes");
if (ObjUtil.isNotNull(oldProduct)){
basProductService.updateBasProduct(basProduct);
}else {
basProductService.insertBasProduct(basProduct);
}
return AjaxResult.success();
}
@Override
public AjaxResult receiveCustomer(BasCustomer basCustomer) {
String customerNo = basCustomer.getId();
BasCustomer oldCustomer = basCustomerService.selectBasCustomerById(customerNo);
if (ObjUtil.isNotNull(oldCustomer)){
basCustomerService.updateBasCustomer(basCustomer);
}else {
basCustomerService.insertBasCustomer(basCustomer);
}
return AjaxResult.success();
}
@Override
public AjaxResult receiveSupplier(BasSupplier basSupplier) {
String supplierNo = basSupplier.getId();
BasSupplier oldSupplier = basSupplierService.selectBasSupplierById(supplierNo);
if (ObjUtil.isNotNull(oldSupplier)){
basSupplierService.updateBasSupplier(basSupplier);
}else {
basSupplierService.insertBasSupplier(basSupplier);
}
return AjaxResult.success();
}
@Override
public AjaxResult receiveInBill(InstockInVo inStockinVo) {
return inStockinService.insertInStockin(inStockinVo);
}
@Override
public AjaxResult receiveOutBill(OutStockoutVo outStockoutVo) {
return AjaxResult.success("操作成功",outStockoutService.saveBill(outStockoutVo));
}
@Override
public AjaxResult callBackInAndOutBill() {
return null;
}
}

View File

@@ -6,6 +6,7 @@ import java.util.List;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.math3.stat.descriptive.summary.Product;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -15,89 +16,88 @@ import com.ruoyi.bas.BasProduct.service.IBasProductService;
/**
* 物料管理Service业务层处理
*
*
* @author gw
* @date 2025-09-17
*/
@Service
public class BasProductServiceImpl implements IBasProductService
{
@Slf4j
public class BasProductServiceImpl implements IBasProductService {
@Autowired
private BasProductMapper basProductMapper;
/**
* 查询物料管理
*
*
* @param productGuid 物料管理主键
* @return 物料管理
*/
@Override
public BasProduct selectBasProductByProductGuid(String productGuid)
{
public BasProduct selectBasProductByProductGuid(String productGuid) {
return basProductMapper.selectBasProductByProductGuid(productGuid);
}
@Override
public BasProduct selectBasProductByProductId(String productId)
{
public BasProduct selectBasProductByProductId(String productId) {
return basProductMapper.selectBasProductByProductId(productId);
}
@Override
public List<BasProduct> selectBasProductListByProductIds(List<String> productIds)
{
public List<BasProduct> selectBasProductListByProductIds(List<String> productIds) {
return null;
}
/**
* 查询物料管理列表
*
*
* @param basProduct 物料管理
* @return 物料管理
*/
@Override
public List<BasProduct> selectBasProductList(BasProduct basProduct)
{
public List<BasProduct> selectBasProductList(BasProduct basProduct) {
return basProductMapper.selectBasProductList(basProduct);
}
/**
* 新增物料管理
*
*
* @param basProduct 物料管理
* @return 结果
*/
@Override
public int insertBasProduct(BasProduct basProduct)
{
public int insertBasProduct(BasProduct basProduct) {
BasProduct basProduct1 = basProductMapper.selectBasProductByProductId(basProduct.getProductId());
if(basProduct1 != null){
if (basProduct1 != null) {
throw new RuntimeException("物料编号已存在");
}
basProduct.setProductGuid(basProduct.getProductId());
basProduct.setSpare3(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
//获取当前系统登录用户名
String username = SecurityUtils.getUsername();
basProduct.setSpare4(username);
try {
//获取当前系统登录用户名
String username = SecurityUtils.getUsername();
basProduct.setSpare1(username);
} catch (Exception e) {
log.error("获取当前系统登录用户名异常", e);
}
return basProductMapper.insertBasProduct(basProduct);
}
/**
* 修改物料管理
*
*
* @param basProduct 物料管理
* @return 结果
*/
@Override
public int updateBasProduct(BasProduct basProduct)
{
public int updateBasProduct(BasProduct basProduct) {
BasProduct basProduct1 = new BasProduct();
basProduct1.setProductId(basProduct.getProductId());
basProduct1.setUpdateId(basProduct.getProductGuid());
List<BasProduct> basProducts = basProductMapper.selectBasProductList(basProduct1);
if (CollUtil.isNotEmpty(basProducts)){
if (CollUtil.isNotEmpty(basProducts)) {
throw new RuntimeException("物料编号已存在");
}
return basProductMapper.updateBasProduct(basProduct);
@@ -105,25 +105,23 @@ public class BasProductServiceImpl implements IBasProductService
/**
* 批量删除物料管理
*
*
* @param productGuids 需要删除的物料管理主键
* @return 结果
*/
@Override
public int deleteBasProductByProductGuids(String[] productGuids)
{
public int deleteBasProductByProductGuids(String[] productGuids) {
return basProductMapper.deleteBasProductByProductGuids(productGuids);
}
/**
* 删除物料管理信息
*
*
* @param productGuid 物料管理主键
* @return 结果
*/
@Override
public int deleteBasProductByProductGuid(String productGuid)
{
public int deleteBasProductByProductGuid(String productGuid) {
return basProductMapper.deleteBasProductByProductGuid(productGuid);
}
}

View File

@@ -32,6 +32,8 @@ public class InstockInVo {
private String remark;
private String stockSource;
private List<BasProduct> productVoList;

View File

@@ -16,6 +16,7 @@ import com.ruoyi.in.stockin.mapper.InStockinMapper;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +30,7 @@ import java.util.List;
* @date 2025-05-20
*/
@Service
@Slf4j
public class InStockinServiceImpl implements IInStockinService
{
@Autowired
@@ -100,14 +102,26 @@ public class InStockinServiceImpl implements IInStockinService
inStockin.setStockinGuid(rkdId);
inStockin.setStockinId(rkdId);
inStockin.setCreateDate(DateUtil.formatDateTime(DateUtil.date()));
inStockin.setCreateManId(Convert.toStr(SecurityUtils.getUserId()));
inStockin.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId()));
//inStockin.setSupplierNo(inStockinVo.getSupplierId());
try {
if ("1".equals(inStockinVo.getStockSource())){
inStockin.setCreateManId(Convert.toStr(SecurityUtils.getUserId()));
inStockin.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId()));
}else if ("2".equals(inStockinVo.getStockSource())){
inStockin.setCreateManId("1");
inStockin.setDepartmentNo("103");
}else if ("3".equals(inStockinVo.getStockSource())){
inStockin.setCreateManId("1");
inStockin.setDepartmentNo("104");
}
}catch (Exception e){
log.error("入库单保存异常,无用户信息");
}
inStockin.setErpBill(inStockinVo.getErpBill());
inStockin.setInType(inStockinVo.getInType());
inStockin.setWarehouseId(inStockinVo.getWarehouseId());
inStockin.setStatus("1");
inStockin.setStockSource("1");
inStockin.setStockSource(inStockinVo.getStockSource());
inStockin.setSpare1(inStockinVo.getProductType());
inStockin.setSpare5(inStockinVo.getRemark());
inStockinMapper.insertInStockin(inStockin);
@@ -122,7 +136,7 @@ public class InStockinServiceImpl implements IInStockinService
iInStockinDetailService.insertInStockinDetail(inStockinDetail);
}
return AjaxResult.success();
return AjaxResult.success("操作成功",rkdId);
}
/**

View File

@@ -130,7 +130,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
String username = SecurityContextHolder.getContext().getAuthentication().getName();
outStockout.setCreateManId(username);
outStockout.setStatus("1");
outStockout.setStockoutSource("0");
outStockout.setStockoutSource(outStockoutVo.getOutStockout().getStockoutSource());
// outStockout.setWarehouseId("01");
for (int i = 0; i < detailList.size(); i++) {
OutStockoutDetail outStockoutDetail = detailList.get(i);

View File

@@ -7,7 +7,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
/**
* 库存物资对象 view_product_and_stock
*
*
* @author ruoyi
* @date 2025-10-21
*/
@@ -120,6 +120,16 @@ public class ViewProductAndStock
@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;
@@ -142,247 +152,247 @@ public class ViewProductAndStock
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)
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
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)
public void setSpare1(String spare1)
{
this.spare1 = spare1;
}
public String getSpare1()
public String getSpare1()
{
return spare1;
}
public void setSpare3(String spare3)
public void setSpare3(String spare3)
{
this.spare3 = spare3;
}
public String getSpare3()
public String getSpare3()
{
return spare3;
}
public void setSpare4(String spare4)
public void setSpare4(String spare4)
{
this.spare4 = spare4;
}
public String getSpare4()
public String getSpare4()
{
return spare4;
}
public void setSpare5(String spare5)
public void setSpare5(String spare5)
{
this.spare5 = spare5;
}
public String getSpare5()
public String getSpare5()
{
return spare5;
}
public void setSpare6(String spare6)
public void setSpare6(String spare6)
{
this.spare6 = spare6;
}
public String getSpare6()
public String getSpare6()
{
return spare6;
}
public void setVoltage(String voltage)
public void setVoltage(String voltage)
{
this.voltage = voltage;
}
public String getVoltage()
public String getVoltage()
{
return voltage;
}
public void setPower(String power)
public void setPower(String power)
{
this.power = power;
}
public String getPower()
public String getPower()
{
return power;
}
public void setPhase(String phase)
public void setPhase(String phase)
{
this.phase = phase;
}
public String getPhase()
public String getPhase()
{
return phase;
}
public void setDistribution(String distribution)
public void setDistribution(String distribution)
{
this.distribution = distribution;
}
public String getDistribution()
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 setSpare8(String spare8)
{
this.spare8 = spare8;
}
public String getSpare8()
public String getSpare8()
{
return spare8;
}
public void setPrice(String price)
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
public String getPrice()
{
return price;
}
public void setCargoNo(String cargoNo)
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
public String getCargoNo()
{
return cargoNo;
}
public void setProductStatus(String productStatus)
public void setProductStatus(String productStatus)
{
this.productStatus = productStatus;
}
public String getProductStatus()
public String getProductStatus()
{
return productStatus;
}
public void setParentId(String parentId)
public void setParentId(String parentId)
{
this.parentId = parentId;
}
public String getParentId()
public String getParentId()
{
return parentId;
}
public void setSpare7(String spare7)
public void setSpare7(String spare7)
{
this.spare7 = spare7;
}
public String getSpare7()
public String getSpare7()
{
return spare7;
}
public void setCreateSys(String createSys)
public void setCreateSys(String createSys)
{
this.createSys = createSys;
}
public String getCreateSys()
public String getCreateSys()
{
return createSys;
}
public void setSpec(String spec)
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
public String getSpec()
{
return spec;
}
public void setUnit(String unit)
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
public String getUnit()
{
return unit;
}