23 changed files with 798 additions and 1048 deletions
@ -0,0 +1,86 @@ |
|||
package org.nl.wms.st.instor.movestor.service.dao; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import cn.hutool.core.bean.copier.CopyOptions; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author: zds |
|||
* @date: 2024-09-27 |
|||
* @description: |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@TableName("st_ivt_moveinv") |
|||
public class MoveStor implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@TableId(value = "moveinv_id", type = IdType.NONE) |
|||
private String moveinv_id; |
|||
//单据编号
|
|||
private String bill_code; |
|||
//业务类型
|
|||
private String buss_type; |
|||
//单据类型
|
|||
private String bill_type; |
|||
//业务日期
|
|||
private String biz_date; |
|||
//仓库标识
|
|||
private String stor_id; |
|||
//仓库编码
|
|||
private String stor_code; |
|||
//仓库名称
|
|||
private String stor_name; |
|||
//总数量
|
|||
private Double total_qty; |
|||
//明细数
|
|||
private Integer detail_count; |
|||
//单据状态
|
|||
private String bill_status; |
|||
//备注
|
|||
private String remark; |
|||
//生成方式
|
|||
private String create_mode; |
|||
//制单人
|
|||
private String input_optid; |
|||
//制单人姓名
|
|||
private String input_optname; |
|||
//制单时间
|
|||
private String input_time; |
|||
//修改人
|
|||
private String update_optid; |
|||
//修改人姓名
|
|||
private String update_optname; |
|||
//修改时间
|
|||
private String update_time; |
|||
//确认人
|
|||
private String confirm_optid; |
|||
//确认人姓名
|
|||
private String confirm_optname; |
|||
//确认时间
|
|||
private String confirm_time; |
|||
//确认说明
|
|||
private String confirm_info; |
|||
//部门ID
|
|||
private String sysdeptid; |
|||
//公司ID
|
|||
private String syscompanyid; |
|||
//是否删除
|
|||
private String is_delete; |
|||
@TableField(exist = false) |
|||
private String is_task; |
|||
|
|||
public void copyFrom(JSONObject source){ |
|||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,95 @@ |
|||
package org.nl.wms.st.instor.movestor.service.dao; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import cn.hutool.core.bean.copier.CopyOptions; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author: zds |
|||
* @date: 2024-09-27 |
|||
* @description: |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@TableName("st_ivt_moveinvdtl") |
|||
public class MoveStorDtl implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@TableId(value = "moveinvdtl_id", type = IdType.NONE) |
|||
private String moveinvdtl_id; |
|||
//移库单标识
|
|||
private String moveinv_id; |
|||
//明细序号
|
|||
private String seq_no; |
|||
//转出库区标识
|
|||
private String turnout_sect_id; |
|||
//转出库区编码
|
|||
private String turnout_sect_code; |
|||
//转出库区名称
|
|||
private String turnout_sect_name; |
|||
//转出仓位标识
|
|||
private String turnout_struct_id; |
|||
//转出仓位编码
|
|||
private String turnout_struct_code; |
|||
//转出仓位名称
|
|||
private String turnout_struct_name; |
|||
//物料标识
|
|||
private String material_id; |
|||
//批次
|
|||
private String pcsn; |
|||
//品质类型
|
|||
private String quality_scode; |
|||
//数量计量单位标识
|
|||
private String qty_unit_id; |
|||
//数量计量单位名称
|
|||
private String qty_unit_name; |
|||
//数量
|
|||
private Double qty; |
|||
//转入库区标识
|
|||
private String turnin_sect_id; |
|||
//转入库区编码
|
|||
private String turnin_sect_code; |
|||
//转入库区名称
|
|||
private String turnin_sect_name; |
|||
//转入仓位标识
|
|||
private String turnin_struct_id; |
|||
//转入仓位编码
|
|||
private String turnin_struct_code; |
|||
//转入仓位名称
|
|||
private String turnin_struct_name; |
|||
//执行状态
|
|||
private String work_status; |
|||
//任务标识
|
|||
private String task_id; |
|||
//存储载具标识
|
|||
private String storagevehicle_id; |
|||
//存储载具编码
|
|||
private String storagevehicle_code; |
|||
//是否已下发
|
|||
private String is_issued; |
|||
//来源单据明细标识
|
|||
private String source_billdtl_id; |
|||
//来源单据类型
|
|||
private String source_bill_type; |
|||
//来源单编号
|
|||
private String source_bill_code; |
|||
//来源单表名
|
|||
private String source_bill_table; |
|||
//备注
|
|||
private String remark; |
|||
|
|||
|
|||
public void copyFrom(JSONObject source){ |
|||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,14 @@ |
|||
package org.nl.wms.st.instor.movestor.service.dao.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.nl.wms.st.instor.movestor.service.dao.MoveStor; |
|||
import org.nl.wms.st.instor.movestor.service.dao.MoveStorDtl; |
|||
|
|||
/** |
|||
* @author: zds |
|||
* @date: 2024-09-27 |
|||
* @description: |
|||
*/ |
|||
public interface MoveStorDtlMapper extends BaseMapper<MoveStorDtl> { |
|||
|
|||
} |
@ -0,0 +1,5 @@ |
|||
<?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="org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorDtlMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,19 @@ |
|||
package org.nl.wms.st.instor.movestor.service.dao.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import org.nl.wms.st.instor.movestor.service.dao.MoveStor; |
|||
import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; |
|||
|
|||
/** |
|||
* @author: zds |
|||
* @date: 2024-09-27 |
|||
* @description: |
|||
*/ |
|||
public interface MoveStorMapper extends BaseMapper<MoveStor> { |
|||
/** |
|||
* 分页查找 |
|||
* @return |
|||
*/ |
|||
IPage<MoveStor> pageQuery(IPage<MoveStor> pages, MoveStorQuery query); |
|||
} |
@ -0,0 +1,57 @@ |
|||
<?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="org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorMapper"> |
|||
<select id="pageQuery" resultType="org.nl.wms.st.instor.movestor.service.dao.MoveStor"> |
|||
SELECT |
|||
move.* |
|||
FROM |
|||
ST_IVT_MoveInv move |
|||
WHERE |
|||
1 = 1 |
|||
AND move.is_delete = '0' |
|||
AND move.moveinv_id IN ( |
|||
SELECT DISTINCT |
|||
(movedtl.moveinv_id) |
|||
FROM |
|||
st_ivt_moveinvdtl movedtl |
|||
LEFT JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id |
|||
WHERE |
|||
1 = 1 |
|||
<if test="query.material_code != null"> |
|||
and (mb.material_code like CONCAT('%', #{query.material_code}, '%') or mb.material_code like CONCAT('%', #{query.material_code}, '%')) |
|||
</if> |
|||
) |
|||
AND move.stor_id in ( |
|||
SELECT DISTINCT |
|||
userstor.stor_id |
|||
FROM |
|||
st_ivt_userstor userstor |
|||
WHERE 1=1 |
|||
<if test="query.user_id != null"> |
|||
and userstor.user_id = #{query.user_id} |
|||
</if> |
|||
) |
|||
<if test="query.bill_code != null"> |
|||
and move.bill_code like CONCAT('%', #{query.bill_code}, '%') |
|||
</if> |
|||
<if test="query.bill_type != null"> |
|||
and move.bill_type = #{query.bill_type} |
|||
</if> |
|||
<if test="query.stor_id != null"> |
|||
and move.stor_id = #{query.stor_id} |
|||
</if> |
|||
<if test="query.create_mode != null"> |
|||
and move.create_mode = #{query.create_mode} |
|||
</if> |
|||
<if test="query.bill_status != null"> |
|||
and move.bill_status = #{query.bill_status} |
|||
</if> |
|||
<if test="query.begin_time != null"> |
|||
and move.input_time >= #{query.begin_time} |
|||
</if> |
|||
<if test="query.end_time != null"> |
|||
and move.input_time >= #{query.end_time} |
|||
</if> |
|||
ORDER BY move.bill_code desc |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,35 @@ |
|||
package org.nl.wms.st.instor.movestor.service.dto; |
|||
|
|||
import com.alibaba.fastjson.JSONArray; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author: zds |
|||
* @date: 2024-09-27 |
|||
* @description: |
|||
*/ |
|||
@Data |
|||
public class MoveStorQuery implements Serializable { |
|||
//移库单号
|
|||
private String bill_code; |
|||
//所属仓库
|
|||
private String stor_id; |
|||
//物料名称、物料编码
|
|||
private String material_code; |
|||
//生成方式
|
|||
private String create_mode; |
|||
//单据状态
|
|||
private String bill_status; |
|||
//业务类型
|
|||
private String bill_type; |
|||
//创建时间
|
|||
private String begin_time; |
|||
//创建时间
|
|||
private String end_time; |
|||
//仓库权限
|
|||
private String user_id; |
|||
|
|||
|
|||
} |
File diff suppressed because it is too large
@ -1,113 +0,0 @@ |
|||
<template> |
|||
<el-dialog |
|||
title="载具明细" |
|||
append-to-body |
|||
:visible.sync="dialogVisible" |
|||
destroy-on-close |
|||
width="1000px" |
|||
@close="close" |
|||
> |
|||
<!--表格渲染--> |
|||
<el-table |
|||
ref="table2" |
|||
:data="this.bucketParam" |
|||
style="width: 100%;" |
|||
border |
|||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}" |
|||
@select="handleSelectionChange" |
|||
@select-all="onSelectAll" |
|||
> |
|||
<el-table-column prop="bucketunique" label="桶号" min-width="100" show-overflow-tooltip /> |
|||
<el-table-column prop="label" label="桶类别" /> |
|||
<el-table-column prop="material_code" label="物料编码" width="120px" /> |
|||
<el-table-column prop="material_name" label="物料名称" min-width="120" /> |
|||
<el-table-column prop="pcsn" label="批次" min-width="100" show-overflow-tooltip /> |
|||
<el-table-column prop="storage_qty" label="数量"> |
|||
<template slot-scope="scope"> |
|||
{{ fun(scope.row.storage_qty) }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="qty_unit_name" label="单位" /> |
|||
<el-table-column prop="quality_scode" :formatter="qualityFormat" label="品质类型" /> |
|||
<el-table-column prop="ivt_level" :formatter="ivtFormat" label="库存等级" /> |
|||
<el-table-column prop="is_active" :formatter="activeFormat" label="是否可用" /> |
|||
<el-table-column prop="storagevehicle_code" label="载具号" /> |
|||
<el-table-column prop="record_order" label="顺序号" /> |
|||
<el-table-column prop="bag_qty" label="袋数" /> |
|||
</el-table> |
|||
<!--分页组件--> |
|||
<pagination /> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
|
|||
import CRUD, { crud } from '@crud/crud' |
|||
import crudOperation from '@crud/CRUD.operation' |
|||
import pagination from '@crud/Pagination' |
|||
|
|||
export default { |
|||
name: 'BucketDtlDiv', |
|||
components: { crudOperation, pagination }, |
|||
mixins: [crud()], |
|||
props: { |
|||
dialogShow: { |
|||
type: Boolean, |
|||
default: false |
|||
}, |
|||
bucketParam: { |
|||
type: Array, |
|||
default: () => { return [] } |
|||
} |
|||
}, |
|||
dicts: ['MD_BUCKET_TYPE', 'bucket_status', 'ST_QUALITY_SCODE', 'ST_IVT_LEVEL', 'IS_OR_NOT'], |
|||
data() { |
|||
return { |
|||
sects: [], |
|||
classes: [], |
|||
dialogVisible: false, |
|||
checkrow: {}, |
|||
rows: [] |
|||
} |
|||
}, |
|||
watch: { |
|||
dialogShow: { |
|||
handler(newValue, oldValue) { |
|||
this.dialogVisible = newValue |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
fun(val) { |
|||
return Number(val).toFixed(3) |
|||
}, |
|||
[CRUD.HOOK.beforeRefresh]() { |
|||
return true |
|||
}, |
|||
handleSelectionChange(val, row) { |
|||
if (val.length > 1) { |
|||
this.$refs.table.clearSelection() |
|||
this.$refs.table.toggleRowSelection(val.pop()) |
|||
} else { |
|||
this.checkrow = row |
|||
} |
|||
}, |
|||
onSelectAll() { |
|||
this.$refs.table.clearSelection() |
|||
}, |
|||
close() { |
|||
this.$emit('update:dialogShow', false) |
|||
}, |
|||
qualityFormat(row, column) { |
|||
return this.dict.label.ST_QUALITY_SCODE[row.quality_scode] |
|||
}, |
|||
ivtFormat(row, column) { |
|||
return this.dict.label.ST_IVT_LEVEL[row.ivt_level] |
|||
}, |
|||
activeFormat(row, column) { |
|||
return this.dict.label.IS_OR_NOT[row.is_active] |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
Loading…
Reference in new issue