总包有量可以点击查看编码设备

This commit is contained in:
liang.chao 2024-11-20 17:02:14 +08:00
parent 4fcd53e0e9
commit 1053dd7952
6 changed files with 250 additions and 2 deletions

View File

@ -40,6 +40,9 @@ public class MaType extends BaseEntity {
/** 规格型号 */
@ApiModelProperty(value = "机具编码")
private String maCode;
/** 规格型号 */
@ApiModelProperty(value = "机具ID")
private Integer maId;
/** 工程名称 */
@ApiModelProperty(value = "工程名称")
private String proName;

View File

@ -19,7 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @description 综合查询--机具仓储状态查询
@ -81,4 +84,29 @@ public class StorageStatusController extends BaseController {
return AjaxResult.success(getDataTable(list));
}
/**
* 获取总保有量编码设备详情
*/
@ApiOperation(value = "综合查询--获取总保有量编码设备详情")
@GetMapping("/getAllRecords")
public AjaxResult getAllRecords(StorageStatus bean) {
List<Integer> maIds = new ArrayList<>();
// 获取在库maid
List<Integer> zkids = storageStatusMapper.getzk(bean);
// 获取在用maid
List<Integer> zyids = storageStatusMapper.getzy(bean);
// 获取在修maid
List<Integer> zxids = storageStatusMapper.getzx(bean);
// 获取修饰后待入库maid
List<Integer> xshdrkids = storageStatusMapper.getxshdrk(bean);
maIds.addAll(zkids);
maIds.addAll(zyids);
maIds.addAll(zxids);
maIds.addAll(xshdrkids);
Set<Integer> ids = new HashSet<>(maIds);
startPage();
List<MaType> list = storageStatusMapper.getAllRecords(ids);
return AjaxResult.success(getDataTable(list));
}
}

View File

@ -4,8 +4,10 @@ import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.material.domain.ProjUsingRecord;
import com.bonus.sgzb.material.domain.StorageStatus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* @description 综合查询--机具仓储状态查询
@ -25,4 +27,14 @@ public interface StorageStatusMapper {
List<MaType> getMaCodeList(StorageStatus bean);
List<MaType> getUserRecords(StorageStatus bean);
List<Integer> getzk(StorageStatus bean);
List<Integer> getzy(StorageStatus bean);
List<Integer> getzx(StorageStatus bean);
List<Integer> getxshdrk(StorageStatus bean);
List<MaType> getAllRecords(@Param("ids") Set<Integer> ids);
}

View File

@ -203,4 +203,96 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND sai.end_time IS NULL
AND sai.back_id IS NULL
</select>
<select id="getzk" resultType="java.lang.Integer">
SELECT
mm.ma_id
FROM
ma_machine mm
WHERE mm.ma_status = 15 and mm.type_id = #{typeId}
</select>
<select id="getzy" resultType="java.lang.Integer">
SELECT
mm.ma_id
FROM
(
SELECT
mt.type_id,
mt2.type_name AS typeName,
lod.ma_id as maId,
mt.type_name AS typeModelName,
SUM(
IFNULL( lod.out_num, 0 )) AS outNum
FROM
lease_out_details lod
LEFT JOIN ma_type mt ON mt.type_id = lod.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
GROUP BY
mt.type_id
) AS subquery1
LEFT JOIN (
SELECT
mt.type_id,
mt2.type_name AS typeName,
mt.type_name AS typeModelName,
SUM(
IFNULL( bcd.back_num, 0 )) backNum
FROM
back_check_details bcd
LEFT JOIN ma_type mt ON mt.type_id = bcd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
LEFT JOIN ma_machine mm ON mm.ma_id = bcd.ma_id
GROUP BY
mt.type_id
) AS subquery2 ON subquery1.type_id = subquery2.type_id
LEFT JOIN ma_type mt on mt.type_id = subquery1.type_id
LEFT JOIN ma_machine mm on mm.ma_id = subquery1.maId
WHERE mt.manage_type = 0
and mt.del_flag = 0
and IFNULL( subquery1.outNum, 0 ) - IFNULL( subquery2.backNum, 0 ) > 0
and subquery1.type_id = #{typeId}
</select>
<select id="getzx" resultType="java.lang.Integer">
SELECT
rad.ma_id
FROM
repair_apply_details rad
LEFT JOIN ma_type mt ON mt.type_id = rad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
IFNULL( rad.repair_num, 0 ) - IFNULL( rad.repaired_num, 0 ) - IFNULL( rad.scrap_num, 0 ) > 0
and mt.manage_type = 0 and mt.del_flag = 0 and rad.type_id = #{typeId}
GROUP BY
rad.ma_id
</select>
<select id="getxshdrk" resultType="java.lang.Integer">
SELECT
rid.ma_id
FROM
repair_input_details rid
LEFT JOIN ma_type mt ON mt.type_id = rid.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
IFNULL( rid.repair_num, 0 ) - IFNULL( rid.input_num, 0 ) > 0
AND mt.manage_type = 0
AND mt.del_flag = 0
AND rid.type_id = #{typeId}
GROUP BY
rid.ma_id
</select>
<select id="getAllRecords" resultType="com.bonus.sgzb.base.api.domain.MaType">
SELECT
mm.ma_code,
mt2.type_name typeName,
mt.type_name modelName
FROM
ma_machine mm
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
mm.ma_id IN
<foreach collection="ids" item="maId" open="(" separator="," close=")">
#{maId}
</foreach>
</select>
</mapper>

View File

@ -62,6 +62,14 @@ export function getUserRecords(query) {
params: query
})
}
// 获取 总保有量编码设备
export function getAllRecords(query) {
return request({
url: '/material/storageStatus/getAllRecords',
method: 'get',
params: query
})
}

View File

@ -216,7 +216,22 @@
align="center"
prop="allNum"
:show-overflow-tooltip="true"
/>
>
<template slot-scope="scope">
<!-- manageType '编码' 使用可点击的 span -->
<span
v-if="scope.row.manageType === '编码'"
class="clickText"
@click="openAllRecords(scope.row)"
>
{{ scope.row.allNum }}
</span>
<!-- 否则直接显示数字 -->
<span v-else>
{{ scope.row.allNum }}
</span>
</template>
</el-table-column>
<!-- <el-table-column label="总保有量资产(万元)" align="center" prop="proName" :show-overflow-tooltip="true" /> -->
<el-table-column
label="管理模式"
@ -314,6 +329,80 @@
/>
</el-dialog>
<!-- 总保有量编码设备弹窗-->
<el-dialog
:title="title"
:visible.sync="openAllRecord"
width="1200px"
append-to-body
>
<el-form
:model="dialogQuery"
ref="dialogQuery"
size="small"
:inline="true"
label-width="80px"
>
<el-form-item label="机具编码" prop="maCode">
<el-input
v-model="dialogQuery.maCode"
placeholder="请输入机具编码"
clearable
:maxlength="30"
style="width: 240px"
@keyup.enter.native="handleDialogQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleDialogQuery"
>查询</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="AllRecords">
<el-table-column
label="序号"
align="center"
width="80"
type="index"
:index="indexContinuation(dialogQuery.pageNum, dialogQuery.pageSize)"
>
</el-table-column>
<el-table-column
label="类型名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="modelName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="编码"
align="center"
prop="maCode"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="dialogTotal > 0"
:total="dialogTotal"
:page.sync="dialogQuery.pageNum"
:limit.sync="dialogQuery.pageSize"
@pagination="getAllRecords"
/>
</el-dialog>
<!-- 在用编码设备弹窗-->
<el-dialog
:title="title"
@ -403,7 +492,7 @@ import {
exportList,
getUnitData,getUseMaCode,
getProData, getTypeKeeper,
getUserRecords,
getUserRecords,getAllRecords,
} from '@/api/stquery/deviceStatusRecord'
import {getRecords} from "@/api/claimAndRefund/secondStore";
@ -449,6 +538,7 @@ export default {
//
openRecord: false,
openUseRecord: false,
openAllRecord: false,
dialogQuery: {
pageNum: 1,
pageSize: 10,
@ -458,6 +548,7 @@ export default {
unitList: [], //
dialogList: [], //
UserRecords: [], //
AllRecords: [], //
keepIdList: [], //id
proList: [], //
dialogTotal: 0,
@ -586,6 +677,13 @@ export default {
this.openUseRecord = true
this.dialogQuery.typeId= row.typeId
this.getUserRecords()
},
//
openAllRecords(row) {
this.openAllRecord = true
this.dialogQuery.maCode = ""
this.dialogQuery.typeId= row.typeId
this.getAllRecords()
},
/** 查询编码机具列表 */
getUseMaCodeList() {
@ -601,6 +699,13 @@ export default {
this.dialogTotal = response.data.total
})
},
/** 查看总保有量编码设备 */
getAllRecords() {
getAllRecords(this.dialogQuery).then((response) => {
this.AllRecords = response.data.rows
this.dialogTotal = response.data.total
})
},
//
/* mergeRow ({ row, column, rowIndex, columnIndex}) {
if (rowIndex == 0) {