优化
This commit is contained in:
@@ -52,6 +52,13 @@ public class CheckOutBillController {
|
||||
public ResponseEntity<Object> getOutBillDtl(@RequestParam Map whereJson){
|
||||
return new ResponseEntity<>(checkOutBillService.getOutBillDtl(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/queryDtl2")
|
||||
@Log("查询出库单")
|
||||
@ApiOperation("查询出库单")
|
||||
public ResponseEntity<Object> queryDtl2(@RequestParam Map whereJson){
|
||||
return new ResponseEntity<>(checkOutBillService.queryDtl2(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@Log("删除出库单")
|
||||
@ApiOperation("删除出库单")
|
||||
//@PreAuthorize("@el.check('checkoutbill:del')")
|
||||
|
||||
@@ -60,6 +60,12 @@ public interface CheckOutBillService {
|
||||
* @return
|
||||
*/
|
||||
JSONArray getOutBillDtl(Map whereJson);
|
||||
/**
|
||||
* 查询出库单明细
|
||||
* @param whereJson /
|
||||
* @return
|
||||
*/
|
||||
JSONArray queryDtl2(Map whereJson);
|
||||
/**
|
||||
* 查询出库单分配明细
|
||||
* @param whereJson /
|
||||
|
||||
@@ -114,8 +114,54 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
str = "(" + str.substring(1) + ")";
|
||||
map.put("source_bill_code", str);
|
||||
}
|
||||
JSONObject jo = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "iosdtl2.material_id");
|
||||
return jo;
|
||||
JSONObject ret = WQL.getWO("QST_IVT_CHECKOUTBILL2").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "iosdtl2.material_id");
|
||||
JSONArray json = ret.getJSONArray("content");
|
||||
JSONArray ja = new JSONArray();
|
||||
for(int i=0;i<json.size();i++){
|
||||
JSONObject jo = json.getJSONObject(i);
|
||||
map.put("material_id", jo.getString("material_id"));
|
||||
map.put("pcsn", jo.getString("pcsn"));
|
||||
map.put("flag", "13");
|
||||
JSONObject jo_now = WQL.getWO("QST_IVT_CHECKOUTBILL2").addParamMap(map).process().uniqueResult(0);
|
||||
if(jo_now!=null){
|
||||
jo.put("sum_real_qty",jo_now.getDouble("sum_real_qty"));
|
||||
}else{
|
||||
jo.put("sum_real_qty","0");
|
||||
}
|
||||
ja.add(jo);
|
||||
}
|
||||
ret.put("content",ja);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray queryDtl2(Map whereJson){
|
||||
HashMap<String, String> map = new HashMap<>(whereJson);
|
||||
map.put("flag", "14");
|
||||
if (StrUtil.isNotEmpty(map.get("username"))) {
|
||||
map.put("username", "%" + map.get("username") + "%");
|
||||
}
|
||||
String begin_time = map.get("begin_time");
|
||||
if (StrUtil.isNotEmpty(begin_time)) {
|
||||
map.put("begin_time", begin_time.substring(0,10));
|
||||
}
|
||||
String end_time = map.get("end_time");
|
||||
if (StrUtil.isNotEmpty(end_time)) {
|
||||
map.put("end_time", end_time.substring(0,10));
|
||||
}
|
||||
String source_bill_code = map.get("source_bill_code");
|
||||
if (StrUtil.isNotEmpty(source_bill_code)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String[] strs = source_bill_code.split(",");
|
||||
for(int i=0;i<strs.length;i++){
|
||||
sb.append(",'" + strs[i] + "'");
|
||||
}
|
||||
String str = sb.toString();
|
||||
str = "(" + str.substring(1) + ")";
|
||||
map.put("source_bill_code", str);
|
||||
}
|
||||
JSONArray ret = WQL.getWO("QST_IVT_CHECKOUTBILL2").addParamMap(map).process().getResultJSONArray(0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -600,82 +600,6 @@
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "12"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
SUM( iosdtl2.real_qty ) AS sum_real_qty,
|
||||
SUM( iosdtl2.plan_qty ) AS sum_plan_qty,
|
||||
iosdtl2.qty_unit_id,
|
||||
iosdtl2.qty_unit_name,
|
||||
iosdtl2.material_name,
|
||||
iosdtl2.material_code,
|
||||
iosdtl2.material_id,
|
||||
iosdtl2.pcsn,
|
||||
iosdtl2.is_active,
|
||||
iosdtl2.ivt_level,
|
||||
iosdtl2.quality_scode
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
iosdtl.material_id,
|
||||
iosdtl.pcsn,
|
||||
iosdtl.quality_scode,
|
||||
iosdtl.ivt_level,
|
||||
iosdtl.is_active,
|
||||
iosdtl.plan_qty,
|
||||
iosdtl.real_qty,
|
||||
iosdtl.qty_unit_id,
|
||||
iosdtl.qty_unit_name,
|
||||
mb.material_name,
|
||||
mb.material_code
|
||||
FROM
|
||||
ST_IVT_IOStorInvDtl iosdtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = iosdtl.material_id
|
||||
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = iosdtl.iostorinv_id
|
||||
LEFT JOIN sys_user user ON ios.input_optid = user.user_id
|
||||
WHERE
|
||||
1 = 1
|
||||
AND ios.is_delete = '0'
|
||||
AND ios.bill_type in ('010301','010302')
|
||||
OPTION 输入.material_code <> ""
|
||||
(mb.material_code like 输入.material_code or mb.material_name like 输入.material_code)
|
||||
ENDOPTION
|
||||
OPTION 输入.username <> ""
|
||||
(user.username like 输入.username or ios.input_optname like 输入.username)
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
iosdtl.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.source_bill_code <> ""
|
||||
iosdtl.source_bill_code in 输入.source_bill_code
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
ios.biz_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.biz_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> ""
|
||||
ios.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
ios.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
) iosdtl2
|
||||
where 1=1
|
||||
GROUP BY
|
||||
iosdtl2.material_id,
|
||||
iosdtl2.pcsn,
|
||||
iosdtl2.is_active,
|
||||
iosdtl2.ivt_level,
|
||||
iosdtl2.quality_scode,
|
||||
iosdtl2.material_name,
|
||||
iosdtl2.material_code,
|
||||
iosdtl2.qty_unit_id,
|
||||
iosdtl2.qty_unit_name
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
[交易说明]
|
||||
交易名: 基础点位分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.bill_status TYPEAS s_string
|
||||
输入.bill_code TYPEAS s_string
|
||||
输入.source_bill_code TYPEAS f_string
|
||||
输入.username TYPEAS s_string
|
||||
输入.create_mode TYPEAS s_string
|
||||
输入.bill_type TYPEAS s_string
|
||||
输入.stor_id TYPEAS s_string
|
||||
输入.iostorinv_id TYPEAS s_string
|
||||
输入.buss_type TYPEAS s_string
|
||||
输入.end_time TYPEAS s_string
|
||||
输入.begin_time TYPEAS s_string
|
||||
输入.material_id TYPEAS s_string
|
||||
输入.material_code TYPEAS s_string
|
||||
输入.quality_scode TYPEAS s_string
|
||||
输入.pcsn TYPEAS s_string
|
||||
输入.ivt_level TYPEAS s_string
|
||||
输入.is_active TYPEAS s_string
|
||||
输入.sect_id TYPEAS s_string
|
||||
输入.io_type TYPEAS s_string
|
||||
输入.iostorinvdtl_id TYPEAS s_string
|
||||
输入.unassign_flag TYPEAS s_string
|
||||
输入.struct_id TYPEAS s_string
|
||||
输入.iostorinvdis_id TYPEAS s_string
|
||||
输入.is_issued TYPEAS s_string
|
||||
输入.remark TYPEAS s_string
|
||||
输入.task_id TYPEAS s_string
|
||||
输入.task_status TYPEAS s_string
|
||||
输入.deptIds TYPEAS f_string
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "12"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
SUM( iosdtl2.plan_qty ) AS sum_plan_qty,
|
||||
iosdtl2.qty_unit_id,
|
||||
iosdtl2.qty_unit_name,
|
||||
iosdtl2.material_name,
|
||||
iosdtl2.material_code,
|
||||
iosdtl2.material_id,
|
||||
iosdtl2.pcsn,
|
||||
iosdtl2.is_active,
|
||||
iosdtl2.ivt_level,
|
||||
iosdtl2.quality_scode
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
iosdtl.material_id,
|
||||
iosdtl.pcsn,
|
||||
iosdtl.quality_scode,
|
||||
iosdtl.ivt_level,
|
||||
iosdtl.is_active,
|
||||
iosdtl.plan_qty,
|
||||
iosdtl.real_qty,
|
||||
iosdtl.qty_unit_id,
|
||||
iosdtl.qty_unit_name,
|
||||
mb.material_name,
|
||||
mb.material_code
|
||||
FROM
|
||||
ST_IVT_IOStorInvDtl iosdtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = iosdtl.material_id
|
||||
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = iosdtl.iostorinv_id
|
||||
LEFT JOIN sys_user user ON ios.input_optid = user.user_id
|
||||
WHERE
|
||||
1 = 1
|
||||
AND ios.is_delete = '0'
|
||||
AND ios.bill_type in ('010301','010302')
|
||||
OPTION 输入.material_code <> ""
|
||||
(mb.material_code like 输入.material_code or mb.material_name like 输入.material_code)
|
||||
ENDOPTION
|
||||
OPTION 输入.username <> ""
|
||||
(user.username like 输入.username or ios.input_optname like 输入.username)
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
iosdtl.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.source_bill_code <> ""
|
||||
iosdtl.source_bill_code in 输入.source_bill_code
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
ios.biz_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.biz_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> ""
|
||||
ios.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
ios.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
) iosdtl2
|
||||
where 1=1
|
||||
GROUP BY
|
||||
iosdtl2.material_id,
|
||||
iosdtl2.pcsn,
|
||||
iosdtl2.is_active,
|
||||
iosdtl2.ivt_level,
|
||||
iosdtl2.quality_scode,
|
||||
iosdtl2.material_name,
|
||||
iosdtl2.material_code,
|
||||
iosdtl2.qty_unit_id,
|
||||
iosdtl2.qty_unit_name
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "13"
|
||||
QUERY
|
||||
SELECT
|
||||
sum(FormulaDtl.confirm_qty) AS sum_real_qty
|
||||
FROM
|
||||
PDM_BI_FormulaDtl FormulaDtl
|
||||
LEFT JOIN PDM_BI_Formula Formula ON Formula.formula_id = FormulaDtl.formula_id
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
iosdtl.source_bill_code,
|
||||
iosdtl.material_id,
|
||||
iosdtl.pcsn
|
||||
FROM
|
||||
ST_IVT_IOStorInvDtl iosdtl
|
||||
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = iosdtl.iostorinv_id
|
||||
LEFT JOIN sys_user USER ON ios.input_optid = USER.user_id
|
||||
WHERE
|
||||
1 = 1
|
||||
AND ios.is_delete = '0'
|
||||
AND ios.bill_type IN ( '010301', '010302' )
|
||||
OPTION 输入.material_id <> ""
|
||||
iosdtl.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
OPTION 输入.username <> ""
|
||||
(user.username like 输入.username or ios.input_optname like 输入.username)
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
iosdtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.source_bill_code <> ""
|
||||
iosdtl.source_bill_code in 输入.source_bill_code
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
ios.biz_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.biz_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> ""
|
||||
ios.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
ios.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
iosdtl.source_bill_code,
|
||||
iosdtl.pcsn,
|
||||
iosdtl.material_id
|
||||
) iosdtl2 ON ( iosdtl2.source_bill_code = Formula.workorder_code AND iosdtl2.material_id = FormulaDtl.material_id AND iosdtl2.pcsn = FormulaDtl.pcsn )
|
||||
WHERE
|
||||
1 = 1
|
||||
AND FormulaDtl.STATUS = '99'
|
||||
AND Formula.is_delete = '0'
|
||||
OPTION 输入.material_id <> ""
|
||||
FormulaDtl.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
FormulaDtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "14"
|
||||
QUERY
|
||||
SELECT
|
||||
FormulaDtl.confirm_qty,
|
||||
FormulaDtl.formula_qty,
|
||||
FormulaDtl.seq_no,
|
||||
Formula.formula_code,
|
||||
Formula.workorder_code,
|
||||
FormulaDtl.material_id,
|
||||
mb2.material_name,
|
||||
mb2.material_code,
|
||||
FormulaDtl.pcsn,
|
||||
FormulaDtl.qty_unit_name
|
||||
FROM
|
||||
PDM_BI_FormulaDtl FormulaDtl
|
||||
LEFT JOIN PDM_BI_Formula Formula ON Formula.formula_id = FormulaDtl.formula_id
|
||||
LEFT JOIN md_me_materialbase mb2 ON mb2.material_id = FormulaDtl.material_id
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
iosdtl.source_bill_code,
|
||||
iosdtl.material_id,
|
||||
iosdtl.pcsn
|
||||
FROM
|
||||
ST_IVT_IOStorInvDtl iosdtl
|
||||
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = iosdtl.iostorinv_id
|
||||
LEFT JOIN sys_user USER ON ios.input_optid = USER.user_id
|
||||
WHERE
|
||||
1 = 1
|
||||
AND ios.is_delete = '0'
|
||||
AND ios.bill_type IN ( '010301', '010302' )
|
||||
OPTION 输入.material_id <> ""
|
||||
iosdtl.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
OPTION 输入.username <> ""
|
||||
(user.username like 输入.username or ios.input_optname like 输入.username)
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
iosdtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
OPTION 输入.source_bill_code <> ""
|
||||
iosdtl.source_bill_code in 输入.source_bill_code
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
ios.biz_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
OPTION 输入.end_time <> ""
|
||||
ios.biz_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
OPTION 输入.bill_type <> ""
|
||||
ios.bill_type = 输入.bill_type
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
ios.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
iosdtl.source_bill_code,
|
||||
iosdtl.pcsn,
|
||||
iosdtl.material_id
|
||||
) iosdtl2 ON ( iosdtl2.source_bill_code = Formula.workorder_code AND iosdtl2.material_id = FormulaDtl.material_id AND iosdtl2.pcsn = FormulaDtl.pcsn )
|
||||
WHERE
|
||||
1 = 1
|
||||
AND FormulaDtl.STATUS = '99'
|
||||
AND Formula.is_delete = '0'
|
||||
OPTION 输入.material_id <> ""
|
||||
FormulaDtl.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
FormulaDtl.pcsn = 输入.pcsn
|
||||
ENDOPTION
|
||||
order by Formula.formula_code
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user