优化
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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", "");
|
||||
|
||||
@@ -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("查询出库单")
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user