rev:1.发货出库不能强控优化2.出库实际重量显示真是发货重量3.B开头子卷保质期为180天优化4.发货信息回传sap优化5.库存报表字段优化6.一键新增仓位优化
This commit is contained in:
@@ -28,10 +28,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -541,8 +538,9 @@ public class StructattrServiceImpl implements StructattrService {
|
||||
int createNum = whereJson.getIntValue("num");
|
||||
// 开始生成数
|
||||
int createNum_start = 1;
|
||||
|
||||
// 前缀
|
||||
String prefix = whereJson.getString("prefix");
|
||||
String prefix = "";
|
||||
|
||||
if (ObjectUtil.isNotEmpty(jsonAttr)) {
|
||||
String struct_code = jsonAttr.getString("struct_code");
|
||||
@@ -559,6 +557,21 @@ public class StructattrServiceImpl implements StructattrService {
|
||||
createNum_start += Integer.parseInt(result);
|
||||
|
||||
prefix = struct_code.substring(0, firstIndex);
|
||||
} else {
|
||||
// 截取第一个 - 之前的数据集合
|
||||
|
||||
List<JSONObject> attrList = WQL.getWO("QST_STRUCT_ATTR").addParam("flag", "2").process()
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
List<String> subStringList = attrList.stream()
|
||||
.filter(row -> row.getString("struct_code").contains("-"))
|
||||
.map(row -> row.getString("struct_code").substring(0, row.getString("struct_code").indexOf("-")))
|
||||
.distinct()
|
||||
.sorted()
|
||||
.filter(row -> row.matches("-?\\d+(\\.\\d+)?"))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
prefix = String.valueOf(Integer.parseInt(subStringList.get(subStringList.size() - 1)) + 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -651,13 +664,16 @@ public class StructattrServiceImpl implements StructattrService {
|
||||
/*
|
||||
* 判断前缀是否存在
|
||||
*/
|
||||
List<JSONObject> attrList = attrTab.query("1 = 1").getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
List<JSONObject> attrList = WQL.getWO("QST_STRUCT_ATTR").addParam("flag", "2").process()
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 截取第一个 - 之前的数据集合
|
||||
List<String> subStringList = attrList.stream()
|
||||
.filter(row -> row.getString("struct_code").contains("-"))
|
||||
.map(row -> row.getString("struct_code").substring(0, row.getString("struct_code").indexOf("-")))
|
||||
.distinct()
|
||||
.sorted()
|
||||
.filter(row -> row.matches("-?\\d+(\\.\\d+)?"))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 判断是否有相同的前缀
|
||||
|
||||
@@ -86,5 +86,19 @@
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
struct.*
|
||||
FROM
|
||||
st_ivt_structattr struct
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = struct.sect_id
|
||||
WHERE
|
||||
sect.sect_type_attr = '09'
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -295,4 +295,12 @@ public interface CheckOutBillService {
|
||||
* @throws IOException /
|
||||
*/
|
||||
void download(Map map, HttpServletResponse response, String[] stor_id, String[] bill_status, String[] bill_type) throws IOException;
|
||||
|
||||
/**
|
||||
* 更新是否超期
|
||||
* @param whereJson {
|
||||
* 主表数据
|
||||
* }
|
||||
*/
|
||||
JSONObject updataIsOverdue(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -312,4 +312,11 @@ public class CheckOutBillController {
|
||||
public void download(@RequestParam Map map, HttpServletResponse response, String[] stor_id, String[] bill_status, String[] bill_type) throws IOException {
|
||||
checkOutBillService.download(map, response, stor_id, bill_status, bill_type);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/updataIsOverdue")
|
||||
@Log("更新是否超期")
|
||||
public ResponseEntity<Object> updataIsOverdue(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(checkOutBillService.updataIsOverdue(whereJson),HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1022,6 +1022,32 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject updataIsOverdue(JSONObject whereJson) {
|
||||
// 出入库主表
|
||||
WQLObject mstTab = WQLObject.getWQLObject("st_ivt_iostorinv");
|
||||
// 出入库分配明细表
|
||||
WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis");
|
||||
|
||||
// 更新主表
|
||||
JSONObject jsonMst = mstTab.query("iostorinv_id = '" + whereJson.getString("iostorinv_id") + "'").uniqueResult(0);
|
||||
jsonMst.put("is_overdue", whereJson.getString("is_overdue"));
|
||||
mstTab.update(jsonMst);
|
||||
|
||||
// 计算超期数量
|
||||
List<JSONObject> disList = disTab.query("iostorinvdtl_id = '" + whereJson.getString("iostorinvdtl_id") + "' AND is_overdue = '1'")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
double overdue_qyt = disList.stream()
|
||||
.map(row -> row.getDoubleValue("plan_qty"))
|
||||
.reduce(Double::sum).orElse(0.00);
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("overdue_qyt",overdue_qyt);
|
||||
result.put("mst", jsonMst);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject whereJson) {
|
||||
@@ -1290,11 +1316,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
dtl.put("work_status", "00");
|
||||
}
|
||||
|
||||
// 判断是否超期
|
||||
if (ivt2.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
// 判断是否超期
|
||||
if (ivt2.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(dtl);
|
||||
}
|
||||
//记录需锁定的仓位
|
||||
@@ -1358,9 +1385,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
}
|
||||
|
||||
// 判断是否超期
|
||||
if (jsonIvt.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (jsonIvt.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(dtl);
|
||||
|
||||
//记录需锁定的仓位 (如果此明细有相同物料的且子卷号不能为空的则在最后一个明细分配完成后锁定仓位)
|
||||
@@ -1534,6 +1564,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
dtl.put("is_issued", "0");
|
||||
dtl.put("plan_qty", ivt2.getDoubleValue("change_qty"));
|
||||
dtl.put("real_qty", ivt2.getDoubleValue("change_qty"));
|
||||
dtl.put("is_overdue", ivt2.getString("is_overdue"));
|
||||
dtl.put("instorage_time", ivt2.getString("instorage_time"));
|
||||
// 如果所属仓位是虚拟区 则将分配明细状态变为生成
|
||||
JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt2.getString("sect_id") + "'").uniqueResult(0);
|
||||
@@ -1542,6 +1573,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
} else {
|
||||
dtl.put("work_status", "00");
|
||||
}
|
||||
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
// 判断是否超期
|
||||
if (ivt2.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(dtl);
|
||||
}
|
||||
//记录需锁定的仓位
|
||||
@@ -1594,6 +1633,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
dtl.put("is_issued", "0");
|
||||
dtl.put("plan_qty", jsonIvt.getDoubleValue("change_qty"));
|
||||
dtl.put("real_qty", jsonIvt.getDoubleValue("change_qty"));
|
||||
dtl.put("is_overdue", jsonIvt.getString("is_overdue"));
|
||||
dtl.put("instorage_time", jsonIvt.getString("instorage_time"));
|
||||
// 如果所属仓位是虚拟区 则将分配明细状态变为生成
|
||||
JSONObject jsonSect = wo_sect.query("sect_id = '" + jsonIvt.getString("sect_id") + "'").uniqueResult(0);
|
||||
@@ -1602,6 +1642,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
} else {
|
||||
dtl.put("work_status", "00");
|
||||
}
|
||||
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
// 判断是否超期
|
||||
if (jsonIvt.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(dtl);
|
||||
//记录需锁定的仓位
|
||||
Struct_map.put(jsonIvt.getString("struct_id"), jsonIvt);
|
||||
@@ -1658,6 +1706,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
json.put("is_issued", "0");
|
||||
json.put("plan_qty", ivt.getDoubleValue("change_qty"));
|
||||
json.put("real_qty", ivt.getDoubleValue("change_qty"));
|
||||
json.put("is_overdue", ivt.getString("is_overdue"));
|
||||
json.put("instorage_time", ivt.getString("instorage_time"));
|
||||
// 如果所属仓位是虚拟区 则将分配明细状态变为生成
|
||||
JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0);
|
||||
if (StrUtil.equals(jsonSect.getString("sect_type_attr"), "09")) {
|
||||
@@ -1665,6 +1715,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
} else {
|
||||
json.put("work_status", "00");
|
||||
}
|
||||
|
||||
// 判断是否超期
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (ivt.getString("is_overdue").equals("1")) {
|
||||
json.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(json);
|
||||
|
||||
// 更新明细
|
||||
@@ -4384,6 +4442,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
dtl.put("is_issued", "0");
|
||||
dtl.put("plan_qty", ivt.getDoubleValue("change_qty"));
|
||||
dtl.put("real_qty", ivt.getDoubleValue("change_qty"));
|
||||
dtl.put("is_overdue", ivt.getString("is_overdue"));
|
||||
dtl.put("instorage_time", ivt.getString("instorage_time"));
|
||||
// 如果所属仓位是虚拟区 则将分配明细状态变为生成
|
||||
JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0);
|
||||
@@ -4392,6 +4451,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
} else {
|
||||
dtl.put("work_status", "00");
|
||||
}
|
||||
|
||||
// 判断是否超期
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (ivt.getString("is_overdue").equals("1")) {
|
||||
dtl.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(dtl);
|
||||
//记录需锁定的仓位
|
||||
Struct_map.put(ivt.getString("struct_id"), ivt);
|
||||
@@ -4453,6 +4520,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
json.put("is_issued", "0");
|
||||
json.put("plan_qty", ivt.getDoubleValue("change_qty"));
|
||||
json.put("real_qty", ivt.getDoubleValue("change_qty"));
|
||||
json.put("is_overdue", ivt.getString("is_overdue"));
|
||||
json.put("instorage_time", ivt.getString("instorage_time"));
|
||||
// 如果所属仓位是虚拟区 则将分配明细状态变为生成
|
||||
JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0);
|
||||
@@ -4461,6 +4529,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
} else {
|
||||
json.put("work_status", "00");
|
||||
}
|
||||
|
||||
// 判断是否超期
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (ivt.getString("is_overdue").equals("1")) {
|
||||
json.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
wo_dis.insert(json);
|
||||
|
||||
// 更新明细
|
||||
@@ -4585,8 +4661,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
dis.put("bill_code", jo_mst.getString("bill_code"));
|
||||
dis.put("bill_table", "ST_IVT_IOStorInv");
|
||||
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
storPublicService.IOStor(dis, "12");
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
storPublicService.IOStor(dis, "12");
|
||||
} else {
|
||||
storPublicService.IOStor(dis, "21");
|
||||
}
|
||||
} else {
|
||||
storPublicService.IOStor(dis, "21");
|
||||
}
|
||||
@@ -4596,15 +4676,23 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
from_start.put("struct_id", dis.getString("struct_id"));
|
||||
from_start.put("lock_type", "1");
|
||||
from_start.put("is_overdue", dis.getString("is_overdue"));
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
from_start.put("storagevehicle_code", dis.getString("box_no"));
|
||||
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
from_start.put("storagevehicle_code", dis.getString("box_no"));
|
||||
} else {
|
||||
from_start.put("storagevehicle_code", "");
|
||||
}
|
||||
} else {
|
||||
from_start.put("storagevehicle_code", "");
|
||||
}
|
||||
|
||||
storPublicService.updateStructAndPoint(from_start);
|
||||
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
continue;
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
if (dis.getString("is_overdue").equals("1")) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
//查询对应明细
|
||||
@@ -4664,7 +4752,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
}
|
||||
|
||||
JSONObject mst_row = mst_wql.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0);
|
||||
JSONArray dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0);
|
||||
|
||||
JSONArray dis_rows = new JSONArray();
|
||||
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0);
|
||||
} else {
|
||||
dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0);
|
||||
}
|
||||
|
||||
//生成手工入库单
|
||||
String new_iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
@@ -4767,7 +4862,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
|
||||
if ("1003".equals(out_jo.getString("bill_type")) || "1006".equals(out_jo.getString("bill_type"))) {
|
||||
//如果为返检出库或者改切出库删除对应的包装关系
|
||||
JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0);
|
||||
JSONArray dis_rows = new JSONArray();
|
||||
if (jo_mst.getString("is_overdue").equals("1")) {
|
||||
dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0);
|
||||
} else {
|
||||
dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < dis_rows.size(); i++) {
|
||||
JSONObject dis_row = dis_rows.getJSONObject(i);
|
||||
String sect_code = dis_row.getString("sect_code");
|
||||
@@ -5329,12 +5430,15 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
// 回传sap
|
||||
JSONObject jsonMst = mstTab.query("iostorinv_id = '" + whereJson.getString("iostorinv_id") + "'").uniqueResult(0);
|
||||
|
||||
JSONArray jsonArr = new JSONArray();
|
||||
jsonArr.add(jsonMst);
|
||||
// 判断单据是否是完成状态:只回传完成状态的单据
|
||||
if (jsonMst.getString("bill_status").equals("99")) {
|
||||
JSONArray jsonArr = new JSONArray();
|
||||
jsonArr.add(jsonMst);
|
||||
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("rows", jsonArr);
|
||||
inAndOutReturnService.uploadSAP(param);
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("rows", jsonArr);
|
||||
inAndOutReturnService.uploadSAP(param);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
cu.cust_simple_name,
|
||||
a.plan_qty,
|
||||
attr.stor_name AS out_stor_name
|
||||
|
||||
FROM
|
||||
ST_IVT_IOStorInv ios
|
||||
LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code
|
||||
@@ -106,15 +107,32 @@
|
||||
LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND sub.bill_code = ios.bill_code
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
SUM(a.assign_qty) AS plan_qty,
|
||||
SUM(a.plan_qty) AS plan_qty,
|
||||
a.iostorinv_id
|
||||
FROM
|
||||
st_ivt_iostorinvdtl a
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
and a.is_overdue = '0'
|
||||
and b.is_overdue = '1'
|
||||
GROUP BY a.iostorinv_id
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
SUM(a.plan_qty) AS plan_qty,
|
||||
a.iostorinv_id
|
||||
FROM
|
||||
st_ivt_iostorinvdis a
|
||||
LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id
|
||||
WHERE
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
and b.is_overdue = '0'
|
||||
GROUP BY a.iostorinv_id
|
||||
|
||||
) a ON a.iostorinv_id = ios.iostorinv_id
|
||||
WHERE
|
||||
ios.io_type = '1'
|
||||
@@ -369,7 +387,14 @@
|
||||
struct.storagevehicle_id,
|
||||
struct.storagevehicle_code,
|
||||
point.point_id,
|
||||
sub.sap_pcsn
|
||||
sub.sap_pcsn,
|
||||
CASE
|
||||
WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180'
|
||||
THEN '1'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90'
|
||||
THEN '1'
|
||||
ELSE '0'
|
||||
END AS is_overdue
|
||||
FROM
|
||||
ST_IVT_StructIvt ivt
|
||||
LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt.struct_id
|
||||
@@ -437,7 +462,14 @@
|
||||
struct.storagevehicle_id,
|
||||
struct.storagevehicle_code,
|
||||
point.point_id,
|
||||
sub.sap_pcsn
|
||||
sub.sap_pcsn,
|
||||
CASE
|
||||
WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180'
|
||||
THEN '1'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90'
|
||||
THEN '1'
|
||||
ELSE '0'
|
||||
END AS is_overdue
|
||||
FROM
|
||||
ST_IVT_StructIvt ivt2
|
||||
LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt2.struct_id
|
||||
|
||||
@@ -62,7 +62,11 @@
|
||||
attr.struct_name,
|
||||
attr.struct_code,
|
||||
CASE
|
||||
WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '1' ELSE '0'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180'
|
||||
THEN '1'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90'
|
||||
THEN '1'
|
||||
ELSE '0'
|
||||
END AS is_overdue
|
||||
FROM
|
||||
ST_IVT_StructIvt ivt
|
||||
@@ -164,7 +168,11 @@
|
||||
attr.struct_name,
|
||||
attr.struct_code,
|
||||
CASE
|
||||
WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '1' ELSE '0'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180'
|
||||
THEN '1'
|
||||
WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90'
|
||||
THEN '1'
|
||||
ELSE '0'
|
||||
END AS is_overdue
|
||||
FROM
|
||||
ST_IVT_StructIvt ivt
|
||||
|
||||
Reference in New Issue
Block a user