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