This commit is contained in:
zds
2022-09-13 00:09:41 +08:00
parent 72d3327cae
commit 8328a46cf1
6 changed files with 621 additions and 2 deletions

View File

@@ -47,6 +47,13 @@ public class DailyplanController {
return new ResponseEntity<>(dailyplanService.
queryday(whereJson,page),HttpStatus.OK);
}
@GetMapping("/querymouth")
@Log("查询月生产计划")
@ApiOperation("查询月生产计划")
public ResponseEntity<Object> querymouth(@RequestParam Map whereJson, Pageable page){
return new ResponseEntity<>(dailyplanService.
querymouth(whereJson,page),HttpStatus.OK);
}
@GetMapping("/query2")
@Log("查询月生产计划")
@ApiOperation("查询月生产计划")

View File

@@ -32,6 +32,13 @@ public interface DailyplanService {
* @return Map<String,Object>
*/
Map<String,Object> queryday(Map whereJson, Pageable page);
/**
* 查询数据分页
* @param whereJson 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Map<String,Object> querymouth(Map whereJson, Pageable page);
/**
* 创建
* @param json /

View File

@@ -141,6 +141,67 @@ public class DailyplanServiceImpl implements DailyplanService {
return jret;
}
@Override
public Map<String, Object> querymouth(Map whereJson, Pageable page) {
HashMap<String, String> map = new HashMap<>(whereJson);
String material_code = map.get("material_code");
if (StrUtil.isNotEmpty(material_code)) {
map.put("material_code", "%" + material_code + "%");
}
String begin_time = map.get("begin_time");
if (StrUtil.isNotEmpty(begin_time)) {
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
}
String end_time = map.get("end_time");
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
map.put("flag", "7");
JSONObject jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.device_id,materialbase.material_code");
JSONArray json = jret.getJSONArray("content");
JSONArray ja = new JSONArray();
for(int i=0;i<json.size();i++){
JSONObject jo = json.getJSONObject(i);
JSONObject last = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
.addParam("flag", "44")
.addParam("begin_time", map.get("begin_time"))
.addParam("end_time",map.get("end_time"))
.addParam("device_id",jo.getString("device_id"))
.addParam("material_id",jo.getString("material_id"))
.process().uniqueResult(0);
if(last!=null){
jo.put("pw_time",last.getString("realend_time"));
}
JSONObject last5 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
.addParam("flag", "55")
.addParam("begin_time", map.get("begin_time"))
.addParam("end_time",map.get("end_time"))
.addParam("device_id",jo.getString("device_id"))
.addParam("material_id",jo.getString("material_id"))
.process().uniqueResult(0);
if(last5!=null){
jo.put("in_time",last5.getString("create_time"));
}
JSONObject last6 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
.addParam("flag", "66")
.addParam("begin_time", map.get("begin_time"))
.addParam("end_time",map.get("end_time"))
.addParam("device_id",jo.getString("device_id"))
.addParam("material_id",jo.getString("material_id"))
.process().uniqueResult(0);
if(StrUtil.isNotEmpty(last6.getString("total_qty"))){
jo.put("in_qty",last6.getDouble("total_qty")/1000.0);
}
if(StrUtil.isNotEmpty(last6.getString("in_num"))){
jo.put("in_num",last6.getDouble("in_num"));
}
jo.put("sum_qty",jo.getDouble("sum_qty")/1000.0);
ja.add(jo);
}
jret.put("content",ja);
return jret;
}
@Override
public JSONArray queryAll(Map whereJson) {
HashMap<String, String> map = new HashMap<>(whereJson);

View File

@@ -24,6 +24,7 @@
输入.end_time TYPEAS s_string
输入.device_id TYPEAS s_string
输入.old_mark TYPEAS s_string
输入.material_id TYPEAS s_string
输入.workorder_type TYPEAS s_string
@@ -159,8 +160,7 @@
COUNT(*) AS product_num,
sum(WorkOrder.workorder_qty) AS sum_qty,
ext.old_mark,
ext.standard_mark,
materialbase.material_code
ext.standard_mark
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id
@@ -267,6 +267,120 @@
ENDQUERY
ENDIF
IF 输入.flag = "7"
PAGEQUERY
SELECT
deviceinfo.device_code,
deviceinfo.device_name,
WorkOrder.device_id,
COUNT(*) AS product_num,
sum(WorkOrder.workorder_qty) AS sum_qty,
materialbase.material_code,
MIN(WorkOrder.planstart_time) AS workorder_date
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN md_me_materialbase materialbase ON WorkOrder.material_id = materialbase.material_id
LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkOrder.device_id
WHERE
1=1 and WorkOrder.is_delete='0'
OPTION 输入.begin_time <> ""
WorkOrder.planstart_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
WorkOrder.planstart_time <= 输入.end_time
ENDOPTION
OPTION 输入.material_code <> ""
(materialbase.material_code like 输入.material_code or materialbase.material_name like 输入.material_code)
ENDOPTION
group by WorkOrder.device_id,materialbase.material_code
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "44"
QUERY
SELECT
WorkOrder.*
FROM
PDM_BI_WorkOrder WorkOrder
WHERE
1=1 and WorkOrder.is_delete='0'
and WorkOrder.status='99'
OPTION 输入.begin_time <> ""
WorkOrder.planstart_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
WorkOrder.planstart_time <= 输入.end_time
ENDOPTION
OPTION 输入.device_id <> ""
WorkOrder.device_id = 输入.device_id
ENDOPTION
OPTION 输入.material_id <> ""
WorkOrder.material_id = 输入.material_id
ENDOPTION
order by WorkOrder.realend_time desc
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "55"
QUERY
SELECT
WorkOrder.workorder_id,
ProcedureOffline.diskrecord_id,
ProcedureOffline.qty,
ProcedureOffline.create_time
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id
WHERE
1=1 and WorkOrder.is_delete='0'
and ProcedureOffline.status='1'
OPTION 输入.begin_time <> ""
WorkOrder.planstart_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
WorkOrder.planstart_time <= 输入.end_time
ENDOPTION
OPTION 输入.device_id <> ""
WorkOrder.device_id = 输入.device_id
ENDOPTION
OPTION 输入.material_id <> ""
WorkOrder.material_id = 输入.material_id
ENDOPTION
order by ProcedureOffline.create_time desc
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "66"
QUERY
SELECT
sum(ProcedureOffline.qty) AS total_qty,
count(WorkOrder.workorder_id) AS in_num,
WorkOrder.device_id
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id
WHERE
1=1 and WorkOrder.is_delete='0'
and ProcedureOffline.status='1'
OPTION 输入.begin_time <> ""
WorkOrder.planstart_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
WorkOrder.planstart_time <= 输入.end_time
ENDOPTION
OPTION 输入.device_id <> ""
WorkOrder.device_id = 输入.device_id
ENDOPTION
OPTION 输入.material_id <> ""
WorkOrder.material_id = 输入.material_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF