代码更新

This commit is contained in:
2022-08-30 16:47:52 +08:00
parent b757d25d6c
commit b8bf6dad65
3 changed files with 86 additions and 4 deletions

View File

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor;
import org.nl.exception.BadRequestException;
import org.nl.utils.FileUtil;
import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.sb.stat.service.DevicesparepartivtService;
import org.nl.wms.sb.stat.service.dto.DevicesparepartivtDto;
import org.nl.wql.WQL;
@@ -41,11 +42,15 @@ import javax.servlet.http.HttpServletResponse;
@RequiredArgsConstructor
@Slf4j
public class DevicesparepartivtServiceImpl implements DevicesparepartivtService {
private final ClassstandardService classstandardService;
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String material_code = MapUtil.getStr(whereJson, "material_code");
String is_all = MapUtil.getStr(whereJson, "is_all");
String material_type_id = MapUtil.getStr(whereJson, "material_type_id");
String class_idStr = MapUtil.getStr(whereJson, "class_idStr");
HashMap<String, String> map = new HashMap<>();
if (ObjectUtil.isEmpty(is_all) || StrUtil.equals(is_all, "0")) {
@@ -56,6 +61,15 @@ public class DevicesparepartivtServiceImpl implements DevicesparepartivtService
map.put("stor_id", MapUtil.getStr(whereJson,"stor_id"));
map.put("sect_id", MapUtil.getStr(whereJson,"sect_id"));
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%");
//处理物料当前节点的所有子节点
if (!StrUtil.isEmpty(material_type_id)) {
map.put("material_type_id", material_type_id);
String classIds = classstandardService.getChildIdStr(material_type_id);
map.put("classIds", classIds);
} else if (ObjectUtil.isNotEmpty(class_idStr)) {
String classIds = classstandardService.getAllChildIdStr(class_idStr);
map.put("classIds", classIds);
}
JSONObject json = WQL.getWO("EM_DEVICEIVT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.material_id DESC");
return json;
}

View File

@@ -17,6 +17,7 @@
输入.stor_id TYPEAS s_string
输入.sect_id TYPEAS s_string
输入.material_code TYPEAS s_string
输入.classIds TYPEAS f_string
[临时表]
@@ -53,11 +54,13 @@
ivt.pcsn,
sum(ivt.ivt_qty) AS ivt_qty,
MAX(ivt.qty_unit_name) AS qty_unit_name,
MAX(ivt.instorage_time) AS instorage_time
MAX(ivt.instorage_time) AS instorage_time,
class.class_name
FROM
EM_BI_DeviceSparePartIvt ivt
LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
LEFT JOIN md_pb_classstandard class ON me.material_type_id = class.class_id
WHERE 1=1
OPTION 输入.stor_id <> ""
struct.stor_id = 输入.stor_id
@@ -71,6 +74,10 @@
me.material_code like 输入.material_code)
ENDOPTION
OPTION 输入.classIds <> ""
class.class_id in 输入.classIds
ENDOPTION
group by ivt.material_id,ivt.pcsn
ENDSELECT
@@ -86,11 +93,13 @@
me.material_name,
me.material_spec,
me.material_model,
class.class_name,
ivt.*
FROM
EM_BI_DeviceSparePartIvt ivt
LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
LEFT JOIN md_pb_classstandard class ON me.material_type_id = class.class_id
WHERE 1=1
OPTION 输入.stor_id <> ""
struct.stor_id = 输入.stor_id
@@ -104,6 +113,10 @@
me.material_code like 输入.material_code)
ENDOPTION
OPTION 输入.classIds <> ""
class.class_id in 输入.classIds
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF

View File

@@ -11,6 +11,16 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="设备类别">
<treeselect
v-model="query.material_type_id"
:load-options="loadClass"
:options="classes"
style="width: 200px;"
placeholder="请选择"
/>
</el-form-item>
<el-form-item label="所属库区">
<el-cascader
placeholder="所属库区"
@@ -67,9 +77,10 @@
<el-table-column prop="sect_name" label="库区名称" />
<el-table-column prop="material_code" label="物料编码" width="130px" show-overflow-tooltip/>
<el-table-column prop="material_name" label="名称" width="130px" show-overflow-tooltip/>
<el-table-column prop="class_name" label="物料分类" width="130px" show-overflow-tooltip/>
<el-table-column prop="sparepart_only_id" label="备件唯一码" width="130px" show-overflow-tooltip/>
<el-table-column prop="material_model" label="型号" />
<el-table-column prop="material_spec" label="技术规格" />
<el-table-column prop="material_model" label="型号" show-overflow-tooltip />
<el-table-column prop="material_spec" label="技术规格" show-overflow-tooltip />
<el-table-column prop="pcsn" label="批次" />
<el-table-column prop="ivt_qty" label="库存数" />
<el-table-column prop="qty_unit_name" label="单位" />
@@ -92,11 +103,15 @@ import crudSectattr from '@/api/wms/basedata/st/sectattr'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
import {getLodop} from "@/assets/js/lodop/LodopFuncs";
import crudClassstandard from '@/api/wms/basedata/master/classstandard'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudMaterialbase from '@/api/wms/basedata/master/materialbase'
const defaultForm = { stockrecord_id: null, sparepart_only_id: null, material_id: null, pcsn: null, stor_id: null, stor_name: null, struct_id: null, struct_code: null, struct_name: null, ivt_qty: null, qty_unit_id: null, qty_unit_name: null, instorage_time: null }
export default {
name: 'Deviceivtquery',
components: { pagination, crudOperation, rrOperation, udOperation },
components: { pagination, crudOperation, rrOperation, udOperation, Treeselect },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -117,6 +132,9 @@ export default {
data() {
return {
sects: [],
classes: [],
class_idStr: null,
materOpt_code: '23',
permission: {
}
}
@@ -125,6 +143,15 @@ export default {
crudSectattr.getSect({ 'is_attachment': '1' }).then(res => {
this.sects = res.content
})
const param = {
'materOpt_code': this.materOpt_code
}
crudMaterialbase.getMaterOptType(param).then(res => {
this.class_idStr = res.class_idStr
this.crud.query.class_idStr = this.class_idStr
this.crud.toQuery()
this.queryClassId()
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
@@ -185,6 +212,34 @@ export default {
this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
},
loadClass({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 100)
})
}
},
queryClassId() {
const param = {
'class_idStr': this.class_idStr
}
crudClassstandard.queryClassById(param).then(res => {
this.classes = res.content.map(obj => {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
}
}
}