Compare commits
2 Commits
d6d2814fb5
...
87afb058c5
Author | SHA1 | Date | |
---|---|---|---|
87afb058c5 | |||
7c592c0825 |
@ -102,6 +102,11 @@ public class IpcSparePartsInbound extends BaseEntity implements DeptId {
|
|||||||
*/
|
*/
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库单类型
|
||||||
|
*/
|
||||||
|
private String inboundType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所属部门
|
* 所属部门
|
||||||
*/
|
*/
|
||||||
@ -122,6 +127,13 @@ public class IpcSparePartsInbound extends BaseEntity implements DeptId {
|
|||||||
this.ipcSparePartsInboundDetailList = ipcSparePartsInboundDetailList;
|
this.ipcSparePartsInboundDetailList = ipcSparePartsInboundDetailList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getInboundType() {
|
||||||
|
return inboundType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInboundType(String inboundType) {
|
||||||
|
this.inboundType = inboundType;
|
||||||
|
}
|
||||||
|
|
||||||
public void setId(String id) {
|
public void setId(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
@ -112,6 +112,12 @@ public class IpcSparePartsOutbound extends BaseEntity implements DeptId {
|
|||||||
*/
|
*/
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库单类型
|
||||||
|
*/
|
||||||
|
private String outboundType;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所属部门
|
* 所属部门
|
||||||
*/
|
*/
|
||||||
@ -132,6 +138,14 @@ public class IpcSparePartsOutbound extends BaseEntity implements DeptId {
|
|||||||
this.ipcSparePartsOutboundDetailList = ipcSparePartsOutboundDetailList;
|
this.ipcSparePartsOutboundDetailList = ipcSparePartsOutboundDetailList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getOutboundType() {
|
||||||
|
return outboundType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutboundType(String outboundType) {
|
||||||
|
this.outboundType = outboundType;
|
||||||
|
}
|
||||||
|
|
||||||
public void setId(String id) {
|
public void setId(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
<result property="dept" column="dept"/>
|
<result property="dept" column="dept"/>
|
||||||
<result property="submitTime" column="submit_time"/>
|
<result property="submitTime" column="submit_time"/>
|
||||||
<result property="auditTime" column="audit_time"/>
|
<result property="auditTime" column="audit_time"/>
|
||||||
|
<result property="inboundType" column="inbound_type"/>
|
||||||
<collection property="ipcSparePartsInboundDetailList"
|
<collection property="ipcSparePartsInboundDetailList"
|
||||||
ofType="com.inspur.spareparts.domain.IpcSparePartsInboundDetail">
|
ofType="com.inspur.spareparts.domain.IpcSparePartsInboundDetail">
|
||||||
<result property="id" column="sub_id"/>
|
<result property="id" column="sub_id"/>
|
||||||
@ -52,6 +53,7 @@
|
|||||||
i.dept_id,
|
i.dept_id,
|
||||||
i.submit_time,
|
i.submit_time,
|
||||||
i.audit_time,
|
i.audit_time,
|
||||||
|
i.inbound_type,
|
||||||
id.inbound_quantity sub_inbound_quantity,
|
id.inbound_quantity sub_inbound_quantity,
|
||||||
id.spare_parts_id sub_spare_parts_id,
|
id.spare_parts_id sub_spare_parts_id,
|
||||||
id.order_num sub_order_num,
|
id.order_num sub_order_num,
|
||||||
@ -83,7 +85,8 @@
|
|||||||
i.dept_id,
|
i.dept_id,
|
||||||
d.dept_name dept,
|
d.dept_name dept,
|
||||||
i.submit_time,
|
i.submit_time,
|
||||||
i.audit_time
|
i.audit_time,
|
||||||
|
i.inbound_type
|
||||||
FROM ipc_spare_parts_inbound i
|
FROM ipc_spare_parts_inbound i
|
||||||
LEFT JOIN sys_user o on i.operator_id = o.user_id
|
LEFT JOIN sys_user o on i.operator_id = o.user_id
|
||||||
LEFT JOIN sys_user a on i.auditor_id = a.user_id
|
LEFT JOIN sys_user a on i.auditor_id = a.user_id
|
||||||
@ -96,6 +99,7 @@
|
|||||||
<if test="auditorId != null ">and i.auditor_id = #{auditorId}</if>
|
<if test="auditorId != null ">and i.auditor_id = #{auditorId}</if>
|
||||||
<if test="status != null ">and i.status = #{status}</if>
|
<if test="status != null ">and i.status = #{status}</if>
|
||||||
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
||||||
|
<if test="inboundType != null ">and i.inbound_type = #{inboundType}</if>
|
||||||
<if test="params != null and params.starttime != null">and i.inbound_time >= #{params.starttime}</if>
|
<if test="params != null and params.starttime != null">and i.inbound_time >= #{params.starttime}</if>
|
||||||
<if test="params != null and params.endtime != null">and i.inbound_time <= #{params.endtime}</if>
|
<if test="params != null and params.endtime != null">and i.inbound_time <= #{params.endtime}</if>
|
||||||
</where>
|
</where>
|
||||||
@ -120,6 +124,7 @@
|
|||||||
<if test="auditorId != null ">and i.auditor_id = #{auditorId}</if>
|
<if test="auditorId != null ">and i.auditor_id = #{auditorId}</if>
|
||||||
<if test="status != null ">and i.status = #{status}</if>
|
<if test="status != null ">and i.status = #{status}</if>
|
||||||
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
||||||
|
<if test="inboundType != null ">and i.inbound_type = #{inboundType}</if>
|
||||||
<if test="params != null and params.starttime != null">and i.inbound_time >= #{params.starttime}</if>
|
<if test="params != null and params.starttime != null">and i.inbound_time >= #{params.starttime}</if>
|
||||||
<if test="params != null and params.endtime != null">and i.inbound_time <= #{params.endtime}</if>
|
<if test="params != null and params.endtime != null">and i.inbound_time <= #{params.endtime}</if>
|
||||||
</where>
|
</where>
|
||||||
@ -148,6 +153,7 @@
|
|||||||
<if test="deptId != null">dept_id,</if>
|
<if test="deptId != null">dept_id,</if>
|
||||||
<if test="submitTime != null">submit_time,</if>
|
<if test="submitTime != null">submit_time,</if>
|
||||||
<if test="auditTime != null">audit_time,</if>
|
<if test="auditTime != null">audit_time,</if>
|
||||||
|
<if test="inboundType != null">inbound_type,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">#{id},</if>
|
<if test="id != null">#{id},</if>
|
||||||
@ -163,6 +169,7 @@
|
|||||||
<if test="deptId != null">#{deptId},</if>
|
<if test="deptId != null">#{deptId},</if>
|
||||||
<if test="submitTime != null">#{submitTime},</if>
|
<if test="submitTime != null">#{submitTime},</if>
|
||||||
<if test="auditTime != null">#{auditTime},</if>
|
<if test="auditTime != null">#{auditTime},</if>
|
||||||
|
<if test="inboundType != null">#{inboundType},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@ -180,6 +187,7 @@
|
|||||||
<if test="status != null">status = #{status},</if>
|
<if test="status != null">status = #{status},</if>
|
||||||
<if test="deptId != null">dept_id = #{deptId},</if>
|
<if test="deptId != null">dept_id = #{deptId},</if>
|
||||||
<if test="submitTime != null">submit_time = #{submitTime},</if>
|
<if test="submitTime != null">submit_time = #{submitTime},</if>
|
||||||
|
<if test="inboundType != null">inbound_type = #{inboundType},</if>
|
||||||
audit_time = #{auditTime},
|
audit_time = #{auditTime},
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
|
@ -161,6 +161,9 @@
|
|||||||
|
|
||||||
<select id="selectInconsistentList" parameterType="String" resultMap="IpcSparePartsInventoryDetailResult">
|
<select id="selectInconsistentList" parameterType="String" resultMap="IpcSparePartsInventoryDetailResult">
|
||||||
<include refid="selectIpcSparePartsInventoryDetailVo"/>
|
<include refid="selectIpcSparePartsInventoryDetailVo"/>
|
||||||
where d.inventory_id = #{inventoryId} and d.variance_quantity != 0
|
where d.inventory_id = #{inventoryId} and d.variance_quantity > 0
|
||||||
|
union
|
||||||
|
<include refid="selectIpcSparePartsInventoryDetailVo"/>
|
||||||
|
where d.inventory_id = #{inventoryId} and d.variance_quantity < 0
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
<result property="submitTime" column="submit_time"/>
|
<result property="submitTime" column="submit_time"/>
|
||||||
<result property="auditTime" column="audit_time"/>
|
<result property="auditTime" column="audit_time"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
|
<result property="outboundType" column="outbound_type"/>
|
||||||
<collection property="ipcSparePartsOutboundDetailList"
|
<collection property="ipcSparePartsOutboundDetailList"
|
||||||
ofType="com.inspur.spareparts.domain.IpcSparePartsOutboundDetail">
|
ofType="com.inspur.spareparts.domain.IpcSparePartsOutboundDetail">
|
||||||
<result property="id" column="sub_id"/>
|
<result property="id" column="sub_id"/>
|
||||||
@ -59,7 +60,8 @@
|
|||||||
s.parts_num sub_parts_num,
|
s.parts_num sub_parts_num,
|
||||||
s.parts_name sub_parts_name,
|
s.parts_name sub_parts_name,
|
||||||
s.parts_specifications sub_parts_specifications,
|
s.parts_specifications sub_parts_specifications,
|
||||||
st.quantity sub_stock_quantity
|
st.quantity sub_stock_quantity,
|
||||||
|
o.outbound_type
|
||||||
from ipc_spare_parts_outbound o
|
from ipc_spare_parts_outbound o
|
||||||
LEFT JOIN ipc_spare_parts_outbound_detail od ON o.id = od.spare_parts_outbound_id
|
LEFT JOIN ipc_spare_parts_outbound_detail od ON o.id = od.spare_parts_outbound_id
|
||||||
LEFT JOIN ipc_spare_parts_info s ON od.spare_parts_id = s.id
|
LEFT JOIN ipc_spare_parts_info s ON od.spare_parts_id = s.id
|
||||||
@ -87,7 +89,8 @@
|
|||||||
o.result,
|
o.result,
|
||||||
o.submit_time,
|
o.submit_time,
|
||||||
o.audit_time,
|
o.audit_time,
|
||||||
o.status
|
o.status,
|
||||||
|
o.outbound_type
|
||||||
from ipc_spare_parts_outbound o
|
from ipc_spare_parts_outbound o
|
||||||
LEFT JOIN sys_user op on o.operator_id = op.user_id
|
LEFT JOIN sys_user op on o.operator_id = op.user_id
|
||||||
LEFT JOIN sys_user a on o.auditor_id = a.user_id
|
LEFT JOIN sys_user a on o.auditor_id = a.user_id
|
||||||
@ -107,6 +110,7 @@
|
|||||||
<if test="auditorId != null ">and o.auditor_id = #{auditorId}</if>
|
<if test="auditorId != null ">and o.auditor_id = #{auditorId}</if>
|
||||||
<if test="status != null ">and o.status = #{status}</if>
|
<if test="status != null ">and o.status = #{status}</if>
|
||||||
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
||||||
|
<if test="outboundType != null ">and o.outbound_type = #{outboundType}</if>
|
||||||
<if test="params != null and params.starttime != null">and o.outbound_time >= #{params.starttime}</if>
|
<if test="params != null and params.starttime != null">and o.outbound_time >= #{params.starttime}</if>
|
||||||
<if test="params != null and params.endtime != null">and o.outbound_time <= #{params.endtime}</if>
|
<if test="params != null and params.endtime != null">and o.outbound_time <= #{params.endtime}</if>
|
||||||
</where>
|
</where>
|
||||||
@ -138,6 +142,7 @@
|
|||||||
<if test="auditorId != null ">and o.auditor_id = #{auditorId}</if>
|
<if test="auditorId != null ">and o.auditor_id = #{auditorId}</if>
|
||||||
<if test="status != null ">and o.status = #{status}</if>
|
<if test="status != null ">and o.status = #{status}</if>
|
||||||
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
<if test="deptId != null ">and (d.dept_id = #{deptId} or find_in_set( #{deptId} , d.ancestors ))</if>
|
||||||
|
<if test="outboundType != null ">and o.outbound_type = #{outboundType}</if>
|
||||||
<if test="params != null and params.starttime != null">and o.outbound_time >= #{params.starttime}</if>
|
<if test="params != null and params.starttime != null">and o.outbound_time >= #{params.starttime}</if>
|
||||||
<if test="params != null and params.endtime != null">and o.outbound_time <= #{params.endtime}</if>
|
<if test="params != null and params.endtime != null">and o.outbound_time <= #{params.endtime}</if>
|
||||||
</where>
|
</where>
|
||||||
@ -168,6 +173,7 @@
|
|||||||
<if test="submitTime != null">submit_time,</if>
|
<if test="submitTime != null">submit_time,</if>
|
||||||
<if test="auditTime != null">audit_time,</if>
|
<if test="auditTime != null">audit_time,</if>
|
||||||
<if test="status != null">status,</if>
|
<if test="status != null">status,</if>
|
||||||
|
<if test="outboundType != null">outbound_type,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">#{id},</if>
|
<if test="id != null">#{id},</if>
|
||||||
@ -184,6 +190,7 @@
|
|||||||
<if test="submitTime != null">#{submitTime},</if>
|
<if test="submitTime != null">#{submitTime},</if>
|
||||||
<if test="auditTime != null">#{auditTime},</if>
|
<if test="auditTime != null">#{auditTime},</if>
|
||||||
<if test="status != null">#{status},</if>
|
<if test="status != null">#{status},</if>
|
||||||
|
<if test="outboundType != null">#{outboundType},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@ -203,6 +210,7 @@
|
|||||||
<if test="submitTime != null">submit_time = #{submitTime},</if>
|
<if test="submitTime != null">submit_time = #{submitTime},</if>
|
||||||
audit_time = #{auditTime},
|
audit_time = #{auditTime},
|
||||||
<if test="status != null">status = #{status},</if>
|
<if test="status != null">status = #{status},</if>
|
||||||
|
<if test="outboundType != null">outbound_type = #{outboundType},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
@ -66,6 +66,23 @@
|
|||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="入库单类型"
|
||||||
|
prop="inboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.inboundType"
|
||||||
|
placeholder="请选择入库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.inbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="状态"
|
label="状态"
|
||||||
prop="status"
|
prop="status"
|
||||||
@ -178,6 +195,19 @@
|
|||||||
prop="auditor"
|
prop="auditor"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="入库单类型"
|
||||||
|
align="center"
|
||||||
|
prop="inboundType"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.inbound_type"
|
||||||
|
:value="scope.row.inboundType"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
@ -308,7 +338,32 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="入库单类型"
|
||||||
|
prop="inboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-if="!isView"
|
||||||
|
v-model="form.inboundType"
|
||||||
|
placeholder="请选择入库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.inbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<span v-else><dict-tag
|
||||||
|
:options="dict.type.inbound_type"
|
||||||
|
:value="form.inboundType"
|
||||||
|
/></span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -754,7 +809,12 @@ import Treeselect from "@riophae/vue-treeselect";
|
|||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
export default {
|
export default {
|
||||||
name: "Inbound",
|
name: "Inbound",
|
||||||
dicts: ["in_out_bound_status", "spare_parts_type", "spare_parts_status"],
|
dicts: [
|
||||||
|
"in_out_bound_status",
|
||||||
|
"spare_parts_type",
|
||||||
|
"spare_parts_status",
|
||||||
|
"inbound_type",
|
||||||
|
],
|
||||||
components: { Treeselect },
|
components: { Treeselect },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -833,6 +893,9 @@ export default {
|
|||||||
inboundTime: [
|
inboundTime: [
|
||||||
{ required: true, message: "请选择入库日期", trigger: "blur" },
|
{ required: true, message: "请选择入库日期", trigger: "blur" },
|
||||||
],
|
],
|
||||||
|
inboundType: [
|
||||||
|
{ required: true, message: "请选择入库单类型", trigger: "blur" },
|
||||||
|
],
|
||||||
sparePartsId: [
|
sparePartsId: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -66,6 +66,23 @@
|
|||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="入库单类型"
|
||||||
|
prop="inboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.inboundType"
|
||||||
|
placeholder="请选择入库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.inbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="状态"
|
label="状态"
|
||||||
prop="status"
|
prop="status"
|
||||||
@ -155,6 +172,19 @@
|
|||||||
prop="auditor"
|
prop="auditor"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="入库单类型"
|
||||||
|
align="center"
|
||||||
|
prop="inboundType"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.inbound_type"
|
||||||
|
:value="scope.row.inboundType"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
@ -252,7 +282,19 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="入库单类型"
|
||||||
|
prop="inboundType"
|
||||||
|
>
|
||||||
|
<span><dict-tag
|
||||||
|
:options="dict.type.inbound_type"
|
||||||
|
:value="form.inboundType"
|
||||||
|
/></span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -420,7 +462,7 @@ import { deptTreeSelect } from "@/api/system/user";
|
|||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
export default {
|
export default {
|
||||||
name: "InboundAudit",
|
name: "InboundAudit",
|
||||||
dicts: ["in_out_bound_audit_status"],
|
dicts: ["in_out_bound_audit_status", "inbound_type"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
|
@ -409,6 +409,18 @@
|
|||||||
prop="varianceQuantity"
|
prop="varianceQuantity"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="盘盈盘亏"
|
||||||
|
align="center"
|
||||||
|
prop="varianceQuantity"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.inventory_result_type"
|
||||||
|
:value="scope.row.varianceQuantity>0?1:0"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -449,7 +461,12 @@ import Treeselect from "@riophae/vue-treeselect";
|
|||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
export default {
|
export default {
|
||||||
name: "Inventory",
|
name: "Inventory",
|
||||||
dicts: ["inventory_status", "spare_parts_type", "spare_parts_status"],
|
dicts: [
|
||||||
|
"inventory_status",
|
||||||
|
"spare_parts_type",
|
||||||
|
"spare_parts_status",
|
||||||
|
"inventory_result_type",
|
||||||
|
],
|
||||||
components: { Treeselect },
|
components: { Treeselect },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -426,6 +426,18 @@
|
|||||||
prop="varianceQuantity"
|
prop="varianceQuantity"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="盘盈盘亏"
|
||||||
|
align="center"
|
||||||
|
prop="varianceQuantity"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.inventory_result_type"
|
||||||
|
:value="scope.row.varianceQuantity>0?1:0"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -434,6 +446,11 @@
|
|||||||
slot="footer"
|
slot="footer"
|
||||||
class="dialog-footer"
|
class="dialog-footer"
|
||||||
>
|
>
|
||||||
|
<el-button
|
||||||
|
v-if="!isView && form.status == 1"
|
||||||
|
type="primary"
|
||||||
|
@click="bookSmoothing"
|
||||||
|
>账面抹平</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="!isView"
|
v-if="!isView"
|
||||||
type="primary"
|
type="primary"
|
||||||
@ -459,12 +476,19 @@ import {
|
|||||||
updateInventory,
|
updateInventory,
|
||||||
getInconformityInventory,
|
getInconformityInventory,
|
||||||
} from "@/api/spareparts/inventory";
|
} from "@/api/spareparts/inventory";
|
||||||
|
import { addInbound } from "@/api/spareparts/inbound";
|
||||||
|
import { addOutbound } from "@/api/spareparts/outbound";
|
||||||
import { getToken } from "@/utils/auth";
|
import { getToken } from "@/utils/auth";
|
||||||
import { deptTreeSelect } from "@/api/system/user";
|
import { deptTreeSelect } from "@/api/system/user";
|
||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
export default {
|
export default {
|
||||||
name: "Inventory",
|
name: "Inventory",
|
||||||
dicts: ["inventory_status", "spare_parts_type", "spare_parts_status"],
|
dicts: [
|
||||||
|
"inventory_status",
|
||||||
|
"spare_parts_type",
|
||||||
|
"spare_parts_status",
|
||||||
|
"inventory_result_type",
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
@ -765,6 +789,84 @@ export default {
|
|||||||
`inventoryData_${new Date().getTime()}.xlsx`
|
`inventoryData_${new Date().getTime()}.xlsx`
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
/** 账面抹平 */
|
||||||
|
bookSmoothing() {
|
||||||
|
const list = this.inconformityInventoryList;
|
||||||
|
const today = this.getTodayDate();
|
||||||
|
this.$modal
|
||||||
|
.confirm("是否确认账面抹平?")
|
||||||
|
.then(function () {
|
||||||
|
// 获取盘盈数据
|
||||||
|
const inboundData = list.filter((item) => item.varianceQuantity > 0);
|
||||||
|
// 生成盘盈入库单
|
||||||
|
if (inboundData.length > 0) {
|
||||||
|
const inboundForm = {
|
||||||
|
inboundType: "0",
|
||||||
|
invoiceNumber: "无",
|
||||||
|
transportNumber: "无",
|
||||||
|
status: 1,
|
||||||
|
inboundTime: today,
|
||||||
|
ipcSparePartsInboundDetailList: [],
|
||||||
|
};
|
||||||
|
for (let i = 0; i < inboundData.length; i++) {
|
||||||
|
inboundForm.ipcSparePartsInboundDetailList.push({
|
||||||
|
inboundQuantity: Math.abs(inboundData[i].varianceQuantity),
|
||||||
|
index: i + 1,
|
||||||
|
orderNum: i,
|
||||||
|
partsName: inboundData[i].partsName,
|
||||||
|
partsNum: inboundData[i].partsNum,
|
||||||
|
partsSpecifications: inboundData[i].partsSpecifications,
|
||||||
|
sparePartsId: inboundData[i].sparePartsId,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
addInbound(inboundForm);
|
||||||
|
}
|
||||||
|
// 获取盘亏数据
|
||||||
|
const outboundData = list.filter((item) => item.varianceQuantity < 0);
|
||||||
|
// 生成盘亏出库单
|
||||||
|
if (outboundData.length > 0) {
|
||||||
|
const outboundForm = {
|
||||||
|
outboundReason: "盘亏出库",
|
||||||
|
outboundTime: today,
|
||||||
|
outboundType: "0",
|
||||||
|
recipient: "盘亏出库",
|
||||||
|
recipientDept: "盘亏出库",
|
||||||
|
status: 1,
|
||||||
|
ipcSparePartsOutboundDetailList: [],
|
||||||
|
};
|
||||||
|
for (let i = 0; i < outboundData.length; i++) {
|
||||||
|
outboundForm.ipcSparePartsOutboundDetailList.push({
|
||||||
|
outboundQuantity: Math.abs(outboundData[i].varianceQuantity),
|
||||||
|
index: i + 1,
|
||||||
|
orderNum: i,
|
||||||
|
partsName: outboundData[i].partsName,
|
||||||
|
partsNum: outboundData[i].partsNum,
|
||||||
|
partsSpecifications: outboundData[i].partsSpecifications,
|
||||||
|
sparePartsId: outboundData[i].sparePartsId,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
addOutbound(outboundForm);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$modal.msgSuccess("已生成盘盈入库单和盘亏出库单");
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
/** 获取当前日期 */
|
||||||
|
getTodayDate() {
|
||||||
|
const today = new Date();
|
||||||
|
let year = today.getFullYear();
|
||||||
|
let month = today.getMonth() + 1; // 注意月份是从0开始的,所以需要加1
|
||||||
|
let day = today.getDate();
|
||||||
|
|
||||||
|
// 为单个数字添加前导零
|
||||||
|
year = ("0000" + year).slice(-4);
|
||||||
|
month = ("0" + month).slice(-2);
|
||||||
|
day = ("0" + day).slice(-2);
|
||||||
|
|
||||||
|
return year + "-" + month + "-" + day;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -86,6 +86,23 @@
|
|||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="出库单类型"
|
||||||
|
prop="outboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.outboundType"
|
||||||
|
placeholder="请选择出库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.outbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="状态"
|
label="状态"
|
||||||
prop="status"
|
prop="status"
|
||||||
@ -198,6 +215,19 @@
|
|||||||
prop="auditor"
|
prop="auditor"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="出库单类型"
|
||||||
|
align="center"
|
||||||
|
prop="outboundType"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.outbound_type"
|
||||||
|
:value="scope.row.outboundType"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
@ -343,6 +373,32 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="出库单类型"
|
||||||
|
prop="outboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-if="!isView"
|
||||||
|
v-model="form.outboundType"
|
||||||
|
placeholder="请选择出库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.outbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<span v-else><dict-tag
|
||||||
|
:options="dict.type.outbound_type"
|
||||||
|
:value="form.outboundType"
|
||||||
|
/></span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -794,7 +850,12 @@ import Treeselect from "@riophae/vue-treeselect";
|
|||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
export default {
|
export default {
|
||||||
name: "Outbound",
|
name: "Outbound",
|
||||||
dicts: ["in_out_bound_status", "spare_parts_type", "spare_parts_status"],
|
dicts: [
|
||||||
|
"in_out_bound_status",
|
||||||
|
"spare_parts_type",
|
||||||
|
"spare_parts_status",
|
||||||
|
"outbound_type",
|
||||||
|
],
|
||||||
components: { Treeselect },
|
components: { Treeselect },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -872,6 +933,9 @@ export default {
|
|||||||
outboundTime: [
|
outboundTime: [
|
||||||
{ required: true, message: "请选择出库日期", trigger: "blur" },
|
{ required: true, message: "请选择出库日期", trigger: "blur" },
|
||||||
],
|
],
|
||||||
|
outboundType: [
|
||||||
|
{ required: true, message: "请选择出库单类型", trigger: "blur" },
|
||||||
|
],
|
||||||
sparePartsId: [
|
sparePartsId: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -86,6 +86,23 @@
|
|||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="出库单类型"
|
||||||
|
prop="outboundType"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.outboundType"
|
||||||
|
placeholder="请选择出库单类型"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.outbound_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="状态"
|
label="状态"
|
||||||
prop="status"
|
prop="status"
|
||||||
@ -176,6 +193,19 @@
|
|||||||
prop="auditor"
|
prop="auditor"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="出库单类型"
|
||||||
|
align="center"
|
||||||
|
prop="outboundType"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag
|
||||||
|
:options="dict.type.outbound_type"
|
||||||
|
:value="scope.row.outboundType"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="状态"
|
label="状态"
|
||||||
align="center"
|
align="center"
|
||||||
@ -272,6 +302,19 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="出库单类型"
|
||||||
|
prop="outboundType"
|
||||||
|
>
|
||||||
|
<span><dict-tag
|
||||||
|
:options="dict.type.outbound_type"
|
||||||
|
:value="form.outboundType"
|
||||||
|
/></span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -472,6 +515,7 @@ export default {
|
|||||||
"in_out_bound_audit_status",
|
"in_out_bound_audit_status",
|
||||||
"spare_parts_type",
|
"spare_parts_type",
|
||||||
"spare_parts_status",
|
"spare_parts_status",
|
||||||
|
"outbound_type",
|
||||||
],
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
Loading…
Reference in New Issue
Block a user