Commit f4301f1e authored by 刘帅's avatar 刘帅

1.新增入库明细

2.调整入库单字段命名
parent 0b661e8b
......@@ -43,7 +43,7 @@ public class ErpMaterialPutawayInfoController extends BaseController {
@SaCheckPermission("business:materialPutawayInfo:list")
@GetMapping("/list")
public TableDataInfo<ErpMaterialPutawayInfoVo> list(ErpMaterialPutawayInfoBo bo, PageQuery pageQuery) {
return iErpMaterialPutawayInfoService.queryPageList(bo, pageQuery);
return iErpMaterialPutawayInfoService.customQueryPageList(bo, pageQuery);
}
/**
......
......@@ -41,7 +41,7 @@ public class ErpMaterialPutaway extends BaseEntity {
/**
* 入库单号
*/
private String putawayNumber;
private String putawayCode;
/**
* 入库类型(1铺货入库 2盘盈入库)
*/
......
......@@ -46,7 +46,7 @@ public class ErpMaterialPutawayBo extends BaseEntity {
/**
* 入库单号
*/
private String putawayNumber;
private String putawayCode;
/**
* 入库类型(1铺货入库 2盘盈入库)
......
......@@ -32,6 +32,11 @@ public class ErpMaterialPutawayInfoBo extends BaseEntity {
*/
private Long putawayId;
/**
* 入库单号
*/
private String putawayCode;
/**
* 物资分类ID
*/
......
......@@ -3,6 +3,7 @@ package com.maintain.business.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.maintain.common.annotation.ExcelDictFormat;
import com.maintain.common.convert.ExcelDictConvert;
import lombok.Data;
......@@ -26,43 +27,61 @@ public class ErpMaterialPutawayInfoVo implements Serializable {
/**
* 明细主键
*/
@ExcelProperty(value = "明细主键")
private Long id;
/**
* 入库单ID
*/
@ExcelProperty(value = "入库单ID")
private Long putawayId;
/**
* 订单单号
*/
@ExcelProperty(value = "订单单号")
private String orderNumber;
/**
* 到货单号
*/
@ExcelProperty(value = "到货单号")
private String arrivalNumber;
/**
* 入库单号
*/
@ExcelProperty(value = "入库单号")
private String putawayCode;
/**
* 入库类型
*/
@ExcelProperty(value = "入库类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "putaway_type")
private String putawayType;
/**
* 物资分类ID
*/
@ExcelProperty(value = "物资分类ID")
private Long materialTypeId;
/**
* 物资分类名称
*/
@ExcelProperty(value = "物资分类名称")
private String materialTypeName;
/**
* 仓库货位ID
*/
@ExcelProperty(value = "仓库货位ID")
private Long warehouseLocationId;
/**
* 仓库货位类型
*/
@ExcelProperty(value = "仓库货位类型")
private String warehouseLocationType;
/**
* 供应商ID
*/
@ExcelProperty(value = "供应商ID")
private Long vendorId;
/**
......@@ -74,7 +93,6 @@ public class ErpMaterialPutawayInfoVo implements Serializable {
/**
* 物料ID
*/
@ExcelProperty(value = "物料ID")
private Long materialId;
/**
......@@ -104,8 +122,7 @@ public class ErpMaterialPutawayInfoVo implements Serializable {
/**
* 质保期(月)
*/
@ExcelProperty(value = "质保期", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "月=")
@ExcelProperty(value = "质保期(月)")
private Integer materialWarrantyPeriod;
/**
......@@ -141,15 +158,34 @@ public class ErpMaterialPutawayInfoVo implements Serializable {
/**
* 是否存在退货(0否 1是)
*/
@ExcelProperty(value = "是否存在退货", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "sys_is_enable")
private Integer isReturns;
/**
* 已退数量
*/
@ExcelProperty(value = "已退数量")
private BigDecimal returnedNumber;
/**
* 状态(1登记中 2已入库)
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "putaway_info_state")
private Integer state;
/**
* 创建人
*/
@ExcelProperty(value = "创建人")
private String createBy;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
@ColumnWidth(20)
private Date createTime;
}
......@@ -49,7 +49,7 @@ public class ErpMaterialPutawayVo implements Serializable {
* 入库单号
*/
@ExcelProperty(value = "入库单号")
private String putawayNumber;
private String putawayCode;
/**
* 入库类型(1采购入库 2铺货入库)
......
package com.maintain.business.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.maintain.business.domain.ErpMaterialPutawayInfo;
import com.maintain.business.domain.ErpRepairForm;
import com.maintain.business.domain.bo.ErpMaterialPutawayInfoBo;
import com.maintain.business.domain.vo.ErpMaterialPutawayInfoVo;
import com.maintain.business.domain.vo.ErpRepairFormVo;
import com.maintain.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 物料入库明细Mapper接口
......@@ -12,4 +21,18 @@ import com.maintain.common.core.mapper.BaseMapperPlus;
*/
public interface ErpMaterialPutawayInfoMapper extends BaseMapperPlus<ErpMaterialPutawayInfoMapper, ErpMaterialPutawayInfo, ErpMaterialPutawayInfoVo> {
/**
* 自定义分页查询
* @param page
* @param queryWrapper
* @return
*/
Page<ErpMaterialPutawayInfoVo> customQueryPageList(@Param("page") Page<ErpMaterialPutawayInfo> page, @Param(Constants.WRAPPER) Wrapper<ErpMaterialPutawayInfo> queryWrapper);
/**
* 自定义查询
* @param queryWrapper
*/
List<ErpMaterialPutawayInfoVo> customQueryList(@Param(Constants.WRAPPER) Wrapper<ErpMaterialPutawayInfo> queryWrapper);
}
......@@ -27,6 +27,11 @@ public interface IErpMaterialPutawayInfoService {
*/
TableDataInfo<ErpMaterialPutawayInfoVo> queryPageList(ErpMaterialPutawayInfoBo bo, PageQuery pageQuery);
/**
* 查询物料入库明细列表(自定义分页查询)
*/
TableDataInfo<ErpMaterialPutawayInfoVo> customQueryPageList(ErpMaterialPutawayInfoBo bo, PageQuery pageQuery);
/**
* 查询物料入库明细列表
*/
......
......@@ -210,7 +210,7 @@ public class ErpMaterialCheckServiceImpl implements IErpMaterialCheckService {
});
if (!putawayInfoList.isEmpty()) {
ErpMaterialPutaway putaway = new ErpMaterialPutaway();
putaway.setPutawayNumber(RedisUtils.generateNextNumber("RK"));
putaway.setPutawayCode(RedisUtils.generateNextNumber("RK"));
putaway.setPutawayType(PutawayType.TWO.getCode());
putaway.setPutawayTime(new Date());
putaway.setState(PutawayState.TWO.getCode());
......
package com.maintain.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.maintain.business.domain.ErpRepairForm;
import com.maintain.business.domain.bo.ErpRepairFormBo;
import com.maintain.business.domain.vo.ErpRepairFormVo;
import com.maintain.common.core.domain.entity.SysDept;
import com.maintain.common.helper.LoginHelper;
import com.maintain.common.utils.StringUtils;
import com.maintain.common.core.page.TableDataInfo;
import com.maintain.common.core.domain.PageQuery;
......@@ -18,6 +24,7 @@ import com.maintain.business.service.IErpMaterialPutawayInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 物料入库明细Service业务层处理
......@@ -49,15 +56,37 @@ public class ErpMaterialPutawayInfoServiceImpl implements IErpMaterialPutawayInf
return TableDataInfo.build(result);
}
/**
* 查询物料入库明细列表(自定义分页查询)
*
* @param bo
* @param pageQuery
*/
@Override
public TableDataInfo<ErpMaterialPutawayInfoVo> customQueryPageList(ErpMaterialPutawayInfoBo bo, PageQuery pageQuery) {
Page<ErpMaterialPutawayInfoVo> carVoPage = baseMapper.customQueryPageList(pageQuery.build(), this.buildCustomQueryWrapper(bo));
return TableDataInfo.build(carVoPage);
}
/**
* 查询物料入库明细列表
*/
@Override
public List<ErpMaterialPutawayInfoVo> queryList(ErpMaterialPutawayInfoBo bo) {
LambdaQueryWrapper<ErpMaterialPutawayInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
return baseMapper.customQueryList(this.buildCustomQueryWrapper(bo));
}
private QueryWrapper<ErpMaterialPutawayInfo> buildCustomQueryWrapper(ErpMaterialPutawayInfoBo bo) {
QueryWrapper<ErpMaterialPutawayInfo> query = Wrappers.query();
query.like(null != bo.getPutawayCode(),"emp.putaway_number", bo.getPutawayCode())
.like(null != bo.getVendorName(),"empi.vendor_name", bo.getVendorName())
.like(null != bo.getMaterialCode(),"empi.material_code", bo.getMaterialCode())
.like(null != bo.getMaterialName(),"empi.material_name", bo.getMaterialName());
query.orderByDesc("empi.create_time");
return query;
}
private LambdaQueryWrapper<ErpMaterialPutawayInfo> buildQueryWrapper(ErpMaterialPutawayInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ErpMaterialPutawayInfo> lqw = Wrappers.lambdaQuery();
......
......@@ -81,7 +81,7 @@ public class ErpMaterialPutawayServiceImpl implements IErpMaterialPutawayService
LambdaQueryWrapper<ErpMaterialPutaway> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getOrderNumber()), ErpMaterialPutaway::getOrderNumber, bo.getOrderNumber());
lqw.like(StringUtils.isNotBlank(bo.getArrivalNumber()), ErpMaterialPutaway::getArrivalNumber, bo.getArrivalNumber());
lqw.like(StringUtils.isNotBlank(bo.getPutawayNumber()), ErpMaterialPutaway::getPutawayNumber, bo.getPutawayNumber());
lqw.like(StringUtils.isNotBlank(bo.getPutawayCode()), ErpMaterialPutaway::getPutawayCode, bo.getPutawayCode());
lqw.eq(StringUtils.isNotBlank(bo.getPutawayType()), ErpMaterialPutaway::getPutawayType, bo.getPutawayType());
lqw.eq(bo.getPutawayTime() != null, ErpMaterialPutaway::getPutawayTime, bo.getPutawayTime());
lqw.eq(bo.getPutawayMoney() != null, ErpMaterialPutaway::getPutawayMoney, bo.getPutawayMoney());
......@@ -102,7 +102,7 @@ public class ErpMaterialPutawayServiceImpl implements IErpMaterialPutawayService
public Boolean insertByBo(ErpMaterialPutawayBo bo) {
ErpMaterialPutaway add = BeanUtil.toBean(bo, ErpMaterialPutaway.class);
validEntityBeforeSave(add);
add.setPutawayNumber(RedisUtils.generateNextNumber("RK"));
add.setPutawayCode(RedisUtils.generateNextNumber("RK"));
ErpWarehouseVo warehouseVo = warehouseMapper.selectVoById(add.getWarehouseId());
add.setWarehouseName(warehouseVo.getName());
add.setCreateDeptId(LoginHelper.getDeptId());
......
......@@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.maintain.business.mapper.ErpMaterialPutawayInfoMapper">
<resultMap type="com.maintain.business.domain.ErpMaterialPutawayInfo" id="ErpMaterialPutawayInfoResult">
<resultMap type="com.maintain.business.domain.vo.ErpMaterialPutawayInfoVo" id="ErpMaterialPutawayInfoResult">
<result property="id" column="id"/>
<result property="putawayId" column="putaway_id"/>
<result property="materialTypeId" column="material_type_id"/>
......@@ -24,15 +24,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="putawayNumber" column="putaway_number"/>
<result property="putawayPrice" column="putaway_price"/>
<result property="putawayMoney" column="putaway_money"/>
<result property="returnNumber" column="return_number"/>
<result property="returnPrice" column="return_price"/>
<result property="returnMoney" column="return_money"/>
<result property="returnedNumber" column="returned_number"/>
<result property="state" column="state"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="orderNumber" column="order_number"/>
<result property="arrivalNumber" column="arrival_number"/>
<result property="putawayCode" column="putaway_code"/>
<result property="putawayType" column="putaway_type"/>
</resultMap>
<sql id="materialPutawayInfoResultVoSql">
SELECT
empi.id, empi.vendor_id, empi.vendor_name, empi.material_id, empi.material_code, empi.material_name,
empi.material_specifications, empi.material_unit, empi.material_warranty_period, empi.reference_price,
empi.selling_price, empi.putaway_number, empi.putaway_price, empi.putaway_money, empi.is_returns, empi.returned_number,
empi.state, empi.create_by, empi.create_time, emp.order_number, emp.arrival_number, emp.putaway_code,
emp.putaway_type
FROM erp_material_putaway_info empi
LEFT JOIN erp_material_putaway emp ON empi.putaway_id = emp.id
</sql>
<select id="customQueryPageList" resultType="com.maintain.business.domain.vo.ErpMaterialPutawayInfoVo">
<include refid="materialPutawayInfoResultVoSql" />
${ew.getCustomSqlSegment}
</select>
<select id="customQueryList" resultType="com.maintain.business.domain.vo.ErpMaterialPutawayInfoVo">
<include refid="materialPutawayInfoResultVoSql" />
${ew.getCustomSqlSegment}
</select>
</mapper>
......@@ -8,13 +8,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="id" column="id"/>
<result property="orderNumber" column="order_number"/>
<result property="arrivalNumber" column="arrival_number"/>
<result property="putawayNumber" column="putaway_number"/>
<result property="putawayCode" column="putaway_code"/>
<result property="putawayType" column="putaway_type"/>
<result property="putawayTime" column="putaway_time"/>
<result property="putawayMoney" column="putaway_money"/>
<result property="returnNumber" column="return_number"/>
<result property="returnTime" column="return_time"/>
<result property="returnMoney" column="return_money"/>
<result property="warehouseId" column="warehouse_id"/>
<result property="warehouseName" column="warehouse_name"/>
<result property="vendorId" column="vendor_id"/>
......
<template>
<div class="app-container">
<el-row :gutter="20">
<!--物资类型数据-->
<el-col :span="4" :xs="24">
<div class="head-container">
<el-input
v-model="typeName"
placeholder="请输入类型名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
</div>
<div class="head-container">
<el-tree
:data="typeOptions"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
node-key="id"
default-expand-all
highlight-current
@node-click="handleNodeClick"
/>
</div>
</el-col>
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="75px">
<el-form-item label="订单单号" prop="orderNumber">
<el-input
......@@ -45,9 +17,9 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库单号" prop="putawayNumber">
<el-form-item label="入库单号" prop="putawayCode">
<el-input
v-model="queryParams.putawayNumber"
v-model="queryParams.putawayCode"
placeholder="请输入入库单号"
clearable
@keyup.enter.native="handleQuery"
......@@ -66,7 +38,6 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
......@@ -115,7 +86,7 @@
<el-table v-loading="loading" :data="materialPutawayList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="入库单号" align="center" prop="putawayNumber" width="180px"/>
<el-table-column label="入库单号" align="center" prop="putawayCode" width="180px"/>
<el-table-column label="订单单号" align="center" prop="orderNumber">
<template slot-scope="scope">
{{scope.row.orderNumber || '/'}}
......@@ -196,8 +167,6 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<!-- 添加或修改物料入库对话框 -->
......@@ -275,8 +244,8 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="form.putawayInfoList">
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" />
......@@ -348,11 +317,11 @@
</el-form>
<el-table v-loading="materialLoading" :data="materialList" ref="selectionTable" max-height="300" @selection-change="handleMaterialSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" />
<el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" width="120px" show-overflow-tooltip />
<el-table-column label="物资编码" align="center" prop="materialCode" width="110px" />
<el-table-column label="物资名称" align="center" prop="materialName" width="180px" />
<el-table-column label="物资规格" align="center" prop="materialSpecifications" />
<el-table-column label="物资单位" align="center" prop="materialUnit" />
<el-table-column label="质保期" align="center" prop="materialWarrantyPeriod" />
......@@ -375,7 +344,7 @@
<!-- 入库单详情 -->
<el-dialog title="入库单详情" :visible.sync="open2" width="70%" append-to-body>
<el-descriptions class="margin-top" title="入库信息" :column="3" border>
<el-descriptions-item label="入库单号">{{form.putawayNumber}}</el-descriptions-item>
<el-descriptions-item label="入库单号">{{form.putawayCode}}</el-descriptions-item>
<el-descriptions-item label="订单单号">{{form.orderNumber}}</el-descriptions-item>
<el-descriptions-item label="到货单号">{{form.arrivalNumber}}</el-descriptions-item>
<el-descriptions-item label="入库类型">
......@@ -390,8 +359,8 @@
</el-descriptions>
<span style="font-size: 16px; font-weight: bold; margin-top: 20px">物料信息</span>
<el-table :data="form.putawayInfoList" style="margin-top: 15px">
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" />
......@@ -468,7 +437,7 @@ export default {
pageSize: 10,
orderNumber: undefined,
arrivalNumber: undefined,
putawayNumber: undefined,
putawayCode: undefined,
putawayType: undefined,
putawayTime: undefined,
warehouseName: undefined,
......@@ -519,7 +488,7 @@ export default {
},
created() {
this.getList();
this.getTreeTree();
// this.getTreeTree();
},
watch: {
// 根据名称筛选部门树
......@@ -537,6 +506,9 @@ export default {
this.loading = false;
});
},
/**
* 物资类型弃用
*/
getTreeTree(){
typeTree().then(response => {
this.typeOptions = response.data
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="退料单号" prop="returnNumber">
<el-input
v-model="queryParams.returnNumber"
......@@ -191,8 +190,8 @@
<span style="font-weight: bold; font-size: 18px">退料明细</span>
<el-divider />
<el-table :data="form.pickingInfoList">
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" />
......@@ -226,8 +225,8 @@
<span style="font-weight: bold; font-size: 18px">退料明细</span>
<el-divider />
<el-table :data="form.pickingInfoList">
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" />
......@@ -236,9 +235,7 @@
<el-table-column label="质保期" align="center" prop="materialWarrantyPeriod" />
<el-table-column label="退料数量" align="center" prop="collectNumber" />
</el-table>
</el-dialog>
</div>
</template>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment