代码更新
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
[交易说明]
|
||||
交易名: 物料参数弹窗数据查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.material_id TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
QUERY
|
||||
SELECT
|
||||
m.*,
|
||||
e.*,
|
||||
c.class_name,
|
||||
c.class_code,
|
||||
u.unit_name
|
||||
FROM
|
||||
MD_ME_MaterialBase m
|
||||
LEFT JOIN MD_ME_StockMaterialExt e ON m.material_id = e.material_id
|
||||
LEFT JOIN MD_PB_ClassStandard c ON c.class_id = m.material_type_id
|
||||
LEFT JOIN md_pb_measureunit u ON u.measure_unit_id = m.base_unit_id
|
||||
WHERE
|
||||
m.is_used = '1'
|
||||
AND m.is_delete = '0'
|
||||
OPTION 输入.material_id <> ""
|
||||
m.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
m2.*,
|
||||
e2.*,
|
||||
c2.class_name,
|
||||
c2.class_code,
|
||||
u2.unit_name
|
||||
FROM
|
||||
MD_ME_MaterialBase m2
|
||||
LEFT JOIN MD_ME_ProducMaterialExt e2 ON m2.material_id = e2.material_id
|
||||
LEFT JOIN MD_PB_ClassStandard c2 ON c2.class_id = m2.material_type_id
|
||||
LEFT JOIN md_pb_measureunit u2 ON u2.measure_unit_id = m2.base_unit_id
|
||||
WHERE
|
||||
m2.is_used = '1'
|
||||
AND m2.is_delete = '0'
|
||||
OPTION 输入.material_id <> ""
|
||||
m2.material_id = 输入.material_id
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ public abstract class AbstractAcsTask {
|
||||
*/
|
||||
public List<AcsTaskDto> schedule() {
|
||||
this.autoCreate();
|
||||
this.findStartPoint(null);
|
||||
this.findNextPoint(null);
|
||||
this.findStartPoint();
|
||||
this.findNextPoint();
|
||||
return addTask();
|
||||
}
|
||||
|
||||
@@ -77,7 +77,9 @@ public abstract class AbstractAcsTask {
|
||||
* @created 2020年6月12日 下午6:01:30
|
||||
*/
|
||||
|
||||
public abstract JSONObject findStartPoint(JSONObject param);
|
||||
public void findStartPoint(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
@@ -85,7 +87,9 @@ public abstract class AbstractAcsTask {
|
||||
* @author ldjun
|
||||
* @created 2020年6月12日 下午6:01:06
|
||||
*/
|
||||
public abstract JSONObject findNextPoint(JSONObject param);
|
||||
public void findNextPoint(){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @param form 创建任务需要的参数
|
||||
|
||||
@@ -4,13 +4,13 @@ package org.nl.wms.sch.manage;
|
||||
* Task状态:00生成 ,01:下发,02、执行中,03、完成
|
||||
*/
|
||||
public enum TaskStatusEnum {
|
||||
CREATED("01", "生成"),
|
||||
SURE_START("02", "确定起点"),
|
||||
SURE_END("03", "确定终点"),
|
||||
START_AND_POINT("04", "起点终点确认"),
|
||||
ISSUE("05", "下发"),
|
||||
EXECUTING("06", "执行中"),
|
||||
FINISHED("07", "完成");
|
||||
CREATED("1", "生成"),
|
||||
SURE_START("2", "确定起点"),
|
||||
SURE_END("3", "确定终点"),
|
||||
START_AND_POINT("4", "起点终点确认"),
|
||||
ISSUE("5", "下发"),
|
||||
EXECUTING("6", "执行中"),
|
||||
FINISHED("7", "完成");
|
||||
|
||||
private String name;
|
||||
private String code;
|
||||
|
||||
@@ -84,15 +84,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -82,7 +82,7 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject data) {
|
||||
public void findStartPoint() {
|
||||
String task_status = TaskStatusEnum.SURE_START.getCode();
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||
JSONArray taskArry = taskTab.query("task_status='" + task_status + "' AND handle_class='" + THIS_CLASS + "' AND is_delete='0' ").getResultJSONArray(0);
|
||||
@@ -118,14 +118,10 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -15,8 +16,6 @@ import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.pdm.service.DeviceService;
|
||||
import org.nl.wms.pdm.service.dto.DeviceDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.nl.wms.sch.service.PointService;
|
||||
@@ -88,24 +87,53 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
public void findStartPoint() {
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
|
||||
JSONArray taskArr = taskTab.query("is_delete = '0' and handle_class = '" + this.THIS_CLASS + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'").getResultJSONArray(0);
|
||||
for (int i = 0; i < taskArr.size(); i++) {
|
||||
// 创建任务
|
||||
JSONObject jsonTask = taskArr.getJSONObject(i);
|
||||
String vehicle_type = jsonTask.getString("vehicle_type");
|
||||
//判断叠盘位是否有任务
|
||||
JSONObject taskObj = taskTab.query("is_delete='0' and task_type='" + jsonTask.getString("gjxsqkp") + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(taskObj)) {
|
||||
jsonTask.put("task_status", TaskStatusEnum.SURE_END.getCode());
|
||||
jsonTask.put("point_code1", "");
|
||||
} else {//叠盘架无执行中的AGV任务
|
||||
|
||||
//判断叠盘架是否有载具
|
||||
JSONObject dpjPoint = pointTab.query("is_used ='1' and lock_type='00' and is_delete='0' and region_code='DPJQB01' and vehicle_qty >0 and can_vehicle_type like '%" + vehicle_type + "%'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(dpjPoint)) {
|
||||
jsonTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
jsonTask.put("point_code1", dpjPoint.getString("point_code"));
|
||||
//锁住点位
|
||||
dpjPoint.put("lock_type", "01");
|
||||
pointTab.update(dpjPoint);
|
||||
} else {//去缓存位和养生A区找
|
||||
JSONObject whereParam = new JSONObject();
|
||||
whereParam.put("flag", "1");
|
||||
whereParam.put("vehicle_type", jsonTask.getString("vehicle_type"));
|
||||
JSONObject outJsonObj = WQL.getWO("ST_VEHICLE_OUT_01").addParamMap(whereParam).process().uniqueResult(0);
|
||||
jsonTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
jsonTask.put("point_code1", outJsonObj.getString("point_code"));
|
||||
//锁住点位
|
||||
dpjPoint.put("lock_type", "01");
|
||||
pointTab.update(outJsonObj);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String createTask(JSONObject form) {
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
|
||||
String start_point_code = form.getString("point_code1");
|
||||
String end_point_code = form.getString("point_code2");
|
||||
String qty = form.getString("qty");
|
||||
String vehicle_type = form.getString("vehicle_type");
|
||||
|
||||
// 终点不能为空
|
||||
@@ -132,22 +160,11 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask {
|
||||
|
||||
//见基础分类表的任务分类
|
||||
jsonTask.put("task_type", "gjxsqkp");
|
||||
|
||||
//判断叠盘位是否有任务
|
||||
JSONObject taskObj = taskTab.query("is_delete='0' and point_code1='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(taskObj)){
|
||||
jsonTask.put("task_status", TaskStatusEnum.SURE_END);
|
||||
jsonTask.put("point_code1", "");
|
||||
}else {
|
||||
// 锁定起点点位
|
||||
JSONObject jsonPoint = pointTab.query("point_code = '" + start_point_code + "'").uniqueResult(0);
|
||||
jsonPoint.put("lock_type", "02");
|
||||
pointTab.update(jsonPoint);
|
||||
}
|
||||
|
||||
jsonTask.put("task_status", TaskStatusEnum.SURE_END.getCode());
|
||||
jsonTask.put("point_code1", "");
|
||||
taskTab.insert(jsonTask);
|
||||
|
||||
super.schedule();
|
||||
return String.valueOf(task_id);
|
||||
}
|
||||
|
||||
@@ -168,117 +185,4 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask {
|
||||
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject findBeginPoint(JSONObject json) {
|
||||
String point_code2 = json.getString("point_code2");
|
||||
String vehicle_qty = json.getString("vehicle_qty");
|
||||
if (ObjectUtil.isEmpty(point_code2)) throw new BadRequestException("终点不能为空");
|
||||
if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空");
|
||||
|
||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region");
|
||||
WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||
// 根据终点区域判断优先的起点区域
|
||||
JSONObject jsonPointEnd = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonPointEnd)) throw new BadRequestException("终点点位不存在");
|
||||
JSONObject jsonRegionEnd = regionTab.query("region_id ='" + jsonPointEnd.getString("region_id") + "'").uniqueResult(0);
|
||||
|
||||
// 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型
|
||||
String device_code = point_code2.substring(0, point_code2.indexOf("_"));
|
||||
|
||||
DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class);
|
||||
DeviceDto deviceDto = deviceBean.findByCode(device_code);
|
||||
if (ObjectUtil.isEmpty(deviceDto)) throw new BadRequestException("此设备不存在");
|
||||
JSONObject jsonOrder = orderTab.query("device_id = '" + deviceDto.getDevice_id() + "' and order_status = '02' and is_delete = '0'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonOrder)) throw new BadRequestException("此设备未在生产中或不存在");
|
||||
|
||||
//当前设备所需要的载具类型
|
||||
String vehicle_type = jsonOrder.getString("vehicle_type");
|
||||
/*
|
||||
* 空托盘出库任务:
|
||||
* 1.叠盘架B区、养生A区 --> 共挤线 (优先级:1叠盘架B区 2养生A区)
|
||||
* 2.叠盘架A区、养生A区 --> 油漆线 (优先级:1叠盘架A区 2养生A区)
|
||||
*/
|
||||
String point_code1 = "";
|
||||
JSONObject map = new JSONObject();
|
||||
if (StrUtil.equals(jsonRegionEnd.getString("region_code"), RegionTypeEnum.GJQY.getCode())) {
|
||||
//1、判断是否有拆托盘任务。
|
||||
taskTab.query("task_type= 'gjxsqkp' ");
|
||||
|
||||
//2、判断是否有到该叠盘位的堆叠任务。
|
||||
|
||||
|
||||
|
||||
//1、判断叠盘架B是否有对应类型的空载具
|
||||
JSONObject jsonDpjB = pointTab.query("point_status ='2' and lock_type='00' and can_vehicle_type = '" + vehicle_type + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonDpjB)) {//没有则去空托盘缓存区B和养生A区找
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 共挤线呼叫空托盘业务:查找叠盘架B区是否有满足条件的点位
|
||||
map.put("flag", "1");
|
||||
map.put("vehicle_qty", vehicle_qty);
|
||||
map.put("vehicle_type", jsonOrder.getString("vehicle_type"));
|
||||
map.put("region_code", RegionTypeEnum.DPJQB.getCode());
|
||||
JSONObject jsonStartPointDPB = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonStartPointDPB)) {
|
||||
point_code1 = jsonStartPointDPB.getString("point_code");
|
||||
} else {
|
||||
// 为空说明叠盘架B区没有,则去养生A区找 : 只能找数量为1的空托盘
|
||||
map.put("flag", "3");
|
||||
map.put("region_code", RegionTypeEnum.YSQA.getCode());
|
||||
JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(jsonStartPointYSA)) {
|
||||
point_code1 = jsonStartPointYSA.getString("point_code");
|
||||
} else {
|
||||
throw new BadRequestException("没有满足需求数量的点位");
|
||||
/* // 如果没有则需要从养生区A区里找到 > 1的货位 出库到叠盘架B中
|
||||
map.put("flag", "1");
|
||||
map.put("region_code", RegionTypeEnum.YSQA.getCode());
|
||||
// 起点
|
||||
JSONObject jsonStart = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonStart)) throw new BadRequestException("没有满足需求数量的点位");
|
||||
// 终点
|
||||
JSONObject jsonEnd = pointTab.query("region_id = '" + RegionTypeEnum.DPJQB.getId() + "' and point_status = '00' and lock_type = '00' and is_used = '1' and is_delete = '0'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonEnd)) throw new BadRequestException("叠盘架B货位不足");
|
||||
|
||||
JSONObject parem = new JSONObject();
|
||||
parem.put("point_code1",jsonStart.getString("point_code"));
|
||||
parem.put("point_code2",jsonEnd.getString("point_code"));
|
||||
parem.put("qty",jsonStart.getString("vehicle_qty"));
|
||||
parem.put("vehicle_type",jsonStart.getString("vehicle_qty"));
|
||||
String task_id = this.createTask(parem);
|
||||
|
||||
// 生成 叠盘架 -> 共挤线的任务 返回叠盘架B的点位code
|
||||
point_code1 = jsonEnd.getString("point_code");*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else if (StrUtil.equals(jsonRegionEnd.getString("region_code"), RegionTypeEnum.YQQY.getCode())) {
|
||||
// 油漆线呼叫空托盘业务:查找叠盘架A区是否有满足条件的点位
|
||||
map.put("flag", "1");
|
||||
map.put("vehicle_qty", vehicle_qty);
|
||||
map.put("vehicle_type", jsonOrder.getString("vehicle_type"));
|
||||
map.put("region_code", RegionTypeEnum.DPJQA.getCode());
|
||||
JSONObject jsonStartPointDPA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonStartPointDPA)) {
|
||||
point_code1 = jsonStartPointDPA.getString("point_code");
|
||||
} else {
|
||||
// 为空说明叠盘架A区没有,则去养生A区找
|
||||
map.put("flag", "3");
|
||||
map.put("region_code", RegionTypeEnum.YSQA.getCode());
|
||||
JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonStartPointYSA)) throw new BadRequestException("没有满足需求数量的点位");
|
||||
point_code1 = jsonStartPointYSA.getString("point_code");
|
||||
}
|
||||
}
|
||||
JSONObject resuft = new JSONObject();
|
||||
resuft.put("point_code1", point_code1);
|
||||
resuft.put("vehicle_type", jsonOrder.getString("vehicle_type"));
|
||||
return resuft;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,15 +50,6 @@ public class PointToPointTask extends AbstractAcsTask {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
||||
@@ -102,15 +102,6 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
|
||||
@@ -115,13 +115,7 @@ public class SendMaterialTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject data) {
|
||||
public void findNextPoint() {
|
||||
String task_status = TaskStatusEnum.SURE_START.getCode();
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||
JSONArray taskArry = taskTab.query("task_status='" + task_status + "' AND handle_class='" + THIS_CLASS + "' AND is_delete='0' ").getResultJSONArray(0);
|
||||
@@ -158,8 +152,6 @@ public class SendMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -84,15 +84,6 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findStartPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject findNextPoint(JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
[交易说明]
|
||||
交易名: 空载具出库业务
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.vehicle_qty TYPEAS s_string
|
||||
输入.vehicle_type TYPEAS s_string
|
||||
输入.region_code TYPEAS s_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
QUERY
|
||||
SELECT
|
||||
p.point_id,
|
||||
p.point_code,
|
||||
p.point_name
|
||||
FROM
|
||||
SCH_BASE_Point p
|
||||
WHERE
|
||||
p.is_used = '1'
|
||||
AND p.is_delete = '0'
|
||||
AND p.lock_type = '00'
|
||||
and region_code in ('DPJQB01','YSQA01')
|
||||
|
||||
OPTION 输入.vehicle_type <> ""
|
||||
point.vehicle_type like 输入.vehicle_type
|
||||
ENDOPTION
|
||||
|
||||
order by out_empty_seq,point.vehicle_qty
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
point.*
|
||||
FROM
|
||||
sch_base_point point
|
||||
LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id
|
||||
WHERE
|
||||
point.lock_type = '00'
|
||||
AND point.point_status = '01'
|
||||
AND IFNULL(point.vehicle_qty,0) == 输入.vehicle_qty
|
||||
|
||||
OPTION 输入.region_code <> ""
|
||||
region.region_code = 输入.region_code
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.vehicle_type <> ""
|
||||
point.vehicle_type = 输入.vehicle_type
|
||||
ENDOPTION
|
||||
|
||||
order by point.point_code DESC
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
point.*
|
||||
FROM
|
||||
sch_base_point point
|
||||
LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id
|
||||
WHERE
|
||||
point.lock_type = '00'
|
||||
AND point.point_status = '00'
|
||||
|
||||
OPTION 输入.region_code <> ""
|
||||
region.region_code = 输入.region_code
|
||||
ENDOPTION
|
||||
|
||||
order by point.point_code DESC
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
Binary file not shown.
Reference in New Issue
Block a user