代码更新

This commit is contained in:
2022-09-06 10:25:32 +08:00
parent 3d6c00386e
commit 488d1a608d
3 changed files with 102 additions and 15 deletions

View File

@@ -9,9 +9,12 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.basedata.master.service.MaterialbaseService;
import org.nl.wms.statistics.service.IostordailyService;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.nl.wql.util.WqlUtil;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@@ -29,6 +32,7 @@ import java.util.Map;
@Slf4j
public class IostordailyServiceImpl implements IostordailyService {
private final ClassstandardService classstandardService;
private final MaterialbaseService materialbaseService;
@Override
public Map<String,Object> queryAll(Map whereJson, Pageable page){
@@ -55,6 +59,54 @@ public class IostordailyServiceImpl implements IostordailyService {
}
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"));
}
}
}
return json;
}
@@ -63,5 +115,4 @@ public class IostordailyServiceImpl implements IostordailyService {
JSONArray jsonArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "2").process().getResultJSONArray(0);
return jsonArr;
}
}

View File

@@ -47,14 +47,18 @@
IF 输入.flag = "1"
PAGEQUERY
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,
@@ -137,3 +141,25 @@
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

View File

@@ -81,22 +81,25 @@
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission"/>
<!--表格渲染-->
<el-table ref="table" 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="class_name" label="物料分类"/>
<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="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="pcsn" 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="is_active" label="是否可用" :formatter="formatIsName" />
<el-table-column prop="unit_name" label="单位"/>
<el-table-column prop="start_num" label="期初数" :formatter="crud.formatNum3"/>
<el-table-column prop="in_num" label="入库数" :formatter="crud.formatNum3"/>
<el-table-column prop="out_num" label="出库数" :formatter="crud.formatNum3"/>
<el-table-column prop="less_num" label="其他出" :formatter="crud.formatNum3"/>
<el-table-column prop="more_num" label="其他入" :formatter="crud.formatNum3"/>
<el-table-column prop="end_num" label="结存" :formatter="crud.formatNum3"/>
<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="quality_scode" label="品质类型" :formatter="formatQualityName" />-->
<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" />
<el-table-column prop="out_num" label="出库主数量" :formatter="crud.formatNum3" width="100px" />
<!-- <el-table-column prop="less_num" label="其他出" :formatter="crud.formatNum3"/>-->
<!-- <el-table-column prop="more_num" label="其他入" :formatter="crud.formatNum3"/>-->
<el-table-column prop="end_num" label="结存主数量" :formatter="crud.formatNum3" width="100px" />
</el-table>
<!--分页组件-->
<pagination/>
@@ -324,6 +327,13 @@ export default {
}
})
return sums
},
cellStyleMst({ row, column, rowIndex, columnIndex }) {
if (column.property === 'dept_name') {
if (row.is_yellow !== undefined) {
return 'background: yellow'
}
}
}
}
}