代码更新
This commit is contained in:
@@ -57,61 +57,14 @@ public class IostordailyServiceImpl implements IostordailyService {
|
||||
map.put("material_code", "%" + material_code + "%");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%" + pcsn + "%");
|
||||
JSONObject json = WQL.getWO("SendReceiveQuery_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "da.sect_date desc");
|
||||
|
||||
/*
|
||||
* 处理所属组织
|
||||
* 1.PG粉所属组织:通过物料编码+批次找工令所属组织来获取
|
||||
* 2.软废所属组织:物料编码去掉后缀 例如:-YZ 找最近完成的工令获取所属组织,若还有其他事业部,页面单元格底色标黄色
|
||||
* 3.除PG粉和软废外其他类型物料所属组织取不到 为空就行
|
||||
*/
|
||||
WQLObject workTab = WQLObject.getWQLObject("PDM_BI_WorkOrder"); // 工令表
|
||||
WQLObject deptTab = WQLObject.getWQLObject("sys_dept"); // 部门表
|
||||
|
||||
JSONArray contentArr = json.getJSONArray("content");
|
||||
for (int i = 0; i < contentArr.size(); i++) {
|
||||
JSONObject jsonObject = contentArr.getJSONObject(i);
|
||||
String material_id = jsonObject.getString("material_id");
|
||||
String pcsn_1 = jsonObject.getString("pcsn");
|
||||
|
||||
/*// 判断物料是PG粉还是软废
|
||||
boolean is_pgf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.PGF.getCode(), material_id, null);
|
||||
boolean is_rf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.RF.getCode(), material_id, null);
|
||||
|
||||
if (is_pgf) {
|
||||
JSONObject jsonWork = workTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn_1 + "' and is_delete ='0'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonWork)) continue;
|
||||
|
||||
JSONObject jsonDept = deptTab.query("dept_id = '" + jsonWork.getString("org_id") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonDept)) jsonObject.put("dept_name", jsonDept.getString("name"));
|
||||
}
|
||||
|
||||
if (is_rf) {
|
||||
// 截取 "-" 最后出现的前面的字符串
|
||||
String material_code_1 = jsonObject.getString("material_code");
|
||||
int lastIndexOf = material_code_1.lastIndexOf('-');
|
||||
String material_code_sub = material_code_1.substring(0, lastIndexOf);
|
||||
|
||||
JSONArray workArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "3").addParam("material_code", material_code_sub).process().getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(workArr)) continue;
|
||||
if (workArr.size() > 1) {
|
||||
jsonObject.put("is_yellow", "1");
|
||||
JSONObject json_1 = workArr.getJSONObject(0);
|
||||
jsonObject.put("dept_name",json_1.getString("dept_name"));
|
||||
} else {
|
||||
JSONObject json_1 = workArr.getJSONObject(0);
|
||||
jsonObject.put("dept_name",json_1.getString("dept_name"));
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
JSONObject json = WQL.getWO("SendReceiveQuery").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "da.sect_date desc");
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getStor() {
|
||||
JSONArray jsonArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "2").process().getResultJSONArray(0);
|
||||
JSONArray jsonArr = WQL.getWO("SendReceiveQuery").addParam("flag", "2").process().getResultJSONArray(0);
|
||||
return jsonArr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
[交易说明]
|
||||
交易名: 收发存分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.stor_id TYPEAS s_string
|
||||
输入.begin_time TYPEAS s_string
|
||||
输入.end_time TYPEAS s_string
|
||||
输入.material_code TYPEAS s_string
|
||||
输入.classIds TYPEAS f_string
|
||||
输入.pcsn TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
stor.stor_name,
|
||||
da.sect_date,
|
||||
da.pcsn,
|
||||
da.quality_scode,
|
||||
class.class_name,
|
||||
class.class_code,
|
||||
mater.material_id,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_model,
|
||||
unit.unit_name,
|
||||
da.start_num,
|
||||
da.in_num,
|
||||
da.out_num,
|
||||
da.end_num,
|
||||
da.more_num,
|
||||
da.less_num
|
||||
FROM(
|
||||
SELECT
|
||||
sum(start_num) AS start_num,
|
||||
sum(in_num ) AS in_num,
|
||||
sum(out_num ) AS out_num,
|
||||
sum(end_num) AS end_num,
|
||||
sum(more_num) AS more_num,
|
||||
sum(less_num) AS less_num,
|
||||
max(material_id) AS material_id,
|
||||
max(stor_id) AS stor_id,
|
||||
max(sect_date) AS sect_date,
|
||||
max(quality_scode) AS quality_scode,
|
||||
max(pcsn) AS pcsn
|
||||
FROM
|
||||
ST_IVT_IOStorDaily a
|
||||
GROUP BY
|
||||
a.material_id,
|
||||
a.quality_scode,
|
||||
a.pcsn,
|
||||
a.sect_date
|
||||
) AS da
|
||||
LEFT JOIN MD_ME_MaterialBase mater ON da.material_id = mater.material_id
|
||||
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id
|
||||
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = da.stor_id
|
||||
WHERE 1=1
|
||||
|
||||
OPTION 输入.stor_id <> ""
|
||||
stor.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
da.sect_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
da.sect_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.material_code <> ""
|
||||
(mater.material_code like 输入.material_code or
|
||||
mater.material_name like 输入.material_code)
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn <> ""
|
||||
(da.pcsn like 输入.pcsn or
|
||||
da.pcsn like 输入.pcsn)
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.classIds <> ""
|
||||
class.class_id in 输入.classIds
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "11"
|
||||
QUERY
|
||||
SELECT
|
||||
sum(outq.start_num) AS start_num,
|
||||
sum(outq.in_num) AS in_num,
|
||||
sum(outq.out_num) AS out_num,
|
||||
sum(outq.end_num) AS end_num
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
stor.stor_name,
|
||||
da.sect_date,
|
||||
da.is_active,
|
||||
da.ivt_level,
|
||||
da.pcsn,
|
||||
da.quality_scode,
|
||||
class.class_name,
|
||||
class.class_code,
|
||||
mater.material_id,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_model,
|
||||
unit.unit_name,
|
||||
da.start_num,
|
||||
da.in_num,
|
||||
da.out_num,
|
||||
da.end_num,
|
||||
da.more_num,
|
||||
da.less_num
|
||||
FROM(
|
||||
SELECT
|
||||
sum(start_num) AS start_num,
|
||||
sum(in_num ) AS in_num,
|
||||
sum(out_num ) AS out_num,
|
||||
sum(end_num) AS end_num,
|
||||
sum(more_num) AS more_num,
|
||||
sum(less_num) AS less_num,
|
||||
max(material_id) AS material_id,
|
||||
max(stor_id) AS stor_id,
|
||||
max(sect_date) AS sect_date,
|
||||
max(quality_scode) AS quality_scode,
|
||||
max(pcsn) AS pcsn,
|
||||
max(ivt_level) AS ivt_level,
|
||||
max(is_active) AS is_active
|
||||
FROM
|
||||
ST_IVT_IOStorDaily a
|
||||
GROUP BY
|
||||
a.material_id,
|
||||
a.quality_scode,
|
||||
a.pcsn,
|
||||
a.ivt_level,
|
||||
a.is_active,
|
||||
a.sect_date
|
||||
) AS da
|
||||
LEFT JOIN MD_ME_MaterialBase mater ON da.material_id = mater.material_id
|
||||
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id
|
||||
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = da.stor_id
|
||||
WHERE 1=1
|
||||
OPTION 输入.stor_id <> ""
|
||||
stor.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
da.sect_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
da.sect_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.material_code <> ""
|
||||
(mater.material_code like 输入.material_code or
|
||||
mater.material_name like 输入.material_code)
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
(da.pcsn like 输入.pcsn or
|
||||
da.pcsn like 输入.pcsn)
|
||||
ENDOPTION
|
||||
OPTION 输入.classIds <> ""
|
||||
class.class_id in 输入.classIds
|
||||
ENDOPTION
|
||||
) outq
|
||||
where 1=1
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
t.stor_name AS label,
|
||||
t.stor_id AS value
|
||||
FROM
|
||||
st_ivt_bsrealstorattr t
|
||||
WHERE
|
||||
t.is_delete = '0'
|
||||
AND t.is_used = '1'
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
sum(work.ok_qty) AS ok_qty,
|
||||
dept.name AS dept_name
|
||||
FROM
|
||||
PDM_BI_WorkOrder work
|
||||
INNER JOIN md_me_materialbase mater ON mater.material_id = work.material_id
|
||||
INNER JOIN sys_dept dept ON dept.dept_id = work.org_id
|
||||
WHERE
|
||||
work.is_delete = '0'
|
||||
|
||||
OPTION 输入.material_code <> ""
|
||||
mater.material_code = 输入.material_code
|
||||
ENDOPTION
|
||||
|
||||
group by work.org_id
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -65,15 +65,6 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="物料类别">
|
||||
<treeselect
|
||||
v-model="query.material_type_id"
|
||||
:load-options="loadClass"
|
||||
:options="classes"
|
||||
style="width: 220px;"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-form-item>
|
||||
<rrOperation/>
|
||||
</el-form>
|
||||
|
||||
@@ -83,16 +74,17 @@
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" :cell-style="cellStyleMst" show-summary :summary-method="getSum" :max-height="590" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column prop="stor_name" label="仓库"/>
|
||||
<el-table-column prop="class_code" label="物料分类编码" width="100px" />
|
||||
<el-table-column prop="class_name" label="物料分类名称" width="100px" />
|
||||
<el-table-column prop="sect_date" label="日期" width="100px" />
|
||||
<!-- <el-table-column prop="class_code" label="物料分类编码" width="100px" />-->
|
||||
<!-- <el-table-column prop="class_name" label="物料分类名称" width="100px" />-->
|
||||
<el-table-column prop="material_code" label="物料编码" min-width="150" show-overflow-tooltip/>
|
||||
<el-table-column prop="material_name" label="物料名称" min-width="150" show-overflow-tooltip/>
|
||||
<el-table-column prop="material_model" label="型号/牌号" min-width="150" show-overflow-tooltip/>
|
||||
<el-table-column prop="material_model" label="规格/型号" min-width="150" show-overflow-tooltip/>
|
||||
<el-table-column prop="unit_name" label="主单位"/>
|
||||
<el-table-column prop="pcsn" label="批次号" min-width="120" show-overflow-tooltip/>
|
||||
<el-table-column prop="dept_name" label="所属组织" min-width="120" show-overflow-tooltip/>
|
||||
<!-- <el-table-column prop="dept_name" label="所属组织" min-width="120" show-overflow-tooltip/>-->
|
||||
<!-- <el-table-column prop="quality_scode" label="品质类型" :formatter="formatQualityName" />-->
|
||||
<el-table-column prop="ivt_level" label="质量等级" :formatter="formatIvtName" />
|
||||
<!-- <el-table-column prop="ivt_level" label="质量等级" :formatter="formatIvtName" />-->
|
||||
<!-- <el-table-column prop="is_active" label="是否可用" :formatter="formatIsName" />-->
|
||||
<el-table-column prop="start_num" label="期初主数量" :formatter="crud.formatNum3" width="100px" />
|
||||
<el-table-column prop="in_num" label="入库主数量" :formatter="crud.formatNum3" width="100px" />
|
||||
@@ -139,7 +131,7 @@ const defaultForm = {
|
||||
}
|
||||
export default {
|
||||
name: 'SendReceiveQuery',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect },
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -147,7 +139,7 @@ export default {
|
||||
url: 'api/iostordaily',
|
||||
idField: 'stordaily_id',
|
||||
sort: '',
|
||||
crudMethod: {...crudIostordaily},
|
||||
crudMethod: { ...crudIostordaily },
|
||||
props: {
|
||||
// 每页数据条数
|
||||
size: 20
|
||||
|
||||
Reference in New Issue
Block a user