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