This commit is contained in:
zds
2022-11-25 11:13:29 +08:00
parent 111d8844f9
commit 5a4b7dff8e
7 changed files with 409 additions and 4 deletions

View File

@@ -34,7 +34,8 @@ public enum MaterOptTypeEnum {
SBGZ(23, "24", "设备故障", "('1541964046385942528')", ""),
TJJ_AND_OTHER(24, "25", "添加剂和其他有色金属粉", "('1503644361697660928','1503644362838511616')", ""),
BJID(25, "26", "备品备件", "1503644361789935616", ""),
THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", "");
THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""),
BCP_AND_YL_AND_FL(27, "28", "半成品、原辅料、合金制品", "('1503644359155912704','1503644353019645952','1503644353116114944','1503644349995552768')", "");

View File

@@ -41,6 +41,13 @@ public class DevicesafetyqtyqueryController {
return new ResponseEntity<>(devicesafetyqtyqueryService.queryAll(whereJson, page), HttpStatus.OK);
}
@GetMapping("/query2")
@Log("备件安全库存查询")
@ApiOperation("备件安全库存查询")
public ResponseEntity<Object> query2(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(devicesafetyqtyqueryService.queryAll2(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增备件安全库存查询")
@ApiOperation("新增备件安全库存查询")

View File

@@ -24,6 +24,14 @@ public interface DevicesafetyqtyqueryService {
* @return Map<String, Object>
*/
Map<String, Object> queryAll(Map whereJson, Pageable page);
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryAll2(Map whereJson, Pageable page);
/**
* 查询所有数据不分页

View File

@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.exception.BadRequestException;
import org.nl.utils.FileUtil;
import org.nl.utils.SecurityUtils;
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.sb.stat.service.DevicesafetyqtyqueryService;
import org.nl.wms.sb.stat.service.DevicesparepartivtService;
@@ -48,7 +49,9 @@ public class DevicesafetyqtyqueryServiceImpl implements DevicesafetyqtyqueryServ
String material_code = MapUtil.getStr(whereJson, "material_code");
String type = MapUtil.getStr(whereJson, "type");
String is_all = MapUtil.getStr(whereJson, "is_all");
if(StrUtil.isEmpty(class_idStr)){
class_idStr = MaterOptTypeEnum.SPARE.getClass_idStr();
}
HashMap<String, String> map = new HashMap<>();
map.put("flag", "1");
map.put("type",type);
@@ -63,7 +66,35 @@ public class DevicesafetyqtyqueryServiceImpl implements DevicesafetyqtyqueryServ
String classIds = classstandardService.getAllChildIdStr(class_idStr);
map.put("classIds", classIds);
}
JSONObject json = WQL.getWO("EM_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_id DESC");
JSONObject json = WQL.getWO("EM_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_code");
return json;
}
@Override
public Map<String, Object> queryAll2(Map whereJson, Pageable page) {
String material_type_id = MapUtil.getStr(whereJson, "material_type_id");
String class_idStr = (String) whereJson.get("class_idStr");
String material_code = MapUtil.getStr(whereJson, "material_code");
String type = MapUtil.getStr(whereJson, "type");
String is_all = MapUtil.getStr(whereJson, "is_all");
if(StrUtil.isEmpty(class_idStr)){
class_idStr = MaterOptTypeEnum.BCP_AND_YL_AND_FL.getClass_idStr();
}
HashMap<String, String> map = new HashMap<>();
map.put("flag", "2");
map.put("type",type);
map.put("is_all",is_all);
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%");
//处理物料当前节点的所有子节点
if (StrUtil.isNotEmpty(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_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_code");
return json;
}

View File

@@ -113,4 +113,71 @@
ENDSELECT
ENDPAGEQUERY
ENDIF
ENDIF
IF 输入.flag = "2"
PAGEQUERY
SELECT
a.material_id,
a.material_code,
a.material_name,
a.class_name,
a.safe_ivt_down,
a.ivt_qty,
a.qty_unit_name
FROM
(
SELECT
mater.material_id,
mater.material_code,
mater.material_name,
class.class_name,
(
CASE
WHEN fivt.safe_ivt_down is null THEN 0 ELSE fivt.safe_ivt_down
END
) AS safe_ivt_down,
(
CASE
WHEN pivt.ivt_qty is null THEN 0 ELSE pivt.ivt_qty
END
) AS ivt_qty,
unit.unit_name AS qty_unit_name
FROM
md_me_materialbase mater
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
LEFT JOIN ST_IVT_MaterialSafeIvt fivt ON fivt.material_id = mater.material_id
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id
LEFT JOIN (
SELECT
SUM(ivt.ivt_qty) AS ivt_qty,
ivt.material_id
FROM
st_ivt_structivt ivt
WHERE
1=1
group by ivt.material_id
) pivt ON pivt.material_id = mater.material_id
WHERE
1=1
OPTION 输入.classIds <> ""
class.class_id in 输入.classIds
ENDOPTION
OPTION 输入.material_code <> ""
(mater.material_code like 输入.material_code or
mater.material_name like 输入.material_code)
ENDOPTION
) AS a
WHERE
1=1
OPTION 输入.is_all <> "0"
a.safe_ivt_down > a.ivt_qty
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF