This commit is contained in:
zds
2022-10-31 21:20:09 +08:00
parent 4a47698b0c
commit 410580c61b
8 changed files with 520 additions and 94 deletions

View File

@@ -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')")

View File

@@ -60,6 +60,12 @@ public interface CheckOutBillService {
* @return
*/
JSONArray getOutBillDtl(Map whereJson);
/**
* 查询出库单明细
* @param whereJson /
* @return
*/
JSONArray queryDtl2(Map whereJson);
/**
* 查询出库单分配明细
* @param whereJson /

View File

@@ -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

View File

@@ -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

View File

@@ -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