Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dev
王晓迪 1 month ago
parent
commit
fd5127f7f0
  1. 170
      ruoyi-admin/src/main/java/com/ruoyi/rfMsg/controller/VnaRawDataController.java
  2. 133
      ruoyi-admin/src/main/java/com/ruoyi/rfMsg/domain/VnaRawData.java
  3. 62
      ruoyi-admin/src/main/java/com/ruoyi/rfMsg/mapper/VnaRawDataMapper.java
  4. 61
      ruoyi-admin/src/main/java/com/ruoyi/rfMsg/service/IVnaRawDataService.java
  5. 94
      ruoyi-admin/src/main/java/com/ruoyi/rfMsg/service/impl/VnaRawDataServiceImpl.java
  6. 140
      ruoyi-admin/src/main/java/com/ruoyi/stock/controller/WarehouseController.java
  7. 154
      ruoyi-admin/src/main/java/com/ruoyi/stock/domain/CheckHeadWithList.java
  8. 311
      ruoyi-admin/src/main/java/com/ruoyi/stock/domain/Warehouse.java
  9. 259
      ruoyi-admin/src/main/java/com/ruoyi/stock/domain/WarehousingOutHeadWithList.java
  10. 72
      ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/WarehouseMapper.java
  11. 17
      ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/WarehousingOutHeadWithListMapper.java
  12. 70
      ruoyi-admin/src/main/java/com/ruoyi/stock/service/IWarehouseService.java
  13. 119
      ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/WarehouseServiceImpl.java
  14. 85
      ruoyi-admin/src/main/resources/mapper/rfMsg/VnaRawDataMapper.xml
  15. 38
      ruoyi-admin/src/main/resources/mapper/stock/CheckHeadWithListMapper.xml
  16. 166
      ruoyi-admin/src/main/resources/mapper/stock/WarehouseMapper.xml
  17. 54
      ruoyi-admin/src/main/resources/mapper/stock/WarehousingOutHeadWithListMapper.xml
  18. 69
      ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/add.html
  19. 70
      ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/edit.html
  20. 219
      ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/vnaRawData.html
  21. 136
      ruoyi-admin/src/main/resources/templates/stock/warehouse/add.html
  22. 137
      ruoyi-admin/src/main/resources/templates/stock/warehouse/edit.html
  23. 190
      ruoyi-admin/src/main/resources/templates/stock/warehouse/slowMovingItem.html
  24. 288
      ruoyi-admin/src/main/resources/templates/stock/warehouse/warehouse.html

170
ruoyi-admin/src/main/java/com/ruoyi/rfMsg/controller/VnaRawDataController.java

@ -1,170 +0,0 @@
package com.ruoyi.rfMsg.controller;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.rfMsg.domain.VnaRawData;
import com.ruoyi.rfMsg.service.IVnaRawDataService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* rf测试历史结果Controller
*
* @author ruoyi
* @date 2023-06-28
*/
@Controller
@RequestMapping("/rfMsg/vnaRawData")
public class VnaRawDataController extends BaseController
{
private String prefix = "rfMsg/vnaRawData";
@Autowired
private IVnaRawDataService vnaRawDataService;
@RequiresPermissions("rfMsg:vnaRawData:view")
@GetMapping()
public String vnaRawData()
{
return prefix + "/vnaRawData";
}
/**
* 查询rf测试历史结果列表
*/
@RequiresPermissions("rfMsg:vnaRawData:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(VnaRawData vnaRawData)
{
startPage();
List<VnaRawData> list = vnaRawDataService.selectVnaRawDataList(vnaRawData);
return getDataTable(list);
}
@PostMapping("/getDataById/{id}")
@ResponseBody
public List getDataById(@PathVariable("id") Long id)
{
startPage();
VnaRawData vnaRawData = vnaRawDataService.selectVnaRawDataById(id);
String frequency = vnaRawData.getFrequency();
System.out.println(frequency);
Map mapObj = JSONObject.parseObject(frequency,Map.class);
List listKey = new ArrayList();
List listValue = new ArrayList();
List listValueList = new ArrayList();
// System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
// for (Object map: mapObj.entrySet()){
// System.out.println(((Map.Entry)map).getKey()+":"+((Map.Entry)map).getValue());
// listKey.add(((Map.Entry)map).getKey());
// listValue.add(((Map.Entry)map).getValue());
// }
// LinkedHashMap<String, String> map = JSONUtil.toBean(frequency, new TypeReference<LinkedHashMap<String, String>>() {}, true);
// for (Map.Entry<String, String> entry : map.entrySet()) {
// System.out.println(entry.getKey() + ": " + entry.getValue());
// listKey.add((entry.getKey()));
// listValue.add((entry.getValue()));
// }
try {
ObjectMapper objectMapper = new ObjectMapper();
com.fasterxml.jackson.core.type.TypeReference<LinkedHashMap<String, Double>> typeRef = new com.fasterxml.jackson.core.type.TypeReference<LinkedHashMap<String, Double>>() {};
LinkedHashMap<String, Double> map = objectMapper.readValue(frequency, typeRef);
for (Map.Entry<String, Double> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
listKey.add((entry.getKey()));
listValue.add((entry.getValue()));
}
} catch (Exception e) {
System.out.println("序列化出错");
}
listValueList.add(listKey);
listValueList.add(listValue);
System.out.println(listValueList);
return listValueList;
}
/**
* 导出rf测试历史结果列表
*/
@RequiresPermissions("rfMsg:vnaRawData:export")
@Log(title = "rf测试历史结果", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(VnaRawData vnaRawData)
{
List<VnaRawData> list = vnaRawDataService.selectVnaRawDataList(vnaRawData);
ExcelUtil<VnaRawData> util = new ExcelUtil<VnaRawData>(VnaRawData.class);
return util.exportExcel(list, "rf测试历史结果数据");
}
/**
* 新增rf测试历史结果
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存rf测试历史结果
*/
@RequiresPermissions("rfMsg:vnaRawData:add")
@Log(title = "rf测试历史结果", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(VnaRawData vnaRawData)
{
return toAjax(vnaRawDataService.insertVnaRawData(vnaRawData));
}
/**
* 修改rf测试历史结果
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
VnaRawData vnaRawData = vnaRawDataService.selectVnaRawDataById(id);
mmap.put("vnaRawData", vnaRawData);
return prefix + "/edit";
}
/**
* 修改保存rf测试历史结果
*/
@RequiresPermissions("rfMsg:vnaRawData:edit")
@Log(title = "rf测试历史结果", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(VnaRawData vnaRawData)
{
return toAjax(vnaRawDataService.updateVnaRawData(vnaRawData));
}
/**
* 删除rf测试历史结果
*/
@RequiresPermissions("rfMsg:vnaRawData:remove")
@Log(title = "rf测试历史结果", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(vnaRawDataService.deleteVnaRawDataByIds(ids));
}
}

133
ruoyi-admin/src/main/java/com/ruoyi/rfMsg/domain/VnaRawData.java

@ -1,133 +0,0 @@
package com.ruoyi.rfMsg.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;
/**
* rf测试历史结果对象 vna_raw_data
*
* @author ruoyi
* @date 2023-06-28
*/
public class VnaRawData extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 时间 */
@Excel(name = "时间")
private String date;
/** 序列号(设备) */
@Excel(name = "序列号", readConverterExp = "设=备")
private String serialNumber;
/** 操作人 */
@Excel(name = "操作人")
private String operator;
/** 是否通过,0为NG,1为PASS */
@Excel(name = "是否通过,0为NG,1为PASS")
private Integer status;
/** 端口号,例:PORT1 */
@Excel(name = "端口号,例:PORT1")
private String port;
/** 频率 */
private String frequency;
/** 数值,必须对应频率 */
private String value;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setDate(String date)
{
this.date = date;
}
public String getDate()
{
return date;
}
public void setSerialNumber(String serialNumber)
{
this.serialNumber = serialNumber;
}
public String getSerialNumber()
{
return serialNumber;
}
public void setOperator(String operator)
{
this.operator = operator;
}
public String getOperator()
{
return operator;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setPort(String port)
{
this.port = port;
}
public String getPort()
{
return port;
}
public void setFrequency(String frequency)
{
this.frequency = frequency;
}
public String getFrequency()
{
return frequency;
}
public void setValue(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("date", getDate())
.append("serialNumber", getSerialNumber())
.append("operator", getOperator())
.append("status", getStatus())
.append("port", getPort())
.append("frequency", getFrequency())
.append("value", getValue())
.toString();
}
}

62
ruoyi-admin/src/main/java/com/ruoyi/rfMsg/mapper/VnaRawDataMapper.java

@ -1,62 +0,0 @@
package com.ruoyi.rfMsg.mapper;
import com.ruoyi.rfMsg.domain.VnaRawData;
import java.util.List;
/**
* rf测试历史结果Mapper接口
*
* @author ruoyi
* @date 2023-06-28
*/
public interface VnaRawDataMapper
{
/**
* 查询rf测试历史结果
*
* @param id rf测试历史结果ID
* @return rf测试历史结果
*/
public VnaRawData selectVnaRawDataById(Long id);
/**
* 查询rf测试历史结果列表
*
* @param vnaRawData rf测试历史结果
* @return rf测试历史结果集合
*/
public List<VnaRawData> selectVnaRawDataList(VnaRawData vnaRawData);
/**
* 新增rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
public int insertVnaRawData(VnaRawData vnaRawData);
/**
* 修改rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
public int updateVnaRawData(VnaRawData vnaRawData);
/**
* 删除rf测试历史结果
*
* @param id rf测试历史结果ID
* @return 结果
*/
public int deleteVnaRawDataById(Long id);
/**
* 批量删除rf测试历史结果
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteVnaRawDataByIds(String[] ids);
}

61
ruoyi-admin/src/main/java/com/ruoyi/rfMsg/service/IVnaRawDataService.java

@ -1,61 +0,0 @@
package com.ruoyi.rfMsg.service;
import java.util.List;
import com.ruoyi.rfMsg.domain.VnaRawData;
/**
* rf测试历史结果Service接口
*
* @author ruoyi
* @date 2023-06-28
*/
public interface IVnaRawDataService
{
/**
* 查询rf测试历史结果
*
* @param id rf测试历史结果ID
* @return rf测试历史结果
*/
public VnaRawData selectVnaRawDataById(Long id);
/**
* 查询rf测试历史结果列表
*
* @param vnaRawData rf测试历史结果
* @return rf测试历史结果集合
*/
public List<VnaRawData> selectVnaRawDataList(VnaRawData vnaRawData);
/**
* 新增rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
public int insertVnaRawData(VnaRawData vnaRawData);
/**
* 修改rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
public int updateVnaRawData(VnaRawData vnaRawData);
/**
* 批量删除rf测试历史结果
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteVnaRawDataByIds(String ids);
/**
* 删除rf测试历史结果信息
*
* @param id rf测试历史结果ID
* @return 结果
*/
public int deleteVnaRawDataById(Long id);
}

94
ruoyi-admin/src/main/java/com/ruoyi/rfMsg/service/impl/VnaRawDataServiceImpl.java

@ -1,94 +0,0 @@
package com.ruoyi.rfMsg.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.rfMsg.mapper.VnaRawDataMapper;
import com.ruoyi.rfMsg.domain.VnaRawData;
import com.ruoyi.rfMsg.service.IVnaRawDataService;
import com.ruoyi.common.core.text.Convert;
/**
* rf测试历史结果Service业务层处理
*
* @author ruoyi
* @date 2023-06-28
*/
@Service
public class VnaRawDataServiceImpl implements IVnaRawDataService
{
@Autowired
private VnaRawDataMapper vnaRawDataMapper;
/**
* 查询rf测试历史结果
*
* @param id rf测试历史结果ID
* @return rf测试历史结果
*/
@Override
public VnaRawData selectVnaRawDataById(Long id)
{
return vnaRawDataMapper.selectVnaRawDataById(id);
}
/**
* 查询rf测试历史结果列表
*
* @param vnaRawData rf测试历史结果
* @return rf测试历史结果
*/
@Override
public List<VnaRawData> selectVnaRawDataList(VnaRawData vnaRawData)
{
return vnaRawDataMapper.selectVnaRawDataList(vnaRawData);
}
/**
* 新增rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
@Override
public int insertVnaRawData(VnaRawData vnaRawData)
{
return vnaRawDataMapper.insertVnaRawData(vnaRawData);
}
/**
* 修改rf测试历史结果
*
* @param vnaRawData rf测试历史结果
* @return 结果
*/
@Override
public int updateVnaRawData(VnaRawData vnaRawData)
{
return vnaRawDataMapper.updateVnaRawData(vnaRawData);
}
/**
* 删除rf测试历史结果对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteVnaRawDataByIds(String ids)
{
return vnaRawDataMapper.deleteVnaRawDataByIds(Convert.toStrArray(ids));
}
/**
* 删除rf测试历史结果信息
*
* @param id rf测试历史结果ID
* @return 结果
*/
@Override
public int deleteVnaRawDataById(Long id)
{
return vnaRawDataMapper.deleteVnaRawDataById(id);
}
}

140
ruoyi-admin/src/main/java/com/ruoyi/stock/controller/WarehouseController.java

@ -1,140 +0,0 @@
package com.ruoyi.stock.controller;
import com.ruoyi.ck.utils.Result;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.stock.domain.Warehouse;
import com.ruoyi.stock.service.IWarehouseService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 库存Controller
*
* @author ruoyi
* @date 2021-12-02
*/
@Controller
@RequestMapping("/stock/warehouse")
public class WarehouseController extends BaseController {
private String prefix = "stock/warehouse";
@Autowired
private IWarehouseService warehouseService;
@RequiresPermissions("stock:warehouse:view")
@GetMapping()
public String warehouse() {
return prefix + "/warehouse";
}
@GetMapping("/toSlowMovingItem")
public String slowMovingItem() {
return prefix + "/slowMovingItem";
}
/**
* 查询库存列表
*/
@RequiresPermissions("stock:warehouse:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Warehouse warehouse) {
startPage();
List<Warehouse> list = warehouseService.selectWarehouseList(warehouse);
return getDataTable(list);
}
/**
* 导出库存列表
*/
@RequiresPermissions("stock:warehouse:export")
@Log(title = "库存", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Warehouse warehouse) {
List<Warehouse> list = warehouseService.selectWarehouseList(warehouse);
ExcelUtil<Warehouse> util = new ExcelUtil<Warehouse>(Warehouse.class);
return util.exportExcel(list, "库存数据");
}
/**
* 新增库存
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
* 新增保存库存
*/
@RequiresPermissions("stock:warehouse:add")
@Log(title = "库存", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(Warehouse warehouse) {
return toAjax(warehouseService.insertWarehouse(warehouse));
}
/**
* 修改库存
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap) {
Warehouse warehouse = warehouseService.selectWarehouseById(id);
mmap.put("warehouse", warehouse);
return prefix + "/edit";
}
/**
* 修改保存库存
*/
@RequiresPermissions("stock:warehouse:edit")
@Log(title = "库存", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(Warehouse warehouse) {
return toAjax(warehouseService.updateWarehouse(warehouse));
}
/**
* 删除库存
*/
@RequiresPermissions("stock:warehouse:remove")
@Log(title = "库存", businessType = BusinessType.DELETE)
@PostMapping("/remove")
@ResponseBody
public AjaxResult remove(String ids) {
return toAjax(warehouseService.deleteWarehouseByIds(ids));
}
//根据代码查询 只能查一条!
@ResponseBody
@PostMapping("/code")
public Result selectByCode(Warehouse warehouse) throws Exception {
Warehouse findWarehouse = warehouseService.selectByCode(warehouse);
if (findWarehouse == null) {
return Result.getFailResult("库存无此物料!", null);
}
return Result.getSuccessResult(findWarehouse);
}
//搜索呆滞物料列表
@ResponseBody
@PostMapping("/getSlowMovingItemList")
public TableDataInfo selectSlowMovingItem(Warehouse warehouse,String slowMovingType){
startPage();
List<Warehouse> list = warehouseService.selectSlowMovingItemList(warehouse, slowMovingType);
return getDataTable(list);
}
}

154
ruoyi-admin/src/main/java/com/ruoyi/stock/domain/CheckHeadWithList.java

@ -1,154 +0,0 @@
package com.ruoyi.stock.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
/**
* @author pyy
* @date Created in 2021/12/20 10:32
* @description
* @modified By
* @version: $
*/
public class CheckHeadWithList extends BaseEntity {
/** 盘底单号 */
@Excel(name = "盘底单号")
private String checkId;
/** 仓库名称 */
@Excel(name = "仓库名称")
private String stockName;
/** 盘底日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "盘底日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date checkDate;
/** 物料代码 */
@Excel(name = "物料代码")
private String itemCode;
/** 物料名称 */
@Excel(name = "物料名称")
private String itemName;
/** 物料规格 */
@Excel(name = "物料规格")
private String itemSpecification;
/** 单位 */
@Excel(name = "单位")
private String unit;
/** 盘底数量 */
@Excel(name = "盘底数量")
private String checkQty;
/** 批号 */
@Excel(name = "批号")
private String batchNumber;
/** 更新否 */
@Excel(name = "更新否")
private String isUpdate;
public String getCheckId() {
return checkId;
}
public void setCheckId(String checkId) {
this.checkId = checkId;
}
public String getStockName() {
return stockName;
}
public void setStockName(String stockName) {
this.stockName = stockName;
}
public Date getCheckDate() {
return checkDate;
}
public void setCheckDate(Date checkDate) {
this.checkDate = checkDate;
}
public String getItemCode() {
return itemCode;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getItemSpecification() {
return itemSpecification;
}
public void setItemSpecification(String itemSpecification) {
this.itemSpecification = itemSpecification;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getCheckQty() {
return checkQty;
}
public void setCheckQty(String checkQty) {
this.checkQty = checkQty;
}
public String getBatchNumber() {
return batchNumber;
}
public void setBatchNumber(String batchNumber) {
this.batchNumber = batchNumber;
}
public String getIsUpdate() {
return isUpdate;
}
public void setIsUpdate(String isUpdate) {
this.isUpdate = isUpdate;
}
@Override
public String toString() {
return "CheckHeadWithList{" +
"checkId='" + checkId + '\'' +
", stockName='" + stockName + '\'' +
", checkDate=" + checkDate +
", itemCode='" + itemCode + '\'' +
", itemName='" + itemName + '\'' +
", itemSpecification='" + itemSpecification + '\'' +
", unit='" + unit + '\'' +
", checkQty='" + checkQty + '\'' +
", batchNumber='" + batchNumber + '\'' +
", isUpdate='" + isUpdate + '\'' +
'}';
}
}

311
ruoyi-admin/src/main/java/com/ruoyi/stock/domain/Warehouse.java

@ -1,311 +0,0 @@
package com.ruoyi.stock.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import java.util.Date;
/**
* 库存对象 warehouse
*
* @author ruoyi
* @date 2021-12-02
*/
public class Warehouse extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
private Long id;
/**
* 物料代码
*/
@Excel(name = "物料代码")
private String wlCode;
/**
* 物料名称
*/
@Excel(name = "物料名称")
private String itemName;
/**
* 规格
*/
@Excel(name = "规格")
private String itemStandard;
/**
* 机种
*/
@Excel(name = "机种")
private String machineNo;
/**
* 单位
*/
@Excel(name = "单位")
private String stockDw;
/**
* 数量
*/
@Excel(name = "数量")
private Long qty;
/**
* 仓库名称
*/
@Excel(name = "仓库名称")
private String warehouseName;
/**
* 仓库号
*/
@Excel(name = "仓库号")
private String warehouseNo;
/**
* 存放位置
*/
@Excel(name = "存放位置")
private String depositPosition;
/**
* 物料类别
*/
@Excel(name = "物料类别")
private String inClass;
/**
* 最后入库日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后入库日期")
private Date spare1;
/**
* 最后出库日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后出库日期")
private Date spare2;
/**
*
*/
@Excel(name = "")
private String spare3;
/**
*
*/
@Excel(name = "")
private String spare4;
/**
*
*/
@Excel(name = "")
private String spare5;
/**
*
*/
@Excel(name = "")
private String spare6;
/**
* 物料种类
*/
@Excel(name = "物料种类")
private String wlType;
/**
* 批号
*/
@Excel(name = "批号")
private String batchNumber;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setWlCode(String wlCode) {
this.wlCode = wlCode;
}
public String getWlCode() {
return wlCode;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getItemName() {
return itemName;
}
public void setItemStandard(String itemStandard) {
this.itemStandard = itemStandard;
}
public String getItemStandard() {
return itemStandard;
}
public void setMachineNo(String machineNo) {
this.machineNo = machineNo;
}
public String getMachineNo() {
return machineNo;
}
public void setStockDw(String stockDw) {
this.stockDw = stockDw;
}
public String getStockDw() {
return stockDw;
}
public void setQty(Long qty) {
this.qty = qty;
}
public Long getQty() {
return qty;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseNo(String warehouseNo) {
this.warehouseNo = warehouseNo;
}
public String getWarehouseNo() {
return warehouseNo;
}
public void setDepositPosition(String depositPosition) {
this.depositPosition = depositPosition;
}
public String getDepositPosition() {
return depositPosition;
}
public void setInClass(String inClass) {
this.inClass = inClass;
}
public String getInClass() {
return inClass;
}
public Date getSpare1() {
return spare1;
}
public void setSpare1(Date spare1) {
this.spare1 = spare1;
}
public Date getSpare2() {
return spare2;
}
public void setSpare2(Date spare2) {
this.spare2 = spare2;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare3() {
return spare3;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getSpare4() {
return spare4;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
public String getSpare5() {
return spare5;
}
public void setSpare6(String spare6) {
this.spare6 = spare6;
}
public String getSpare6() {
return spare6;
}
public void setWlType(String wlType) {
this.wlType = wlType;
}
public String getWlType() {
return wlType;
}
public void setBatchNumber(String batchNumber) {
this.batchNumber = batchNumber;
}
public String getBatchNumber() {
return batchNumber;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("wlCode", getWlCode())
.append("itemName", getItemName())
.append("itemStandard", getItemStandard())
.append("machineNo", getMachineNo())
.append("stockDw", getStockDw())
.append("qty", getQty())
.append("warehouseName", getWarehouseName())
.append("warehouseNo", getWarehouseNo())
.append("depositPosition", getDepositPosition())
.append("inClass", getInClass())
.append("spare1", getSpare1())
.append("spare2", getSpare2())
.append("spare3", getSpare3())
.append("spare4", getSpare4())
.append("spare5", getSpare5())
.append("spare6", getSpare6())
.append("wlType", getWlType())
.append("batchNumber", getBatchNumber())
.toString();
}
}

259
ruoyi-admin/src/main/java/com/ruoyi/stock/domain/WarehousingOutHeadWithList.java

@ -1,259 +0,0 @@
package com.ruoyi.stock.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
/**
* @author pyy
* @date Created in 2021/12/16 9:24
* @description出库表联结查询
* @modified By
* @version: $
*/
public class WarehousingOutHeadWithList extends BaseEntity {
/** 出库单号 */
@Excel(name = "出库单号")
private String warehousingOutNo;
/** 制工单号 */
@Excel(name = "制工单号")
private String workOrderNo;
/** 订单号 */
@Excel(name = "订单号")
private String buyOrderNo;
/** 出库日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date warehousingOutDate;
/** 项次 */
@Excel(name = "项次")
private String itemNo;
/** 物料代码 */
@Excel(name = "物料代码")
private String itemCode;
/** 物料名称 */
@Excel(name = "物料名称")
private String itemName;
/** 物料规格 */
@Excel(name = "物料规格")
private String itemSpecification;
/** 单位 */
@Excel(name = "单位")
private String unit;
/** 计划数量 */
@Excel(name = "计划数量")
private Long planQty;
/** 实际数量 */
@Excel(name = "实际数量")
private Long realQty;
/** 退回数量 */
@Excel(name = "退回数量")
private Long returnQty;
@Excel(name = "备注")
private String remark;
/** 部门编号 */
@Excel(name = "部门编号")
private String deptNo;
/** 部门名称 */
@Excel(name = "部门名称")
private String deptName;
/** 仓库名称 */
@Excel(name = "仓库名称")
private String stockName;
/** 出库类别 */
@Excel(name = "出库类别")
private String outputClass;
/** 物料类别 */
@Excel(name = "物料类别")
private String itemClass;
public String getWarehousingOutNo() {
return warehousingOutNo;
}
public void setWarehousingOutNo(String warehousingOutNo) {
this.warehousingOutNo = warehousingOutNo;
}
public String getWorkOrderNo() {
return workOrderNo;
}
public void setWorkOrderNo(String workOrderNo) {
this.workOrderNo = workOrderNo;
}
public String getBuyOrderNo() {
return buyOrderNo;
}
public void setBuyOrderNo(String buyOrderNo) {
this.buyOrderNo = buyOrderNo;
}
public Date getWarehousingOutDate() {
return warehousingOutDate;
}
public void setWarehousingOutDate(Date warehousingOutDate) {
this.warehousingOutDate = warehousingOutDate;
}
public String getItemNo() {
return itemNo;
}
public void setItemNo(String itemNo) {
this.itemNo = itemNo;
}
public String getItemCode() {
return itemCode;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getItemSpecification() {
return itemSpecification;
}
public void setItemSpecification(String itemSpecification) {
this.itemSpecification = itemSpecification;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public Long getPlanQty() {
return planQty;
}
public void setPlanQty(Long planQty) {
this.planQty = planQty;
}
public Long getRealQty() {
return realQty;
}
public void setRealQty(Long realQty) {
this.realQty = realQty;
}
public Long getReturnQty() {
return returnQty;
}
public void setReturnQty(Long returnQty) {
this.returnQty = returnQty;
}
@Override
public String getRemark() {
return remark;
}
@Override
public void setRemark(String remark) {
this.remark = remark;
}
public String getDeptNo() {
return deptNo;
}
public void setDeptNo(String deptNo) {
this.deptNo = deptNo;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getStockName() {
return stockName;
}
public void setStockName(String stockName) {
this.stockName = stockName;
}
public String getOutputClass() {
return outputClass;
}
public void setOutputClass(String outputClass) {
this.outputClass = outputClass;
}
public String getItemClass() {
return itemClass;
}
public void setItemClass(String itemClass) {
this.itemClass = itemClass;
}
@Override
public String toString() {
return "WarehousingOutHeadWithList{" +
"warehousingOutNo='" + warehousingOutNo + '\'' +
", workOrderNo='" + workOrderNo + '\'' +
", buyOrderNo='" + buyOrderNo + '\'' +
", warehousingOutDate=" + warehousingOutDate +
", itemNo='" + itemNo + '\'' +
", itemCode='" + itemCode + '\'' +
", itemName='" + itemName + '\'' +
", itemSpecification='" + itemSpecification + '\'' +
", unit='" + unit + '\'' +
", planQty=" + planQty +
", realQty=" + realQty +
", returnQty=" + returnQty +
", remark='" + remark + '\'' +
", deptNo='" + deptNo + '\'' +
", deptName='" + deptName + '\'' +
", stockName='" + stockName + '\'' +
", outputClass='" + outputClass + '\'' +
", itemClass='" + itemClass + '\'' +
'}';
}
}

72
ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/WarehouseMapper.java

@ -1,72 +0,0 @@
package com.ruoyi.stock.mapper;
import com.ruoyi.stock.domain.Warehouse;
import java.util.List;
/**
* 库存Mapper接口
*
* @author ruoyi
* @date 2021-12-02
*/
public interface WarehouseMapper
{
/**
* 查询库存
*
* @param id 库存ID
* @return 库存
*/
public Warehouse selectWarehouseById(Long id);
/**
* 查询库存列表
*
* @param warehouse 库存
* @return 库存集合
*/
public List<Warehouse> selectWarehouseList(Warehouse warehouse);
/**
* 新增库存
*
* @param warehouse 库存
* @return 结果
*/
public int insertWarehouse(Warehouse warehouse);
/**
* 修改库存
*
* @param warehouse 库存
* @return 结果
*/
public int updateWarehouse(Warehouse warehouse);
/**
* 删除库存
*
* @param id 库存ID
* @return 结果
*/
public int deleteWarehouseById(Long id);
/**
* 批量删除库存
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseByIds(String[] ids);
public int addQty(Warehouse warehouse);
public int minusQty(Warehouse warehouse);
public Warehouse selectByCode(Warehouse warehouse);
public List<Warehouse> selectSlowMovingItemByPut(Warehouse warehouse);
public List<Warehouse> selectSlowMovingItemByOut(Warehouse warehouse);
}

17
ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/WarehousingOutHeadWithListMapper.java

@ -1,17 +0,0 @@
package com.ruoyi.stock.mapper;
import com.ruoyi.stock.domain.WarehousingOutHeadWithList;
import java.util.List;
/**
* @author pyy
* @date Created in 2021/12/16 10:31
* @description
* @modified By
* @version: $
*/
public interface WarehousingOutHeadWithListMapper {
public List<WarehousingOutHeadWithList> selectWarehousingOutHeadWithList(WarehousingOutHeadWithList warehousingOutHeadWithList);
}

70
ruoyi-admin/src/main/java/com/ruoyi/stock/service/IWarehouseService.java

@ -1,70 +0,0 @@
package com.ruoyi.stock.service;
import com.ruoyi.stock.domain.Warehouse;
import java.util.List;
/**
* 库存Service接口
*
* @author ruoyi
* @date 2021-12-02
*/
public interface IWarehouseService
{
/**
* 查询库存
*
* @param id 库存ID
* @return 库存
*/
public Warehouse selectWarehouseById(Long id);
/**
* 查询库存列表
*
* @param warehouse 库存
* @return 库存集合
*/
public List<Warehouse> selectWarehouseList(Warehouse warehouse);
/**
* 新增库存
*
* @param warehouse 库存
* @return 结果
*/
public int insertWarehouse(Warehouse warehouse);
/**
* 修改库存
*
* @param warehouse 库存
* @return 结果
*/
public int updateWarehouse(Warehouse warehouse);
/**
* 批量删除库存
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseByIds(String ids);
/**
* 删除库存信息
*
* @param id 库存ID
* @return 结果
*/
public int deleteWarehouseById(Long id);
public int warehouseMinus(Warehouse warehouse);
public int warehouseAdd(Warehouse warehouse);
public Warehouse selectByCode(Warehouse warehouse);
public List<Warehouse> selectSlowMovingItemList(Warehouse warehouse,String slowMovingType);
}

119
ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/WarehouseServiceImpl.java

@ -1,119 +0,0 @@
package com.ruoyi.stock.service.impl;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.stock.domain.Warehouse;
import com.ruoyi.stock.mapper.WarehouseMapper;
import com.ruoyi.stock.service.IWarehouseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 库存Service业务层处理
*
* @author ruoyi
* @date 2021-12-02
*/
@Service
public class WarehouseServiceImpl implements IWarehouseService
{
@Autowired
private WarehouseMapper warehouseMapper;
/**
* 查询库存
*
* @param id 库存ID
* @return 库存
*/
@Override
public Warehouse selectWarehouseById(Long id)
{
return warehouseMapper.selectWarehouseById(id);
}
/**
* 查询库存列表
*
* @param warehouse 库存
* @return 库存
*/
@Override
public List<Warehouse> selectWarehouseList(Warehouse warehouse)
{
return warehouseMapper.selectWarehouseList(warehouse);
}
/**
* 新增库存
*
* @param warehouse 库存
* @return 结果
*/
@Override
public int insertWarehouse(Warehouse warehouse)
{
return warehouseMapper.insertWarehouse(warehouse);
}
/**
* 修改库存
*
* @param warehouse 库存
* @return 结果
*/
@Override
public int updateWarehouse(Warehouse warehouse)
{
return warehouseMapper.updateWarehouse(warehouse);
}
/**
* 删除库存对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWarehouseByIds(String ids)
{
return warehouseMapper.deleteWarehouseByIds(Convert.toStrArray(ids));
}
/**
* 删除库存信息
*
* @param id 库存ID
* @return 结果
*/
@Override
public int deleteWarehouseById(Long id)
{
return warehouseMapper.deleteWarehouseById(id);
}
@Override
public int warehouseMinus(Warehouse warehouse) {
return 0;
}
@Override
public int warehouseAdd(Warehouse warehouse) {
return 0;
}
@Override
public Warehouse selectByCode(Warehouse warehouse) {
return warehouseMapper.selectByCode(warehouse);
}
@Override
public List<Warehouse> selectSlowMovingItemList(Warehouse warehouse, String slowMovingType) {
if ("入库".equals(slowMovingType)){
return warehouseMapper.selectSlowMovingItemByPut(warehouse);
}else {
return warehouseMapper.selectSlowMovingItemByOut(warehouse);
}
}
}

85
ruoyi-admin/src/main/resources/mapper/rfMsg/VnaRawDataMapper.xml

@ -1,85 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.rfMsg.mapper.VnaRawDataMapper">
<resultMap type="VnaRawData" id="VnaRawDataResult">
<result property="id" column="id" />
<result property="date" column="Date" />
<result property="serialNumber" column="Serial_Number" />
<result property="operator" column="Operator" />
<result property="status" column="Status" />
<result property="port" column="Port" />
<result property="frequency" column="Frequency" />
<result property="value" column="Value" />
</resultMap>
<sql id="selectVnaRawDataVo">
select id, Date, Serial_Number, Operator, Status, Port, Frequency, Value from vna_raw_data
</sql>
<select id="selectVnaRawDataList" parameterType="VnaRawData" resultMap="VnaRawDataResult">
<include refid="selectVnaRawDataVo"/>
<where>
<if test="params.beginDate != null and params.beginDate != '' and params.endDate != null and params.endDate != ''"> and Date between #{params.beginDate} and #{params.endDate}</if>
<if test="serialNumber != null and serialNumber != ''"> and Serial_Number like concat('%', #{serialNumber}, '%')</if>
<if test="operator != null and operator != ''"> and Operator like concat('%', #{operator}, '%')</if>
<if test="status != null "> and Status = #{status}</if>
<if test="port != null and port != ''"> and Port = #{port}</if>
</where>
</select>
<select id="selectVnaRawDataById" parameterType="Long" resultMap="VnaRawDataResult">
<include refid="selectVnaRawDataVo"/>
where id = #{id}
</select>
<insert id="insertVnaRawData" parameterType="VnaRawData" useGeneratedKeys="true" keyProperty="id">
insert into vna_raw_data
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="date != null and date != ''">Date,</if>
<if test="serialNumber != null and serialNumber != ''">Serial_Number,</if>
<if test="operator != null">Operator,</if>
<if test="status != null">Status,</if>
<if test="port != null and port != ''">Port,</if>
<if test="frequency != null">Frequency,</if>
<if test="value != null">Value,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="date != null and date != ''">#{date},</if>
<if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
<if test="operator != null">#{operator},</if>
<if test="status != null">#{status},</if>
<if test="port != null and port != ''">#{port},</if>
<if test="frequency != null">#{frequency},</if>
<if test="value != null">#{value},</if>
</trim>
</insert>
<update id="updateVnaRawData" parameterType="VnaRawData">
update vna_raw_data
<trim prefix="SET" suffixOverrides=",">
<if test="date != null and date != ''">Date = #{date},</if>
<if test="serialNumber != null and serialNumber != ''">Serial_Number = #{serialNumber},</if>
<if test="operator != null">Operator = #{operator},</if>
<if test="status != null">Status = #{status},</if>
<if test="port != null and port != ''">Port = #{port},</if>
<if test="frequency != null">Frequency = #{frequency},</if>
<if test="value != null">Value = #{value},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteVnaRawDataById" parameterType="Long">
delete from vna_raw_data where id = #{id}
</delete>
<delete id="deleteVnaRawDataByIds" parameterType="String">
delete from vna_raw_data where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

38
ruoyi-admin/src/main/resources/mapper/stock/CheckHeadWithListMapper.xml

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.stock.mapper.CheckHeadMapper">
<select id="selectCheckHeadWithList" resultType="com.ruoyi.stock.domain.CheckHeadWithList" parameterType="com.ruoyi.stock.domain.CheckHeadWithList">
SELECT
check_head.checkId as checkId,
check_head.stockName as stockName,
check_head.checkDate as checkDate,
check_list.itemCode as itemCode,
check_list.itemName as itemName,
check_list.itemSpecification as itemSpecification,
check_list.unit as unit,
check_list.batchNumber as batchNumber,
check_list.checkQty as checkQty,
check_list.isUpdate as isUpdate
FROM
check_list
LEFT JOIN check_head ON check_head.checkId = check_list.checkId
<where>
<if test="checkId != null and checkId != ''"> and checkId like concat('%', #{checkId}, '%')</if>
<if test="stockName != null and stockName != ''"> and stockName like concat('%', #{stockName}, '%')</if>
<if test="itemCode != null and itemCode != ''"> and itemCode like concat('%', #{itemCode}, '%')</if>
<if test="itemName != null and itemName != ''"> and itemName like concat('%', #{itemName}, '%')</if>
<if test="itemSpecification != null and itemSpecification != ''"> and itemSpecification like concat('%', #{itemSpecification}, '%')</if>
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
<if test="batchNumber != null and batchNumber != ''"> and batchNumber like concat('%', #{batchNumber}, '%')</if>
<if test="checkQty != null and checkQty != ''"> and checkQty = #{checkQty}</if>
<if test="isUpdate != null and isUpdate != ''"> and isUpdate = #{isUpdate}</if>
<if test="params.beginCheckDate != null and params.beginCheckDate !=''"> and checkDate >= #{params.beginCheckDate}</if>
<if test="params.endCheckDate != null and params.endCheckDate != ''">and #{params.endCheckDate} >= checkDate</if>
</where>
</select>
</mapper>

166
ruoyi-admin/src/main/resources/mapper/stock/WarehouseMapper.xml

@ -1,166 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.stock.mapper.WarehouseMapper">
<resultMap type="Warehouse" id="WarehouseResult">
<result property="id" column="id"/>
<result property="wlCode" column="wlCode"/>
<result property="itemName" column="itemName"/>
<result property="itemStandard" column="itemStandard"/>
<result property="machineNo" column="machineNo"/>
<result property="stockDw" column="stockDw"/>
<result property="qty" column="qty"/>
<result property="warehouseName" column="warehouseName"/>
<result property="warehouseNo" column="warehouseNo"/>
<result property="depositPosition" column="depositPosition"/>
<result property="inClass" column="inClass"/>
<result property="spare1" column="spare1"/>
<result property="spare2" column="spare2"/>
<result property="spare3" column="spare3"/>
<result property="spare4" column="spare4"/>
<result property="spare5" column="spare5"/>
<result property="spare6" column="spare6"/>
<result property="wlType" column="wlType"/>
<result property="batchNumber" column="batchNumber"/>
</resultMap>
<sql id="selectWarehouseVo">
select id, wlCode, itemName, itemStandard, machineNo, stockDw, qty, warehouseName, warehouseNo, depositPosition, inClass, spare1, spare2, spare3, spare4, spare5, spare6, wlType, batchNumber from warehouse
</sql>
<select id="selectWarehouseList" parameterType="Warehouse" resultMap="WarehouseResult">
<include refid="selectWarehouseVo"/>
<where>
<if test="wlCode != null and wlCode != ''">and wlCode like concat('%', #{wlCode}, '%')</if>
<if test="itemName != null and itemName != ''">and itemName like concat('%', #{itemName}, '%')</if>
<if test="itemStandard != null and itemStandard != ''">and itemStandard like concat('%', #{itemStandard},
'%')
</if>
<if test="machineNo != null and machineNo != ''">and machineNo like concat('%', #{machineNo}, '%')</if>
<if test="stockDw != null and stockDw != ''">and stockDw like concat('%', #{stockDw}, '%')</if>
<if test="qty != null ">and qty = #{qty}</if>
<if test="warehouseName != null and warehouseName != ''">and warehouseName = #{warehouseName}</if>
<if test="warehouseNo != null and warehouseNo != ''">and warehouseNo = #{warehouseNo}</if>
<if test="depositPosition != null and depositPosition != ''">and depositPosition = #{depositPosition}</if>
<if test="inClass != null and inClass != ''">and inClass = #{inClass}</if>
<if test="spare1 != null and spare1 != ''">and spare1 = #{spare1}</if>
<if test="spare2 != null and spare2 != ''">and spare2 = #{spare2}</if>
<if test="spare3 != null and spare3 != ''">and spare3 = #{spare3}</if>
<if test="spare4 != null and spare4 != ''">and spare4 = #{spare4}</if>
<if test="spare5 != null and spare5 != ''">and spare5 = #{spare5}</if>
<if test="spare6 != null and spare6 != ''">and spare6 = #{spare6}</if>
<if test="wlType != null and wlType != ''">and wlType = #{wlType}</if>
<if test="batchNumber != null and batchNumber != ''">and batchNumber = #{batchNumber}</if>
</where>
</select>
<select id="selectWarehouseById" parameterType="Long" resultMap="WarehouseResult">
<include refid="selectWarehouseVo"/>
where id = #{id}
</select>
<insert id="insertWarehouse" parameterType="Warehouse" useGeneratedKeys="true" keyProperty="id">
insert into warehouse
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="wlCode != null">wlCode,</if>
<if test="itemName != null">itemName,</if>
<if test="itemStandard != null">itemStandard,</if>
<if test="machineNo != null">machineNo,</if>
<if test="stockDw != null">stockDw,</if>
<if test="qty != null">qty,</if>
<if test="warehouseName != null">warehouseName,</if>
<if test="warehouseNo != null">warehouseNo,</if>
<if test="depositPosition != null">depositPosition,</if>
<if test="inClass != null">inClass,</if>
<if test="spare1 != null">spare1,</if>
<if test="spare2 != null">spare2,</if>
<if test="spare3 != null">spare3,</if>
<if test="spare4 != null">spare4,</if>
<if test="spare5 != null">spare5,</if>
<if test="spare6 != null">spare6,</if>
<if test="wlType != null">wlType,</if>
<if test="batchNumber != null">batchNumber,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="wlCode != null">#{wlCode},</if>
<if test="itemName != null">#{itemName},</if>
<if test="itemStandard != null">#{itemStandard},</if>
<if test="machineNo != null">#{machineNo},</if>
<if test="stockDw != null">#{stockDw},</if>
<if test="qty != null">#{qty},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="warehouseNo != null">#{warehouseNo},</if>
<if test="depositPosition != null">#{depositPosition},</if>
<if test="inClass != null">#{inClass},</if>
<if test="spare1 != null">now(),</if>
<if test="spare2 != null">now(),</if>
<if test="spare3 != null">#{spare3},</if>
<if test="spare4 != null">#{spare4},</if>
<if test="spare5 != null">#{spare5},</if>
<if test="spare6 != null">#{spare6},</if>
<if test="wlType != null">#{wlType},</if>
<if test="batchNumber != null">#{batchNumber},</if>
</trim>
</insert>
<update id="updateWarehouse" parameterType="Warehouse">
update warehouse
<trim prefix="SET" suffixOverrides=",">
<if test="wlCode != null">wlCode = #{wlCode},</if>
<if test="itemName != null">itemName = #{itemName},</if>
<if test="itemStandard != null">itemStandard = #{itemStandard},</if>
<if test="machineNo != null">machineNo = #{machineNo},</if>
<if test="stockDw != null">stockDw = #{stockDw},</if>
<if test="qty != null">qty = #{qty},</if>
<if test="warehouseName != null">warehouseName = #{warehouseName},</if>
<if test="warehouseNo != null">warehouseNo = #{warehouseNo},</if>
<if test="depositPosition != null">depositPosition = #{depositPosition},</if>
<if test="inClass != null">inClass = #{inClass},</if>
<if test="spare1 != null">spare1 = #{spare1},</if>
<if test="spare2 != null">spare2 = #{spare2},</if>
<if test="spare3 != null">spare3 = #{spare3},</if>
<if test="spare4 != null">spare4 = #{spare4},</if>
<if test="spare5 != null">spare5 = #{spare5},</if>
<if test="spare6 != null">spare6 = #{spare6},</if>
<if test="wlType != null">wlType = #{wlType},</if>
<if test="batchNumber != null">batchNumber = #{batchNumber},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWarehouseById" parameterType="Long">
delete from warehouse where id = #{id}
</delete>
<delete id="deleteWarehouseByIds" parameterType="String">
delete from warehouse where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<update id="addQty" parameterType="Warehouse">
update warehouse set qty=qty+#{qty},spare1=now() where wlCode=#{wlCode}
</update>
<update id="minusQty" parameterType="Warehouse">
update warehouse set qty=qty-#{qty},spare2=now() where wlCode=#{wlCode}
</update>
<select id="selectByCode" parameterType="Warehouse" resultMap="WarehouseResult">
select * from warehouse where wlCode=#{wlCode}
</select>
<select id="selectSlowMovingItemByPut" parameterType="Warehouse" resultMap="WarehouseResult">
select * from warehouse where to_days(now()) - to_days(spare1) > 30
<if test="wlType != null and wlType != ''"> and wlType = #{wlType}</if>
</select>
<select id="selectSlowMovingItemByOut" parameterType="Warehouse" resultMap="WarehouseResult">
select * from warehouse where to_days(now()) - to_days(spare2) > 30
<if test="wlType != null and wlType != ''"> and wlType = #{wlType}</if>
</select>
</mapper>

54
ruoyi-admin/src/main/resources/mapper/stock/WarehousingOutHeadWithListMapper.xml

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.stock.mapper.WarehousingOutHeadWithListMapper">
<select id="selectWarehousingOutHeadWithList" resultType="com.ruoyi.stock.domain.WarehousingOutHeadWithList" parameterType="com.ruoyi.stock.domain.WarehousingOutHeadWithList">
SELECT
warehousing_out_head.warehousingOutNo as warehousingOutNo,
warehousing_out_head.workOrderNo as workOrderNo,
warehousing_out_list.buyOrderNo as buyOrderNo,
warehousing_out_head.warehousingOutDate as warehousingOutDate,
warehousing_out_list.itemNo as itemNo,
warehousing_out_list.itemCode as itemCode,
warehousing_out_list.itemName as itemName,
warehousing_out_list.itemSpecification as itemSpecification,
warehousing_out_list.unit as unit,
warehousing_out_list.planQty as planQty,
warehousing_out_list.realQty as realQty,
warehousing_out_list.returnQty as returnQty,
warehousing_out_list.remark as remark,
warehousing_out_head.deptNo as deptNo,
warehousing_out_head.deptName as deptName,
warehousing_out_head.stockName as stockName,
warehousing_out_head.outputClass as outputClass,
warehousing_out_head.itemClass as itemClass
FROM
warehousing_out_list
LEFT JOIN warehousing_out_head ON warehousing_out_list.warehousingOutNo = warehousing_out_head.warehousingOutNo
<where>
<if test="warehousingOutNo != null and warehousingOutNo != ''"> and warehousingOutNo like concat('%', #{warehousingOutNo}, '%')</if>
<if test="workOrderNo != null and workOrderNo != ''"> and workOrderNo like concat('%', #{workOrderNo}, '%')</if>
<if test="buyOrderNo != null and buyOrderNo != ''"> and buyOrderNo like concat('%', #{buyOrderNo}, '%')</if>
<if test="itemNo != null and itemNo != ''"> and itemNo like concat('%', #{itemNo}, '%')</if>
<if test="itemCode != null and itemCode != ''"> and itemCode like concat('%', #{itemCode}, '%')</if>
<if test="itemName != null and itemName != ''"> and itemName like concat('%', #{itemName}, '%')</if>
<if test="stockName != null and stockName != ''"> and stcokName like concat('%', #{stockName}, '%')</if>
<if test="itemSpecification != null and itemSpecification != ''"> and itemSpecification = #{itemSpecification}</if>
<if test="params.beginWarehousingOutDate != null and params.beginWarehousingOutDate !=''"> and warehousingOutDate >= #{params.beginWarehousingOutDate}</if>
<if test="params.endWarehousingOutDate != null and params.endWarehousingOutDate != ''">and #{params.endWarehousingOutDate} >= warehousingOutDate</if>
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
<if test="returnQty != null and returnQty != ''"> and returnQty = #{returnQty}</if>
<if test="planQty != null and planQty != ''"> and planQty = #{planQty}</if>
<if test="realQty != null and realQty != ''"> and realQty = #{realQty}</if>
<if test="remark != null and remark != ''"> and remark = #{remark}</if>
<if test="deptNo != null and deptNo != ''"> and deptNo like deptNo('%', #{deptNo}, '%')</if>
<if test="deptName != null and deptName != ''"> and deptName like concat('%', #{deptName}, '%')</if>
<if test="outputClass != null and outputClass != ''"> and outputClass = #{outputClass}</if>
<if test="itemClass != null and itemClass != ''"> and itemClass = #{itemClass}</if>
</where>
</select>
</mapper>

69
ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/add.html

@ -1,69 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增rf测试历史结果')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-vnaRawData-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="date" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">序列号:</label>
<div class="col-sm-8">
<input name="serialNumber" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">操作人:</label>
<div class="col-sm-8">
<input name="operator" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否通过,0为NG,1为PASS:</label>
<div class="col-sm-8">
<div class="radio-box" th:each="dict : ${@dict.getType('vna_raw_data_status')}">
<input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:checked="${dict.default}" required>
<label th:for="${'status_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">端口号,例:PORT1:</label>
<div class="col-sm-8">
<input name="port" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "rfMsg/vnaRawData"
$("#form-vnaRawData-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-vnaRawData-add').serialize());
}
}
$("input[name='date']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

70
ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/edit.html

@ -1,70 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改rf测试历史结果')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-vnaRawData-edit" th:object="${vnaRawData}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="date" th:value="${#dates.format(vnaRawData.date, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">序列号:</label>
<div class="col-sm-8">
<input name="serialNumber" th:field="*{serialNumber}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">操作人:</label>
<div class="col-sm-8">
<input name="operator" th:field="*{operator}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否通过,0为NG,1为PASS:</label>
<div class="col-sm-8">
<div class="radio-box" th:each="dict : ${@dict.getType('vna_raw_data_status')}">
<input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:field="*{status}" required>
<label th:for="${'status_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">端口号,例:PORT1:</label>
<div class="col-sm-8">
<input name="port" th:field="*{port}" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "rfMsg/vnaRawData";
$("#form-vnaRawData-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-vnaRawData-edit').serialize());
}
}
$("input[name='date']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

219
ruoyi-admin/src/main/resources/templates/rfMsg/vnaRawData/vnaRawData.html

@ -1,219 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('rf测试历史结果列表')" />
<script src="https://cdn.jsdelivr.net/npm/echarts@5.4.2/dist/echarts.min.js"></script>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li class="select-time">
<label>时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginDate]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endDate]"/>
</li>
<li>
<label>序列号:</label>
<input type="text" name="serialNumber"/>
</li>
<li>
<label>操作人:</label>
<input type="text" name="operator"/>
</li>
<li>
<label>是否通过,0为NG,1为PASS:</label>
<select name="status" th:with="type=${@dict.getType('vna_raw_data_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>端口号,例:PORT1:</label>
<input type="text" name="port"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<!-- <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="rfMsg:vnaRawData:add">-->
<!-- <i class="fa fa-plus"></i> 添加-->
<!-- </a>-->
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="rfMsg:vnaRawData:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="rfMsg:vnaRawData:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="rfMsg:vnaRawData:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('rfMsg:vnaRawData:edit')}]];
var removeFlag = [[${@permission.hasPermi('rfMsg:vnaRawData:remove')}]];
var statusDatas = [[${@dict.getType('vna_raw_data_status')}]];
var prefix = ctx + "rfMsg/vnaRawData";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "rf测试历史结果",
detailView: true,
columns: [
// {
// checkbox: true
// },
{
field: 'id',
title: 'id',
visible: false
},
{
field: 'date',
title: '时间'
},
{
field: 'serialNumber',
title: '序列号'
},
{
field: 'operator',
title: '操作人'
},
{
field: 'status',
title: '是否通过,0为NG,1为PASS',
formatter: function(value, row, index) {
return $.table.selectDictLabel(statusDatas, value);
}
},
{
field: 'port',
title: '端口号,例:PORT1'
}],
// {
// title: '操作',
// align: 'center',
// formatter: function(value, row, index) {
// var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
// return actions.join('');
// }
// }
onExpandRow: function (index, row, $detail) {
initSubTable(index, row, $detail);
},
};
$.table.init(options);
});
function initSubTable(index, row, $detail) {
var parentid = row.id;
var cur_table = $detail.html('<table id="table_' + parentid + '">' +
'<tbody id="tbody_' + parentid +'"></tbody>' +
'</table>').find('table');
getData(parentid)
$(cur_table).bootstrapTable({
// data: confirm_income_list_sun,
pageSize: 10,
detailView: false, //是否显示父子表
singleSelect: true,
contentType: "application/x-www-form-urlencoded"
});
}
function getData(id) {
$.ajax({
url: prefix + '/getDataById/'+id,
type: 'post',
success: function (res) {
// console.log(id)
// console.log(res)
// console.log(res[0])
// console.log(res[1])
var listKey = res[0]
var listValue = res[1]
var tableThead = "";
// for (var i = 0; i < listKey.length; i++) {
// tableThead = tableThead + "<th>" + listKey[i]
// + "</th>";
// }
//将动态生成的table添加的事先隐藏的div中.
// $("#thead_"+id).html(tableThead);
var tableTbody = "<tr>";
for (var i = 0; i < listKey.length; i++) {
tableTbody += "<td>" + listKey[i] + "</td>";
}
tableTbody += "</tr><tr>";
for (var i = 0; i < listValue.length; i++) {
tableTbody += "<td>" + listValue[i] + "</td>";
}
tableTbody += "</tr>";
// for (var j = 0; j < listValue.length; j++) {
// tableTbody = tableTbody + "<tr><td>" + listValue[j]
// + "</td></tr>";
// }
//将动态生成的table添加的事先隐藏的div中.
var chartsInfo ="";
chartsInfo+="<tr><td colspan='"+listValue.length+"'>" +
"<div id='charts"+id+"' style='height: 55vh;width: 90vw'></div>" +
"" +
"</td></tr>"
tableTbody+=chartsInfo
$("#tbody_"+id).html(tableTbody);
initEcharts(listKey,listValue,id)
}
})
}
function initEcharts(listKey ,listValue,id){
var chartDom = document.getElementById('charts'+id);
var myChart = echarts.init(chartDom);
var option;
option = {
xAxis: {
type: 'category',
data: listKey
},
yAxis: {
type: 'value'
},
series: [
{
data: listValue,
type: 'line',
smooth: true
}
]
};
option && myChart.setOption(option);
}
</script>
</body>
</html>

136
ruoyi-admin/src/main/resources/templates/stock/warehouse/add.html

@ -1,136 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增库存')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehouse-add">
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="wlCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="itemName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格:</label>
<div class="col-sm-8">
<input name="itemStandard" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="machineNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="stockDw" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量:</label>
<div class="col-sm-8">
<input name="qty" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库号:</label>
<div class="col-sm-8">
<input name="warehouseNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">存放位置:</label>
<div class="col-sm-8">
<input name="depositPosition" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<input name="inClass" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare1" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare2" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare3" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare4" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare5" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare6" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料种类:</label>
<div class="col-sm-8">
<select name="wlType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批号:</label>
<div class="col-sm-8">
<input name="batchNumber" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "stock/warehouse"
$("#form-warehouse-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-warehouse-add').serialize());
}
}
</script>
</body>
</html>

137
ruoyi-admin/src/main/resources/templates/stock/warehouse/edit.html

@ -1,137 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改库存')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehouse-edit" th:object="${warehouse}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="wlCode" th:field="*{wlCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="itemName" th:field="*{itemName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格:</label>
<div class="col-sm-8">
<input name="itemStandard" th:field="*{itemStandard}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="machineNo" th:field="*{machineNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="stockDw" th:field="*{stockDw}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量:</label>
<div class="col-sm-8">
<input name="qty" th:field="*{qty}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库号:</label>
<div class="col-sm-8">
<input name="warehouseNo" th:field="*{warehouseNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">存放位置:</label>
<div class="col-sm-8">
<input name="depositPosition" th:field="*{depositPosition}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<input name="inClass" th:field="*{inClass}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare1" th:field="*{spare1}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare2" th:field="*{spare2}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare3" th:field="*{spare3}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare4" th:field="*{spare4}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare5" th:field="*{spare5}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input name="spare6" th:field="*{spare6}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料种类:</label>
<div class="col-sm-8">
<select name="wlType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批号:</label>
<div class="col-sm-8">
<input name="batchNumber" th:field="*{batchNumber}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "stock/warehouse";
$("#form-warehouse-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-warehouse-edit').serialize());
}
}
</script>
</body>
</html>

190
ruoyi-admin/src/main/resources/templates/stock/warehouse/slowMovingItem.html

@ -1,190 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('呆滞料统计')"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>物料类别:</label>
<select name="wlType"
th:with="type=${@dict.getType('ck_meterialt_type')}" class="form-control m-b">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>呆滞类型:</label>
<select name="slowMovingType" class="form-control m-b">
<option value="入库">入库</option>
<option value="出库">出库</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="" shiro:hasPermission="stock:warehouse:add" disabled="true">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="" shiro:hasPermission="stock:warehouse:edit"
disabled="true">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="" shiro:hasPermission="stock:warehouse:remove"
disabled="true">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="stock:warehouse:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:src="@{/ajax/libs/select2/select2.js}"></script>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('stock:warehouse:edit')}]];
var removeFlag = [[${@permission.hasPermi('stock:warehouse:remove')}]];
var warehousingTypeDatas = [[${@dict.getType('dock_warehousing_purchase_type')}]];
var prefix = ctx + "stock/warehouse";
$(function () {
var options = {
url: prefix + "/getSlowMovingItemList",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "呆滞料",
columns: [{
checkbox: false
},
{
field: 'id',
title: '编号',
visible: false
},
{
field: 'wlCode',
title: '物料代码'
},
{
field: 'itemName',
title: '物料名称'
},
{
field: 'itemStandard',
title: '规格'
},
{
field: 'machineNo',
title: '机种'
},
{
field: 'stockDw',
title: '单位'
},
{
field: 'qty',
title: '数量'
},
{
field: 'warehouseName',
title: '仓库名称'
},
{
field: 'warehouseNo',
title: '仓库号'
},
{
field: 'depositPosition',
title: '存放位置',
visible: false
},
{
field: 'inClass',
title: '物料类别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(warehousingTypeDatas, value);
},
visible: false
},
{
field: 'spare1',
title: '最后入库日期',
},
{
field: 'spare2',
title: '最后出库日期',
},
{
field: 'spare3',
title: '',
visible: false
},
{
field: 'spare4',
title: '',
visible: false
},
{
field: 'spare5',
title: '',
visible: false
},
{
field: 'spare6',
title: '',
visible: false
},
{
field: 'wlType',
title: '物料种类',
},
{
field: 'batchNumber',
title: '批号',
visible: false
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="" disabled><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="" disabled><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
function reset(){
$("select[name='wlType']").val("").select2();
$("select[name='slowMovingType']").val("出库").select2();
$.form.reset();
}
</script>
</body>
</html>

288
ruoyi-admin/src/main/resources/templates/stock/warehouse/warehouse.html

@ -1,288 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('库存列表')"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>物料代码:</label>
<input type="text" name="wlCode"/>
</li>
<li>
<label>物料名称:</label>
<input type="text" name="itemName"/>
</li>
<!-- <li>-->
<!-- <label>规格:</label>-->
<!-- <input type="text" name="itemStandard"/>-->
<!-- </li>-->
<li>
<label>机种:</label>
<input type="text" name="machineNo"/>
</li>
<!-- <li>-->
<!-- <label>单位:</label>-->
<!-- <input type="text" name="stockDw"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>数量:</label>-->
<!-- <input type="text" name="qty"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>仓库名称:</label>-->
<!-- <input type="text" name="warehouseName"/>-->
<!-- </li>-->
<li>
<label>仓库名称:</label>
<select name="warehouseName" class="form-control m-b">
<option value="">所有</option>
<!-- <option value="-1">代码生成请选择字典属性</option>-->
</select>
</li>
<!-- <li>-->
<!-- <label>仓库号:</label>-->
<!-- <input type="text" name="warehouseNo"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>存放位置:</label>-->
<!-- <input type="text" name="depositPosition"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>物料类别:</label>-->
<!-- <input type="text" name="inClass"/>-->
<!-- </li>-->
<li>
<label>物料类别:</label>
<select name="inClass"
th:with="type=${@dict.getType('sys_wl_class')}" class="form-control m-b">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare1"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare2"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare3"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare4"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare5"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>:</label>-->
<!-- <input type="text" name="spare6"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>物料种类:</label>-->
<!-- <select name="wlType">-->
<!-- <option value="">所有</option>-->
<!-- <option value="-1">代码生成请选择字典属性</option>-->
<!-- </select>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>批号:</label>-->
<!-- <input type="text" name="batchNumber"/>-->
<!-- </li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="" shiro:hasPermission="stock:warehouse:add" disabled="true">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="" shiro:hasPermission="stock:warehouse:edit"
disabled="true">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="" shiro:hasPermission="stock:warehouse:remove"
disabled="true">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="stock:warehouse:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:src="@{/ajax/libs/select2/select2.js}"></script>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('stock:warehouse:edit')}]];
var removeFlag = [[${@permission.hasPermi('stock:warehouse:remove')}]];
var warehousingTypeDatas = [[${@dict.getType('dock_warehousing_purchase_type')}]];
var prefix = ctx + "stock/warehouse";
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "库存",
columns: [{
checkbox: true
},
{
field: 'id',
title: '编号',
visible: false
},
{
field: 'wlCode',
title: '物料代码'
},
{
field: 'itemName',
title: '物料名称'
},
{
field: 'itemStandard',
title: '规格'
},
{
field: 'machineNo',
title: '机种'
},
{
field: 'stockDw',
title: '单位'
},
{
field: 'qty',
title: '数量'
},
{
field: 'warehouseName',
title: '仓库名称'
},
{
field: 'warehouseNo',
title: '仓库号'
},
{
field: 'depositPosition',
title: '存放位置',
visible: false
},
{
field: 'inClass',
title: '物料类别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(warehousingTypeDatas, value);
}
},
{
field: 'spare1',
title: '',
visible: false
},
{
field: 'spare2',
title: '',
visible: false
},
{
field: 'spare3',
title: '',
visible: false
},
{
field: 'spare4',
title: '',
visible: false
},
{
field: 'spare5',
title: '',
visible: false
},
{
field: 'spare6',
title: '',
visible: false
},
{
field: 'wlType',
title: '物料种类',
visible: false
},
{
field: 'batchNumber',
title: '批号',
visible: false
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="" disabled><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="" disabled><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
//获取仓库名
$.ajax({
url: ctx + "stock/stockInfo/all",
type: "post",
dataType: "json",
success: function (resp) {
if (resp.code === 0) {
let data = resp.data;
//alert(data);
for (let i in data) {
$("select[name='warehouseName']").append("<option value='" + data[i].stockname + "'>" + data[i].stockname + "</option>");
}
} else {
$.modal.msgError(resp.msg);
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
})
function reset(){
$("select[name='warehouseName']").val("").select2();
$("select[name='inClass']").val("").select2();
$.form.reset()
}
</script>
</body>
</html>
Loading…
Cancel
Save