代码更新
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user