This commit is contained in:
zds
2022-11-14 19:54:37 +08:00
parent fcd828d13f
commit 06a3ea258d
19 changed files with 582 additions and 142 deletions

View File

@@ -287,10 +287,10 @@ public class PerformancemstServiceImpl implements PerformancemstService {
map1.put("flag", "10");
JSONObject jsonAllTotalNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0);
jsonAllTotal.put(json2.getString("assessor_id"),jsonAllTotalNum.getString("num"));
String eta = "0";
// 计算工时效率:总积分 / 总出勤时间
try {
String eta = NumberUtil.div(jsonAllTotalNum.getString("num"), jsonAllTimeNum.getString("num")).toString();
eta = NumberUtil.div(jsonAllTotalNum.getString("num"), jsonAllTimeNum.getString("num")).toString();
jsonEta.put(json2.getString("assessor_id"),NumberUtil.round(eta, 2));
} catch (Exception e) {
jsonEta.put(json2.getString("assessor_id"),"0");
@@ -318,7 +318,7 @@ public class PerformancemstServiceImpl implements PerformancemstService {
// 与班组平均对比计算结果
try {
String contrast = NumberUtil.sub(jsonEta.getString(json2.getString("assessor_id")), String.valueOf(NumberUtil.div(allPersonTotal, allPersonTime))).toString();
String contrast = NumberUtil.sub(eta, String.valueOf(NumberUtil.div(allPersonTotal, allPersonTime))).toString();
jsonContrast.put(json2.getString("assessor_id"),NumberUtil.round(contrast, 2));
} catch (Exception e) {
jsonContrast.put(json2.getString("assessor_id"),"0");
@@ -327,8 +327,8 @@ public class PerformancemstServiceImpl implements PerformancemstService {
//查询出有多少个员工 要用到它们的个数
JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0);
json.put(String.valueOf(jsonArr.size() + 2), total);
json.put(String.valueOf(jsonArr.size() + 1), average);
json.put(String.valueOf(jsonArr.size() + 2), NumberUtil.round(total, 2));
json.put(String.valueOf(jsonArr.size() + 1), NumberUtil.round(average, 2));
are.add(json);
}

View File

@@ -87,25 +87,39 @@
IF 输入.flag = "2"
PAGEQUERY
SELECT
pp.*,
ext.old_mark,
ext.standard_mark,
ext.standard_weight_pft AS standard_weight,
materialbase.material_type_id,
ext.product_series,
deviceinfo.device_id,
deviceinfo.device_name
pp.*,
ext.old_mark,
ext.standard_mark,
ext.standard_weight_pft AS standard_weight,
materialbase.material_type_id,
ext.product_series,
deviceinfo.device_id,
deviceinfo.device_name
FROM
PCS_IF_ProductPlanProc pp
LEFT JOIN md_me_materialbase materialbase ON pp.material_id = materialbase.material_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON pp.material_id = ext.material_id
INNER JOIN MPS_BD_CapacityTemplateWorkDevice WorkDevice ON concat(ext.product_series) = concat(WorkDevice.product_series_id)
LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkDevice.device_id
PCS_IF_ProductPlanProc pp
LEFT JOIN md_me_materialbase materialbase ON pp.material_id = materialbase.material_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON pp.material_id = ext.material_id
INNER JOIN (
SELECT
WorkDevice.workprocedure_id,
WorkDevice.product_series_id,
WorkDevice.captemplate_id,
MAX( WorkDevice.device_id ) AS device_id
FROM
MPS_BD_CapacityTemplateWorkDevice WorkDevice
WHERE
1 = 1
AND WorkDevice.captemplate_id = '1534741977764073472'
AND WorkDevice.workprocedure_id = '1472449923327856640'
GROUP BY
WorkDevice.workprocedure_id,
WorkDevice.product_series_id,
WorkDevice.captemplate_id
) WorkDevice2 ON concat( ext.product_series ) = concat( WorkDevice2.product_series_id )
LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkDevice2.device_id
WHERE
1 = 1
AND pp.is_proc IN ( '1', '2' )
AND WorkDevice.captemplate_id = '1534741977764073472'
AND WorkDevice.workprocedure_id = '1472449923327856640'
1 = 1
AND pp.is_proc IN ( '1', '2' )
OPTION 输入.is_proc <> ""
pp.is_proc = 输入.is_proc
ENDOPTION

View File

@@ -906,15 +906,15 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser();
Long deptId = currentUser.getDeptId();
JSONObject oldPhyMst = phyMstTab.query("inspection_id = '" + json.getString("inspection_id") + "'").uniqueResult(0);
JSONArray oldPhydtlArr = phyDtlTab.query("inspection_id = '" + json.getString("inspection_id") + "'").getResultJSONArray(0);
JSONObject oldPhyMst = phyMstTab.query("is_delete='0' and inspection_id = '" + json.getString("inspection_id") + "'").uniqueResult(0);
JSONArray oldPhydtlArr = phyDtlTab.query("is_delete='0' and inspection_id = '" + json.getString("inspection_id") + "'").getResultJSONArray(0);
// 单据状态必须为确认
if (!StrUtil.equals(oldPhyMst.getString("bill_status"), "99")) throw new BadRequestException("单据状态必须为完成!");
// 校验是否有相同批次物料的单据正在检测中
String material_id = oldPhyMst.getString("material_id");
String pcsn = oldPhyMst.getString("pcsn");
JSONObject jsonObject = phyMstTab.query("material_id ='" + material_id + "' AND pcsn = '" + pcsn + "' AND bill_status ='30'").uniqueResult(0);
JSONObject jsonObject = phyMstTab.query("is_delete='0' and material_id ='" + material_id + "' AND pcsn = '" + pcsn + "' AND bill_status ='30'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonObject)) throw new BadRequestException("此单据有正在检测中的单据");
// 新增新的理化单主表
@@ -949,7 +949,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
sheetdtl.put("grade", "");
sheetDtlTab.update(sheetdtl);
// 更新一级质检单主表
JSONObject sheetMst = sheetMstTab.query("inspection_id = '" + sheetdtl.getString("inspection_id") + "'").uniqueResult(0);
JSONObject sheetMst = sheetMstTab.query("is_delete='0' and inspection_id = '" + sheetdtl.getString("inspection_id") + "'").uniqueResult(0);
sheetMst.put("bill_status", "30");
sheetMst.put("confirm_optid", "");
sheetMst.put("confirm_optname", "");

View File

@@ -30,6 +30,13 @@ public class CheckOutBillController {
return new ResponseEntity<>(checkOutBillService.pageQuery(whereJson,page), HttpStatus.OK);
}
@GetMapping("/checkoutbill2")
@Log("查询出库单")
@ApiOperation("查询出库单")
public ResponseEntity<Object> checkoutbill2(@RequestParam Map whereJson, Pageable page){
return new ResponseEntity<>(checkOutBillService.pageQuery2(whereJson,page), HttpStatus.OK);
}
@GetMapping("/addDtl")
@Log("查询出库单")
@ApiOperation("查询出库单")

View File

@@ -15,6 +15,14 @@ public interface CheckOutBillService {
* @return Map<String, Object>
*/
Map<String, Object> pageQuery(Map whereJson, Pageable page);
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> pageQuery2(Map whereJson, Pageable page);
/**
* 查询数据分页

View File

@@ -66,6 +66,38 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
return jo;
}
@Override
public Map<String, Object> pageQuery2(Map whereJson, Pageable page) {
HashMap<String, String> map = new HashMap<>(whereJson);
map.put("flag", "1");
if (StrUtil.isNotEmpty(map.get("bill_code"))) {
map.put("bill_code", "%" + map.get("bill_code") + "%");
}
String deptIds = DataAuthUtil.getDeptStr();
map.put("deptIds", deptIds);
if (StrUtil.isNotEmpty(map.get("buss_type"))) {
map.put("buss_type", whereJson.get("buss_type") + "%");
}
if (StrUtil.isNotEmpty(map.get("io_type"))) {
map.put("io_type", map.get("io_type"));
}
if (StrUtil.isNotEmpty(map.get("pcsn"))) {
map.put("pcsn", "%" + map.get("pcsn") + "%");
}
if (StrUtil.isNotEmpty(map.get("material_code"))) {
map.put("material_code", "%" + map.get("material_code") + "%");
}
JSONObject jo = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bill_code desc");
JSONArray json = jo.getJSONArray("content");
map.put("flag", "11");
JSONObject jo2 = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).process().uniqueResult(0);
jo2.put("bill_code","合计");
json.add(jo2);
jo.put("content",json);
return jo;
}
@Override
public Map<String, Object> queryAddDtl(Map whereJson, Pageable page) {
HashMap<String, String> map = new HashMap<>(whereJson);

View File

@@ -125,6 +125,73 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
sum(outq.total_qty) AS total_qty
FROM
(
SELECT
ios.iostorinv_id AS id,
ios.*,
user.nick_name AS upload_optname
FROM
ST_IVT_IOStorInv ios
inner join (SELECT
invdtl.iostorinv_id
FROM
st_ivt_iostorinvdtl invdtl
LEFT JOIN md_me_materialbase mb ON mb.material_id = invdtl.material_id
where 1=1
OPTION 输入.quality_scode <> ""
invdtl.quality_scode = 输入.quality_scode
ENDOPTION
OPTION 输入.pcsn <> ""
invdtl.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.material_code <> ""
(mb.material_code like 输入.material_code or mb.material_name like 输入.material_code)
ENDOPTION
group by iostorinv_id) dtlcopy on dtlcopy.iostorinv_id = ios.iostorinv_id
LEFT JOIN sys_user user ON user.user_id = ios.upload_optid
WHERE 1=1
and ios.is_delete='0'
OPTION 输入.bill_code <> ""
ios.bill_code like 输入.bill_code
ENDOPTION
OPTION 输入.io_type <> ""
ios.io_type = 输入.io_type
ENDOPTION
OPTION 输入.buss_type <> ""
ios.buss_type like 输入.buss_type
ENDOPTION
OPTION 输入.bill_type <> ""
ios.bill_type = 输入.bill_type
ENDOPTION
OPTION 输入.stor_id <> ""
ios.stor_id = 输入.stor_id
ENDOPTION
OPTION 输入.deptIds <> ""
ios.sysdeptid in 输入.deptIds
ENDOPTION
OPTION 输入.create_mode <> ""
ios.create_mode = 输入.create_mode
ENDOPTION
OPTION 输入.bill_status <> ""
ios.bill_status = 输入.bill_status
ENDOPTION
OPTION 输入.begin_time <> ""
ios.input_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
ios.input_time <= 输入.end_time
ENDOPTION
) outq
where 1=1
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT

View File

@@ -1,6 +1,7 @@
package org.nl.wms.statistics.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.data.domain.Pageable;
import java.util.Map;

View File

@@ -60,6 +60,7 @@ 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粉所属组织通过物料编码+批次找工令所属组织来获取
@@ -70,6 +71,7 @@ public class IostordailyServiceImpl implements IostordailyService {
WQLObject deptTab = WQLObject.getWQLObject("sys_dept"); // 部门表
JSONArray contentArr = json.getJSONArray("content");
JSONArray ja = new JSONArray();
for (int i = 0; i < contentArr.size(); i++) {
JSONObject jsonObject = contentArr.getJSONObject(i);
String material_id = jsonObject.getString("material_id");
@@ -81,10 +83,16 @@ public class IostordailyServiceImpl implements IostordailyService {
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;
if (ObjectUtil.isEmpty(jsonWork)) {
ja.add(jsonObject);
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 (ObjectUtil.isNotEmpty(jsonDept)) {
jsonObject.put("dept_name", jsonDept.getString("name"));
ja.add(jsonObject);
}
}
if (is_rf) {
@@ -94,19 +102,27 @@ public class IostordailyServiceImpl implements IostordailyService {
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 (ObjectUtil.isEmpty(workArr)) {
ja.add(jsonObject);
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"));
ja.add(jsonObject);
} else {
JSONObject json_1 = workArr.getJSONObject(0);
jsonObject.put("dept_name",json_1.getString("dept_name"));
ja.add(jsonObject);
}
}
}
map.put("flag", "11");
JSONObject jo2 = WQL.getWO("SendReceiveQuery_query_01").addParamMap(map).process().uniqueResult(0);
jo2.put("stor_name","合计");
ja.add(jo2);
json.put("content",ja);
return json;
}

View File

@@ -65,8 +65,14 @@ public class IvtQueryServiceImpl implements IvtQueryService {
map.put("sects",str);
}
}
JSONObject json = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.instorage_time desc");
return json;
JSONObject jo = WQL.getWO("Qivt_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.instorage_time desc");
JSONArray json = jo.getJSONArray("content");
map.put("flag", "11");
JSONObject jo2 = WQL.getWO("Qivt_query_01").addParamMap(map).process().uniqueResult(0);
jo2.put("stor_name","合计");
json.add(jo2);
jo.put("content",json);
return jo;
}
@Override

View File

@@ -20,6 +20,7 @@ import org.nl.wql.core.bean.WQLObject;
import org.nl.wql.util.WqlUtil;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date;
@@ -47,8 +48,14 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
}
JSONObject json = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc");
return json;
JSONObject jo = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc");
JSONArray json = jo.getJSONArray("content");
map.put("flag", "11");
JSONObject jo2 = WQL.getWO("statistical_report_query_01").addParamMap(map).process().uniqueResult(0);
jo2.put("material_code","合计");
json.add(jo2);
jo.put("content",json);
return jo;
}
@Override
@@ -74,6 +81,12 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
map.put("material_code", "%" + map.get("material_code") + "%");
}
JSONObject jo = WQL.getWO("statistical_report_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bill_code desc");
JSONArray json = jo.getJSONArray("content");
map.put("flag", "22");
JSONObject jo2 = WQL.getWO("statistical_report_query_01").addParamMap(map).process().uniqueResult(0);
jo2.put("biz_date","合计");
json.add(jo2);
jo.put("content",json);
return jo;
}

View File

@@ -144,6 +144,107 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
sum(outq.bucket_num) AS bucket_num,
sum(outq.ivt_qty) AS ivt_qty,
sum(outq.canuse_qty) AS canuse_qty,
sum(outq.frozen_qty) AS frozen_qty,
sum(outq.warehousing_qty) AS warehousing_qty
FROM
(
SELECT
struct.stor_name,
struct.sect_name,
struct.struct_code,
struct.struct_name,
struct.storagevehicle_code,
me.material_code,
me.material_name,
me.material_spec,
me.material_model,
ivt.quality_scode,
ivt.ivt_level,
ivt.is_active,
ivt.pcsn,
ivt.ivt_qty,
ivt.canuse_qty,
ivt.frozen_qty,
ivt.warehousing_qty,
ivt.qty_unit_name,
ivt.instorage_time,
bucket.bucket_num
FROM
ST_IVT_StructIvt ivt
LEFT JOIN ST_IVT_StructAttr struct ON ivt.struct_id = struct.struct_id
LEFT JOIN MD_ME_MaterialBase me ON me.material_id = ivt.material_id
LEFT JOIN MD_PB_ClassStandard class ON class.class_id = me.material_type_id
LEFT JOIN (
SELECT
COUNT(*) AS bucket_num,
br.storagevehicle_code,
br.material_id,
br.pcsn,
br.is_active,
br.ivt_level,
br.quality_scode
FROM
MD_PB_BucketRecord br
WHERE 1=1
GROUP BY
br.storagevehicle_code,
br.material_id,
br.pcsn,
br.is_active,
br.ivt_level,
br.quality_scode
) bucket ON (bucket.storagevehicle_code = struct.storagevehicle_code
and bucket.material_id=ivt.material_id
and bucket.pcsn=ivt.pcsn
and bucket.is_active=ivt.is_active
and bucket.ivt_level=ivt.ivt_level
and bucket.quality_scode=ivt.quality_scode)
WHERE 1=1
OPTION 输入.stor_id <> ""
struct.stor_id = 输入.stor_id
ENDOPTION
OPTION 输入.sects <> ""
struct.sect_id in 输入.sects
ENDOPTION
OPTION 输入.material_name <> ""
( me.material_name like "%" 输入.material_name "%" or me.material_code like "%" 输入.material_name "%" )
ENDOPTION
OPTION 输入.storagevehicle_code <> ""
(struct.storagevehicle_code like "%" 输入.storagevehicle_code "%")
ENDOPTION
OPTION 输入.struct_name <> ""
( struct.struct_name like "%" 输入.struct_name "%" or struct.struct_code like "%" 输入.struct_name "%" )
ENDOPTION
OPTION 输入.is_active <> ""
ivt.is_active = 输入.is_active
ENDOPTION
OPTION 输入.ivt_level <> ""
ivt.ivt_level = 输入.ivt_level
ENDOPTION
OPTION 输入.quality_scode <> ""
ivt.quality_scode = 输入.quality_scode
ENDOPTION
OPTION 输入.pcsn <> ""
ivt.pcsn like "%" 输入.pcsn "%"
ENDOPTION
OPTION 输入.material_model <> ""
me.material_model like "%" 输入.material_model "%"
ENDOPTION
OPTION 输入.classIds <> ""
class.class_id in 输入.classIds
ENDOPTION
) outq
where 1=1
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY
SELECT

View File

@@ -127,6 +127,92 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
sum(outq.start_num) AS start_num,
sum(outq.in_num) AS in_num,
sum(outq.out_num) AS out_num,
sum(outq.end_num) AS end_num
FROM
(
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,
da.out_num,
da.end_num,
da.more_num,
da.less_num
FROM(
SELECT
sum(start_num) AS start_num,
sum(in_num ) AS in_num,
sum(out_num ) AS out_num,
sum(end_num) AS end_num,
sum(more_num) AS more_num,
sum(less_num) AS less_num,
max(material_id) AS material_id,
max(stor_id) AS stor_id,
max(sect_date) AS sect_date,
max(quality_scode) AS quality_scode,
max(pcsn) AS pcsn,
max(ivt_level) AS ivt_level,
max(is_active) AS is_active
FROM
ST_IVT_IOStorDaily a
GROUP BY
a.material_id,
a.quality_scode,
a.pcsn,
a.ivt_level,
a.is_active,
a.sect_date
) AS da
LEFT JOIN MD_ME_MaterialBase mater ON da.material_id = mater.material_id
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = da.stor_id
WHERE 1=1
OPTION 输入.stor_id <> ""
stor.stor_id = 输入.stor_id
ENDOPTION
OPTION 输入.begin_time <> ""
da.sect_date >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
da.sect_date <= 输入.end_time
ENDOPTION
OPTION 输入.material_code <> ""
(mater.material_code like 输入.material_code or
mater.material_name like 输入.material_code)
ENDOPTION
OPTION 输入.pcsn <> ""
(da.pcsn like 输入.pcsn or
da.pcsn like 输入.pcsn)
ENDOPTION
OPTION 输入.classIds <> ""
class.class_id in 输入.classIds
ENDOPTION
) outq
where 1=1
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT

View File

@@ -57,8 +57,9 @@
SELECT
MAX( mb.material_code ) AS material_code,
SUM( off.qty ) AS qty,
MAX( off.material_id) AS material_id,
MAX( off.pcsn) AS pcsn,
off.material_id,
off.pcsn,
wo.org_id,
MAX( off.create_time ) AS create_time,
MAX( off.create_name ) AS create_name,
MAX( wo.planend_time ) AS planend_time,
@@ -67,11 +68,11 @@
MAX( ext.old_mark) AS old_mark
FROM
pdm_bi_procedureoffline off
LEFT JOIN pdm_bi_workorder wo ON wo.workorder_id = off.workorder_id
LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn)
LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id
LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id
WHERE
1=1
1=1 and wo.is_delete='0'
OPTION 输入.material_code <> ""
(
mb.material_code like 输入.material_code
@@ -84,7 +85,8 @@
ENDOPTION
GROUP BY
off.material_id,
off.pcsn
off.pcsn,
wo.org_id
HAVING
1=1
OPTION 输入.begin_time <> ""
@@ -97,6 +99,59 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
sum(outq.qty) AS qty
FROM
(
SELECT
MAX( mb.material_code ) AS material_code,
SUM( off.qty ) AS qty,
off.material_id,
off.pcsn,
wo.org_id,
MAX( off.create_time ) AS create_time,
MAX( off.create_name ) AS create_name,
MAX( wo.planend_time ) AS planend_time,
MAX( wo.realend_time ) AS realend_time,
datediff (MAX( wo.planend_time ),MAX( wo.realend_time )) AS off_days,
MAX( ext.old_mark) AS old_mark
FROM
pdm_bi_procedureoffline off
LEFT JOIN pdm_bi_workorder wo ON (wo.material_id = off.material_id and wo.pcsn = off.pcsn)
LEFT JOIN md_me_materialbase mb ON mb.material_id = off.material_id
LEFT JOIN md_me_producmaterialext ext ON ext.material_id = off.material_id
WHERE
1=1 and wo.is_delete='0'
OPTION 输入.material_code <> ""
(
mb.material_code like 输入.material_code
OR
mb.material_name like 输入.material_code
)
ENDOPTION
OPTION 输入.pcsn <> ""
off.pcsn = 输入.pcsn
ENDOPTION
GROUP BY
off.material_id,
off.pcsn,
wo.org_id
HAVING
1=1
OPTION 输入.begin_time <> ""
create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
create_time <= 输入.end_time
ENDOPTION
) outq
where 1=1
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY
SELECT
@@ -176,6 +231,107 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "22"
QUERY
SELECT
sum(outq.out_qty) AS out_qty,
sum(outq.in_qty) AS in_qty
FROM
(
SELECT
mst.biz_date,
mst.iostorinv_id,
mst.bill_type,
mst.io_type,
mst.stor_name,
mst.input_optname,
dept.`name`,
sup.supp_name,
class.class_code,
class.class_name,
class2.class_code AS parent_class_code,
class2.class_name AS parent_class_name,
mst.bill_code,
mb.material_code,
mb.material_name,
dtl.pcsn,
dtl.qty_unit_name,
(
CASE
WHEN io_type = '0' THEN
''
WHEN io_type = '1'
AND bill_type = '010701' THEN
CONCAT('-', real_qty)
ELSE
dtl.real_qty
END
) AS out_qty,
(
CASE
WHEN io_type = '1' THEN
''
WHEN io_type = '0'
AND bill_type = '000501' THEN
CONCAT('-', real_qty)
ELSE
dtl.real_qty
END
) AS in_qty
FROM
st_ivt_iostorinvdtl dtl
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dtl.iostorinv_id
LEFT JOIN sys_dept dept ON dept.dept_id = mst.sysdeptid
LEFT JOIN pcs_if_purchaseorderproc proc ON proc.id = dtl.base_billdtl_id
LEFT JOIN md_cs_supplierbase sup ON sup.ext_id = proc.VEND_ID
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
LEFT JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id
LEFT JOIN md_pb_classstandard class2 ON class2.class_id = class.parent_class_id
WHERE
1 = 1
AND mst.is_delete = '0'
OPTION 输入.bill_code <> ""
mst.bill_code like 输入.bill_code
ENDOPTION
OPTION 输入.io_type <> ""
mst.io_type = 输入.io_type
ENDOPTION
OPTION 输入.buss_type <> ""
mst.buss_type like 输入.buss_type
ENDOPTION
OPTION 输入.bill_type <> ""
mst.bill_type = 输入.bill_type
ENDOPTION
OPTION 输入.stor_id <> ""
mst.stor_id = 输入.stor_id
ENDOPTION
OPTION 输入.deptIds <> ""
mst.sysdeptid in 输入.deptIds
ENDOPTION
OPTION 输入.bill_status <> ""
mst.bill_status = 输入.bill_status
ENDOPTION
OPTION 输入.begin_time <> ""
mst.input_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
mst.input_time <= 输入.end_time
ENDOPTION
OPTION 输入.quality_scode <> ""
dtl.quality_scode = 输入.quality_scode
ENDOPTION
OPTION 输入.pcsn <> ""
dtl.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.material_code <> ""
(mb.material_code like 输入.material_code or mb.material_name like 输入.material_code)
ENDOPTION
) outq
where 1=1
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT DISTINCT