This commit is contained in:
2022-09-13 09:40:10 +08:00
31 changed files with 1605 additions and 47 deletions

View File

@@ -167,6 +167,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* 5.油漆线空盘入库
* 6.一楼空盘入库 (有载具号)
* 7.油漆线->输送线
* 8.豪凯自动线下料入库
*/
JSONObject resuft = new JSONObject();
try {
@@ -331,13 +332,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} else if (StrUtil.equals(type, "6")) {
// 6.一楼空盘入库 (有载具号): 调用空托盘入库处理类创建任务
if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("载具号不能为空");
// 查询载具号对应的数量
JSONObject jsonVeQty = veQtyTab.query("vehicle_code = '" + vehicle_code + "' and is_task = '0' order by create_time DESC").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonVeQty)) throw new BadRequestException("请先手持扫码");
JSONObject param = new JSONObject();
param.put("start_point_code", point_code);
// 查询载具号对应的数量
JSONObject jsonVeQty = new JSONObject();
if (ObjectUtil.isEmpty(qty)) {
jsonVeQty = veQtyTab.query("vehicle_code = '" + vehicle_code + "' and is_task = '0' order by create_time DESC").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonVeQty)) throw new BadRequestException("请先手持扫码");
} else {
jsonVeQty.put("qty", qty);
}
param.put("qty", jsonVeQty.getString("qty"));
param.put("start_point_code", point_code);
param.put("vehicle_code", vehicle_code);
// 创建任务
SendEmpVehicleTask taskBean = SpringContextHolder.getBean(SendEmpVehicleTask.class);
@@ -372,6 +379,39 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
resuft.put("status", "200");
resuft.put("message", "");
} else if (StrUtil.equals(type, "8")) {
// 8.豪凯自动线下料入库
JSONObject param = new JSONObject();
param.put("start_point_code", point_code);
SendMaterialTask taskBean = SpringContextHolder.getBean(SendMaterialTask.class);
String task_id = taskBean.createTask(param);
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
// 插入区域出入库表
param.put("next_point_code", jsonTask.getString("next_point_code"));
if (ObjectUtil.isEmpty(qty)) {
param.put("qty", "1"); // 为空先写死1
} else {
param.put("qty", qty);
}
param.put("task_id", task_id);
param.put("io_type", "0");
JSONObject json = this.inCreateRegion(param);
// 回显任务载具类型
jsonTask.put("vehicle_type", json.getString("vehicle_type"));
taskTab.update(jsonTask);
// 下发
JSONObject jsonObject = taskBean.renotifyAcs(task_id);
if (StrUtil.equals(jsonObject.getString("status"), "200")) {
// 成功返回 更新任务状态
resuft.put("status", "200");
resuft.put("message", "");
jsonTask.put("task_status", "05");
taskTab.update(jsonTask);
} else {
throw new BadRequestException(jsonObject.getString("message"));
}
}
} catch (Exception e) {
resuft.put("status", ((BadRequestException) e).getStatus());

View File

@@ -0,0 +1,39 @@
package org.nl.wms.pda.callmaterial.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.callmaterial.service.CallMaterialService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持叫料")
@RequestMapping("api/pda/callMaterial")
@Slf4j
public class CallMaterialController {
private final CallMaterialService callMaterialService;
@PostMapping("/queryPoint")
@Log("查询区域点位")
@ApiOperation("查询区域点位")
public ResponseEntity<Object> queryPoint() {
return new ResponseEntity<>(callMaterialService.queryPoint(), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("叫料确定")
@ApiOperation("叫料确定")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(callMaterialService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.pda.callmaterial.service;
import com.alibaba.fastjson.JSONObject;
public interface CallMaterialService {
/**
* 查询区域点位
* @return json
*/
JSONObject queryPoint();
/**
* 叫料确定
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -0,0 +1,60 @@
package org.nl.wms.pda.callmaterial.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.pda.callmaterial.service.CallMaterialService;
import org.nl.wql.WQL;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Slf4j
public class CallMaterialServiceImpl implements CallMaterialService {
private final AcsToWmsService acsToWmsService;
@Override
public JSONObject queryPoint() {
JSONObject result = new JSONObject();
// 1.查询区域:油漆区域 YQQY01
JSONArray regionArr = WQL.getWO("PDA_CALLMATERIAL_01").addParam("flag", "1").process().getResultJSONArray(0);
// 2.根据区域查询对应的物料上料位
JSONObject resultJson = new JSONObject();
for (int i = 0; i < regionArr.size(); i++) {
JSONObject jsonRegion = regionArr.getJSONObject(i);
JSONArray pointArr = WQL.getWO("PDA_CALLMATERIAL_01").addParam("flag", "2").addParam("region_id", jsonRegion.getString("region_id")).process().getResultJSONArray(0);
jsonRegion.put("pointArr", pointArr);
}
resultJson.put("regionja", regionArr);
result.put("result", resultJson);
result.put("code", "1");
result.put("desc", "查询成功");
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
JSONObject result = new JSONObject();
// 1、准备参数point_code、type = 4
JSONObject param = new JSONObject();
param.put("type","4");
param.put("point_code",whereJson.getString("point_code"));
// 2、调用接口
JSONObject json = acsToWmsService.apply(param);
if (StrUtil.equals(json.getString("status"), "200")) {
result.put("result", "");
result.put("code", "1");
result.put("desc", "操作成功");
} else {
result.put("result", "");
result.put("code", "0");
result.put("desc", "操作失败:"+json.getString("message"));
}
return result;
}
}

View File

@@ -0,0 +1,77 @@
[交易说明]
交易名: 手持叫料查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.region_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
QUERY
SELECT
region_id,
region_code,
region_name
FROM
sch_base_region
WHERE
is_used = '1'
AND region_code = 'YQQY01'
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_id,
point_code,
point_name
FROM
sch_base_point
WHERE
is_used = '1'
AND is_delete = '0'
AND is_host = '0'
AND device_point_type = '3'
OPTION 输入.region_id <> ""
region_id = 输入.region_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,40 @@
package org.nl.wms.pda.callvehicle.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.callvehicle.service.CallVehicleService;
import org.nl.wms.pda.sendmaterial.service.SendMaterialService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持呼叫空托盘")
@RequestMapping("api/pda/callEmpty")
@Slf4j
public class CallVehicleController {
private final CallVehicleService callVehicleService;
@PostMapping("/queryPoint")
@Log("查询区域点位")
@ApiOperation("查询区域点位")
public ResponseEntity<Object> queryPoint() {
return new ResponseEntity<>(callVehicleService.queryPoint(), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("呼叫空托盘确定")
@ApiOperation("呼叫空托盘确定")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(callVehicleService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.pda.callvehicle.service;
import com.alibaba.fastjson.JSONObject;
public interface CallVehicleService {
/**
* 查询区域点位
* @return JSONObject
*/
JSONObject queryPoint();
/**
* 呼叫空托盘确定
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -0,0 +1,69 @@
package org.nl.wms.pda.callvehicle.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.pda.callvehicle.service.CallVehicleService;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Slf4j
public class CallVehicleServiceImpl implements CallVehicleService {
private final AcsToWmsService acsToWmsService;
@Override
public JSONObject queryPoint() {
JSONObject result = new JSONObject();
// 1.查询区域:油漆区域 YQQY01、共挤区域 GJQY01
JSONArray regionArr = WQL.getWO("PDA_CALLVEHICLE_01").addParam("flag", "1").process().getResultJSONArray(0);
// 2.根据区域查询对应的物料上料位
JSONObject resultJson = new JSONObject();
for (int i = 0; i < regionArr.size(); i++) {
JSONObject jsonRegion = regionArr.getJSONObject(i);
JSONArray pointArr = WQL.getWO("PDA_CALLVEHICLE_01").addParam("flag", "2").addParam("region_id", jsonRegion.getString("region_id")).process().getResultJSONArray(0);
jsonRegion.put("pointArr", pointArr);
}
resultJson.put("regionja", regionArr);
result.put("result", resultJson);
result.put("code", "1");
result.put("desc", "查询成功");
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
JSONObject result = new JSONObject();
// 1、准备参数point_code、type1为共挤区域3为油漆区域
JSONObject param = new JSONObject();
String region_id = whereJson.getString("region_id");
JSONObject jsonObject = WQLObject.getWQLObject("sch_base_region").query("region_id ='" + region_id + "'").uniqueResult(0);
String region_code = jsonObject.getString("region_code");
if (StrUtil.equals(region_code, "GJQY01")) param.put("type","1");
if (StrUtil.equals(region_code, "YQQY01")) param.put("type","3");
param.put("point_code",whereJson.getString("point_code"));
param.put("vehicle_num",whereJson.getString("qty"));
// 2、调用接口
JSONObject json = acsToWmsService.apply(param);
if (StrUtil.equals(json.getString("status"), "200")) {
result.put("result", "");
result.put("code", "1");
result.put("desc", "操作成功");
} else {
result.put("result", "");
result.put("code", "0");
result.put("desc", "操作失败:"+json.getString("message"));
}
return result;
}
}

View File

@@ -0,0 +1,77 @@
[交易说明]
交易名: 手持呼叫空托盘查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.region_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
QUERY
SELECT
region_id,
region_code,
region_name
FROM
sch_base_region
WHERE
is_used = '1'
AND region_code in ('YQQY01','GJQY01')
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_id,
point_code,
point_name
FROM
sch_base_point
WHERE
is_used = '1'
AND is_delete = '0'
AND is_host = '0'
AND device_point_type = '1'
OPTION 输入.region_id <> ""
region_id = 输入.region_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,32 @@
package org.nl.wms.pda.emptyandqty.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.emptyandqty.service.EmptyAndQtyService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持空托盘与数量绑定")
@RequestMapping("api/pda/emptyAndQty")
@Slf4j
public class EmptyAndQtyController {
private final EmptyAndQtyService emptyAndQtyService;
@PostMapping("/confirm")
@Log("绑定")
@ApiOperation("绑定")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(emptyAndQtyService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,13 @@
package org.nl.wms.pda.emptyandqty.service;
import com.alibaba.fastjson.JSONObject;
public interface EmptyAndQtyService {
/**
* 绑定
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -0,0 +1,51 @@
package org.nl.wms.pda.emptyandqty.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.utils.SecurityUtils;
import org.nl.utils.SpringContextHolder;
import org.nl.wms.basedata.master.service.StoragevehicleinfoService;
import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.pda.emptyandqty.service.EmptyAndQtyService;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Slf4j
public class EmptyAndQtyServiceImpl implements EmptyAndQtyService {
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
String vehicle_code = whereJson.getString("vehicle_code");
String qty = whereJson.getString("qty");
WQLObject vqTab = WQLObject.getWQLObject("PDM_BI_vehicleQty");
StoragevehicleinfoDto byCode = SpringContextHolder.getBean(StoragevehicleinfoService.class).findByCode(vehicle_code);
// 插入记录
JSONObject json = new JSONObject();
json.put("vehicleqty_id", IdUtil.getSnowflake(1, 1).nextId());
json.put("vehicle_id", byCode.getStoragevehicle_id());
json.put("vehicle_code", vehicle_code);
json.put("qty", qty);
json.put("is_task", "0");
json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getNickName());
json.put("create_time", DateUtil.now());
vqTab.insert(json);
// 返回成功
JSONObject result = new JSONObject();
result.put("srb", "");
result.put("code", "1");
result.put("desc", "操作成功");
return result;
}
}

View File

@@ -1,14 +1,14 @@
package org.nl.wms.ext.login.rest;
package org.nl.wms.pda.login.rest;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSONObject;
import org.nl.annotation.Log;
import org.nl.config.RsaProperties;
import org.nl.exception.BadRequestException;
@@ -18,10 +18,9 @@ import org.nl.modules.security.service.OnlineUserService;
import org.nl.modules.security.service.dto.JwtUserDto;
import org.nl.modules.system.service.UserService;
import org.nl.modules.system.service.dto.UserDto;
import org.nl.utils.RsaUtils;
import org.nl.utils.SecurityUtils;
import org.nl.wms.ext.login.service.HandLoginService;
import org.nl.wms.pda.login.service.HandLoginService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -45,7 +44,7 @@ import java.util.Map;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持登陆")
@RequestMapping("api/bigScreenScreen")
@RequestMapping("api/pda")
@Slf4j
public class HandLoginController {
private final HandLoginService handLoginService;
@@ -56,7 +55,7 @@ public class HandLoginController {
private final TokenProvider tokenProvider;
private final OnlineUserService onlineUserService;
@PostMapping("/login")
@PostMapping("/handlogin")
@Log("手持登陆验证")
@ApiOperation("手持登陆验证")
public ResponseEntity<Object> handlogin(@RequestBody Map<String, String> whereJson, HttpServletRequest request) {

View File

@@ -1,4 +1,4 @@
package org.nl.wms.ext.login.service;
package org.nl.wms.pda.login.service;
import java.util.Map;

View File

@@ -1,11 +1,11 @@
package org.nl.wms.ext.login.service.impl;
package org.nl.wms.pda.login.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.config.RsaProperties;
import org.nl.modules.security.config.bean.SecurityProperties;
import org.nl.modules.security.security.TokenProvider;
@@ -15,7 +15,7 @@ import org.nl.modules.system.service.UserService;
import org.nl.modules.system.service.dto.UserDto;
import org.nl.utils.RsaUtils;
import org.nl.utils.SecurityUtils;
import org.nl.wms.ext.login.service.HandLoginService;
import org.nl.wms.pda.login.service.HandLoginService;
import org.nl.wql.WQL;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
@@ -44,22 +44,6 @@ public class HandLoginServiceImpl implements HandLoginService {
JSONObject resultJson = new JSONObject();
String user = jsonObject.get("user");
String password = jsonObject.get("password");
String device_id = jsonObject.get("device_id");
if (StrUtil.isEmpty("user")) {
resultJson.put("code", "0");
resultJson.put("desc", "用户不能为空");
return resultJson;
}
if (StrUtil.isEmpty("device_id")) {
resultJson.put("code", "0");
resultJson.put("desc", "设备不能为空");
return resultJson;
}
if (StrUtil.isEmpty("password")) {
resultJson.put("code", "0");
resultJson.put("desc", "密码不能为空!");
return resultJson;
}
boolean is_match = false;
Long account_id = 0L;
try {
@@ -86,7 +70,6 @@ public class HandLoginServiceImpl implements HandLoginService {
final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
// 保存在线信息
onlineUserService.save(jwtUserDto, token, null);
JSONObject jo = new JSONObject();
jo.put("user_name", user);
jo.put("token", properties.getTokenStartWith() + token);
@@ -109,17 +92,19 @@ public class HandLoginServiceImpl implements HandLoginService {
JSONObject result = WQL.getWO("QPADSTSETSERVICE").addParam("flag", "4").addParam("accountId", accountId).addParam("component", "0").process().uniqueResult(0);
//查询二级
JSONArray SecondResults = WQL.getWO("QPADSTSETSERVICE").addParam("flag", "4").addParam("accountId", accountId).addParam("component", "1").process().getResultJSONArray(0);
//JSONArray SecondResults = WQL.getWO("QPADSTSETSERVICE").addParam("flag", "4").addParam("accountId", accountId).addParam("component", "1").process().getResultJSONArray(0);
//查询三级
JSONArray roleTree = new JSONArray();
/* JSONArray roleTree = new JSONArray();
for (int i = 0; i < SecondResults.size(); i++) {
JSONObject row = SecondResults.getJSONObject(i);
String menu_id = row.getString("menu_id");
JSONArray ThirdResults = WQL.getWO("QPADSTSETSERVICE").addParam("flag", "4").addParam("accountId", accountId).addParam("component", "2").addParam("pid", menu_id).process().getResultJSONArray(0);
row.put("sonTree", ThirdResults);
roleTree.add(row);
}
result.put("sonTree", roleTree);
}*/
JSONArray ThirdResults = WQL.getWO("QPADSTSETSERVICE").addParam("flag", "4").addParam("accountId", accountId).addParam("component", "2").process().getResultJSONArray(0);
result.put("sonTree", ThirdResults);
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");

View File

@@ -0,0 +1,492 @@
[交易说明]
交易名: 库区分页查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.searchbar TYPEAS s_string
输入.option_type TYPEAS s_string
输入.bag_id TYPEAS s_string
输入.bucketunique TYPEAS s_string
输入.class_code TYPEAS s_string
输入.component TYPEAS s_string
输入.pid TYPEAS s_string
输入.accountId TYPEAS s_string
输入.workprocedure_code TYPEAS s_string
输入.dict_type TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT
class.class_name,
class.class_code,
base.material_id,
base.material_code,
base.material_name,
base.material_spec,
base.material_type_id,
class.class_desc AS material_dtl_scode_name,
base.base_unit_id,
unit.unit_name AS base_unit_id_name,
ext.standard_weight as standard_weight1 ,
"50" as standard_weight
FROM
MD_ME_MaterialBase base
LEFT JOIN md_pb_classstandard class ON class.class_id = base.material_type_id
LEFT JOIN MD_PB_MeasureUnit unit ON unit.measure_unit_id = base.base_unit_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON ext.material_id = base.material_id
WHERE
1 = 1
OPTION 输入.searchbar <> ""
(base.material_code like "%" 输入.searchbar "%"
OR
base.material_name like "%" 输入.searchbar "%")
ENDOPTION
OPTION 输入.class_code <> ""
class.class_code = 输入.class_code
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
bag.bagrecord_id,
bag.bag_id,
bag.material_id,
material.material_code as material_code ,
material.material_name as material_name,
bag.pcsn,
bag.qty_unit_id,
bag.qty_unit_name,
bag.storage_qty,
bag.return_person,
bag.status,
case bag.status when '01' then '生成'
when '02' then '组桶'
when '03' then '清洗'
else '' end as status_name,
bag.waste_type,
dictdtl.label as waste_type_name
FROM
MD_PB_BagRecord AS bag
LEFT JOIN MD_ME_MaterialBase material ON material.material_id = bag.material_id
left join sys_dict_detail dictdtl on dictdtl.value =bag.waste_type and dictdtl.dict_id='46'
WHERE
1 =1
OPTION 输入.bag_id <> ""
bag.bag_id = 输入.bag_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT
curdate( ) AS create_date,
bag.bagrecord_id,
bag.bag_id,
bag.material_id,
ext_id,
material.material_code,
material.material_name,
bag.print_type,
bag.return_person,
bag.pcsn,
bag.storage_qty,
bag.print_times,
DATE_FORMAT( bag.input_time, '%Y-%m-%d' ) as input_time
FROM
MD_PB_BagRecord AS bag
LEFT JOIN md_me_materialbase AS material ON material.material_id = bag.material_id
where 1=1
OPTION 输入.bag_id <> ""
bag.bag_id = 输入.bag_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "4"
QUERY
SELECT
max( sys_user.user_id )as accountId,
max( sys_user.username ) as username,
max( sys_roles_menus.menu_id ) as menu_id,
max( sys_menu.component ) as component,
max( sys_menu.path ) as path,
max( sys_menu.NAME ) as name
FROM
sys_user AS sys_user
LEFT JOIN sys_users_roles AS sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
LEFT JOIN sys_role AS sys_role ON sys_role.role_id = sys_users_roles.role_id
LEFT JOIN sys_roles_menus AS sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
LEFT JOIN sys_menu AS sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
WHERE
sys_menu.path LIKE 'RF%'
AND sys_menu.hidden = 1
OPTION 输入.accountId <> ""
sys_user.user_id = 输入.accountId
ENDOPTION
OPTION 输入.component <> ""
sys_menu.component = 输入.component
ENDOPTION
OPTION 输入.pid <> ""
sys_menu.pid = 输入.pid
ENDOPTION
GROUP BY
sys_menu.menu_id,
sys_menu.title,
sys_menu.component,
sys_menu.path,
sys_menu.NAME,
sys_menu.menu_sort
ORDER BY sys_menu.menu_sort
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "5"
QUERY
SELECT
bucket.bucket_record_id,
bucket.bucketunique,
bucket.material_id,
bucket.print_type,
material_code,
material_name,
bucket.pcsn,
bucket.qty_unit_id,
bucket.qty_unit_name,
bucket.storage_qty,
bucket.STATUS,
bucket.record_order,
DATE_FORMAT( bucket.create_time, '%Y-%m-%d' ) AS date,
DATE_FORMAT( bucket.create_time, '%Y-%m-%d' ) as input_time,
ext_id,
bucket.record_order,
bucket.is_active,
"否" as is_new_name,
"0" as is_new,
case bucket.status when '01' then '生成'
when '02' then '组盘'
when '03' then '入库'
when '04' then '出库'
when '05' then '入立库'
else '' end as status_name
FROM
md_pb_bucketrecord bucket
LEFT JOIN md_me_materialbase material ON material.material_id = bucket.material_id
where 1=1
OPTION 输入.bucketunique <> ""
bucket.bucketunique = 输入.bucketunique
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "6"
QUERY
SELECT
bag.bag_id,
bag.material_id,
material.material_code,
material.material_name,
bag.print_type,
bag.storage_qty ,
"否" as is_new_name,
"0" as is_new,
bag.pcsn,
bag.return_person,
DATE_FORMAT( bag.input_time, '%Y-%m-%d' ) AS date,
DATE_FORMAT( bag.input_time, '%Y-%m-%d' ) AS input_time,
bag.bucketunique,
ext_id
FROM
MD_PB_BagRecord AS bag
LEFT JOIN md_me_materialbase AS material ON material.material_id = bag.material_id
where 1=1
OPTION 输入.bucketunique <> ""
bag.bucketunique = 输入.bucketunique
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "7"
QUERY
SELECT
bag.bag_id,
bag.material_id,
material.material_code,
material.material_name,
bag.print_type,
bag.storage_qty,
bag.pcsn,
"是" as is_new_name,
"1" as is_new,
bag.bucketunique
FROM
MD_PB_BagRecord AS bag
LEFT JOIN md_me_materialbase AS material ON material.material_id = bag.material_id
where 1=1
OPTION 输入.bag_id <> ""
bag.bag_id = 输入.bag_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "8"
QUERY
SELECT
curdate( ) AS create_date,
DATE_FORMAT( bucket.create_time, '%Y-%m-%d' ) as input_time,
ext_id,
bucket.bucket_record_id,
bucket.record_order,
bucket.is_active,
bucket.bucketunique,
bucket.material_id,
material_code,
material_name,
bucket.pcsn,
bucket.qty_unit_id,
bucket.qty_unit_name,
bucket.storage_qty,
bucket.print_type
FROM
md_pb_bucketrecord bucket
LEFT JOIN md_me_materialbase material ON material.material_id = bucket.material_id
WHERE
1 =1
OPTION 输入.bucketunique <> ""
bucket.bucketunique = 输入.bucketunique
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "9"
QUERY
SELECT
bucket.bucket_record_id,
bucket.bucketunique,
bucket.material_id,
material_code,
material_name,
bucket.pcsn,
bucket.qty_unit_id,
bucket.qty_unit_name,
bucket.storage_qty,
bucket.STATUS,
case bucket.status when '01' then '生成'
when '02' then '组盘'
when '03' then '入库'
when '04' then '出库'
when '05' then '入立库'
else '' end as status_name
FROM
md_pb_bucketrecord bucket
LEFT JOIN md_me_materialbase material ON material.material_id = bucket.material_id
where 1=1
OPTION 输入.bucketunique <> ""
bucket.bucketunique = 输入.bucketunique
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "10"
QUERY
SELECT
dtl.VALUE AS waste_type,
dtl.label AS waste_type_name
FROM
sys_dict dict
LEFT JOIN sys_dict_detail dtl ON dict.dict_id = dtl.dict_id
WHERE
dict.NAME = 'MD_MATERIAL_WASTE_TYPE'
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "11"
PAGEQUERY
SELECT
device.device_id,
device.device_code,
device.device_name,
device.device_model,
device.device_specification,
device.workprocedure_id,
device.workprocedure_code,
device.workprocedure_name
FROM
em_bi_deviceinfo device
WHERE
1 = 1
OPTION 输入.searchbar <> ""
(device.device_code like "%" 输入.searchbar "%"
OR
device.device_name like "%" 输入.searchbar "%")
ENDOPTION
OPTION 输入.workprocedure_code <> ""
device.workprocedure_code = 输入.workprocedure_code
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "12"
QUERY
SELECT
bucket.bucket_record_id,
bucket.bucketunique,
bucket.material_id,
material_code,
material_name,
bucket.pcsn,
bucket.qty_unit_id,
bucket.qty_unit_name,
bucket.storage_qty,
bucket.STATUS,
bucket.record_order,
case bucket.status when '01' then '生成'
when '02' then '组盘'
when '03' then '入库'
when '04' then '出库'
when '05' then '入立库'
when '06' then '线下处理'
else '' end as status_name,
case bucket.status when '06' then '1'
else '0' end as is_offline_hand
FROM
md_pb_bucketrecord bucket
LEFT JOIN md_me_materialbase material ON material.material_id = bucket.material_id
where 1=1
and bucket.status in(01,02,03,06)
OPTION 输入.bucketunique <> ""
bucket.bucketunique = 输入.bucketunique
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "13"
QUERY
SELECT
bucket.*,
mb.material_code,
mb.ext_id,
mb.material_name,
DATE_FORMAT( bucket.create_time, '%Y-%m-%d' ) as input_time
FROM
pdm_bi_formulabucketrecord bucket
LEFT JOIN md_me_materialbase mb ON mb.material_id = bucket.material_id
WHERE
1=1
AND
bucket.bucketunique = 输入.bucketunique
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "14"
QUERY
SELECT
bucket.*,
mb.material_code,
mb.material_name,
mb.ext_id,
DATE_FORMAT( bucket.create_time, '%Y-%m-%d' ) as input_time
FROM
md_pb_bucketrecord bucket
LEFT JOIN md_me_materialbase mb ON mb.material_id = bucket.material_id
WHERE
1=1
AND
bucket.bucketunique = 输入.bucketunique
AND
bucket.status IN ('01','02','03')
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "15"
QUERY
SELECT
detaial.label,
detaial.`value`
FROM
sys_dict_detail detaial
LEFT JOIN sys_dict dict ON dict.dict_id = detaial.dict_id
WHERE
dict.`name` = 输入.dict_type
OPTION 输入.dict_type = "sch_area_type"
detaial.value IN ('22','23','24')
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "16"
QUERY
SELECT
point.point_id,
point.point_code,
point.point_name
FROM
sch_base_point point
WHERE
point_name LIKE '分拣机械手%'
and device_point_type='01'
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,39 @@
package org.nl.wms.pda.sendmaterial.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.sendmaterial.service.SendMaterialService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持送料")
@RequestMapping("api/pda/sendMaterial")
@Slf4j
public class SendMaterialController {
private final SendMaterialService sendMaterialService;
@PostMapping("/queryPoint")
@Log("查询区域点位")
@ApiOperation("查询区域点位")
public ResponseEntity<Object> queryPoint() {
return new ResponseEntity<>(sendMaterialService.queryPoint(), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("送料确定")
@ApiOperation("送料确定")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(sendMaterialService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.pda.sendmaterial.service;
import com.alibaba.fastjson.JSONObject;
public interface SendMaterialService {
/**
* 查询区域点位
* @return JSONObject
*/
JSONObject queryPoint();
/**
* 送料确定
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -0,0 +1,69 @@
package org.nl.wms.pda.sendmaterial.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.pda.sendmaterial.service.SendMaterialService;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Slf4j
public class SendMaterialServiceImpl implements SendMaterialService {
private final AcsToWmsService acsToWmsService;
@Override
public JSONObject queryPoint() {
JSONObject result = new JSONObject();
// 1.查询区域:豪凯区域 HKQY01、共挤区域 GJQY01
JSONArray regionArr = WQL.getWO("PDA_SENDMATERIAL_01").addParam("flag", "1").process().getResultJSONArray(0);
// 2.根据区域查询对应的物料上料位
JSONObject resultJson = new JSONObject();
for (int i = 0; i < regionArr.size(); i++) {
JSONObject jsonRegion = regionArr.getJSONObject(i);
JSONArray pointArr = WQL.getWO("PDA_SENDMATERIAL_01").addParam("flag", "2").addParam("region_id", jsonRegion.getString("region_id")).process().getResultJSONArray(0);
jsonRegion.put("pointArr", pointArr);
}
resultJson.put("regionja", regionArr);
result.put("result", resultJson);
result.put("code", "1");
result.put("desc", "查询成功");
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
JSONObject result = new JSONObject();
// 1、准备参数point_code、type2为共挤区域8为豪凯区域
JSONObject param = new JSONObject();
String region_id = whereJson.getString("region_id");
JSONObject jsonObject = WQLObject.getWQLObject("sch_base_region").query("region_id ='" + region_id + "'").uniqueResult(0);
String region_code = jsonObject.getString("region_code");
if (StrUtil.equals(region_code, "GJQY01")) param.put("type","2");
if (StrUtil.equals(region_code, "HKQY01")) param.put("type","8");
param.put("point_code",whereJson.getString("point_code"));
param.put("qty",whereJson.getString("qty"));
// 2、调用接口
JSONObject json = acsToWmsService.apply(param);
if (StrUtil.equals(json.getString("status"), "200")) {
result.put("result", "");
result.put("code", "1");
result.put("desc", "操作成功");
} else {
result.put("result", "");
result.put("code", "0");
result.put("desc", "操作失败:"+json.getString("message"));
}
return result;
}
}

View File

@@ -0,0 +1,77 @@
[交易说明]
交易名: 手持送料查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.region_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
QUERY
SELECT
region_id,
region_code,
region_name
FROM
sch_base_region
WHERE
is_used = '1'
AND region_code in ('HKQY01','GJQY01')
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_id,
point_code,
point_name
FROM
sch_base_point
WHERE
is_used = '1'
AND is_delete = '0'
AND is_host = '0'
AND device_point_type = '2'
OPTION 输入.region_id <> ""
region_id = 输入.region_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,41 @@
package org.nl.wms.pda.sendvehicle.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.callvehicle.service.CallVehicleService;
import org.nl.wms.pda.sendmaterial.service.SendMaterialService;
import org.nl.wms.pda.sendvehicle.service.SendVehicleService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "手持送空托盘")
@RequestMapping("api/pda/sendEmpty")
@Slf4j
public class SendVehicleController {
private final SendVehicleService sendVehicleService;
@PostMapping("/queryPoint")
@Log("查询区域点位")
@ApiOperation("查询区域点位")
public ResponseEntity<Object> queryPoint() {
return new ResponseEntity<>(sendVehicleService.queryPoint(), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("送空托盘确定")
@ApiOperation("送空托盘确定")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(sendVehicleService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.pda.sendvehicle.service;
import com.alibaba.fastjson.JSONObject;
public interface SendVehicleService {
/**
* 查询区域点位
* @return JSONObject
*/
JSONObject queryPoint();
/**
* 送空托盘确定
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -0,0 +1,77 @@
package org.nl.wms.pda.sendvehicle.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.pda.callvehicle.service.CallVehicleService;
import org.nl.wms.pda.sendvehicle.service.SendVehicleService;
import org.nl.wms.sch.tasks.RegionTypeEnum;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Slf4j
public class SendVehicleServiceImpl implements SendVehicleService {
private final AcsToWmsService acsToWmsService;
@Override
public JSONObject queryPoint() {
JSONObject result = new JSONObject();
// 1.查询区域:输送区域 SSX01、油漆区域 YQQY01
JSONArray regionArr = WQL.getWO("PDA_SENDVEHICLE_01").addParam("flag", "1").process().getResultJSONArray(0);
// 2.根据区域查询对应的物料上料位
JSONObject resultJson = new JSONObject();
for (int i = 0; i < regionArr.size(); i++) {
JSONObject jsonRegion = regionArr.getJSONObject(i);
if (StrUtil.equals(jsonRegion.getString("region_id"), RegionTypeEnum.SSX.getId())) {
JSONArray pointArr = WQL.getWO("PDA_SENDVEHICLE_01").addParam("flag", "2").addParam("region_id", jsonRegion.getString("region_id")).process().getResultJSONArray(0);
jsonRegion.put("pointArr", pointArr);
} else {
JSONArray pointArr = WQL.getWO("PDA_SENDVEHICLE_01").addParam("flag", "3").addParam("region_id", jsonRegion.getString("region_id")).process().getResultJSONArray(0);
jsonRegion.put("pointArr", pointArr);
}
}
resultJson.put("regionja", regionArr);
result.put("result", resultJson);
result.put("code", "1");
result.put("desc", "查询成功");
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
JSONObject result = new JSONObject();
// 1、准备参数point_code、type6为输送线区域5为油漆区域
JSONObject param = new JSONObject();
String region_id = whereJson.getString("region_id");
JSONObject jsonObject = WQLObject.getWQLObject("sch_base_region").query("region_id ='" + region_id + "'").uniqueResult(0);
String region_code = jsonObject.getString("region_code");
if (StrUtil.equals(region_code, "SSX01")) param.put("type","6");
if (StrUtil.equals(region_code, "YQQY01")) param.put("type","5");
param.put("point_code",whereJson.getString("point_code"));
param.put("vehicle_code",whereJson.getString("vehicle_code"));
param.put("vehicle_num",whereJson.getString("qty"));
// 2、调用接口
JSONObject json = acsToWmsService.apply(param);
if (StrUtil.equals(json.getString("status"), "200")) {
result.put("result", "");
result.put("code", "1");
result.put("desc", "操作成功");
} else {
result.put("result", "");
result.put("code", "0");
result.put("desc", "操作失败:"+json.getString("message"));
}
return result;
}
}

View File

@@ -0,0 +1,99 @@
[交易说明]
交易名: 手持送空托盘查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.region_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
QUERY
SELECT
region_id,
region_code,
region_name
FROM
sch_base_region
WHERE
is_used = '1'
AND region_code in ('SSX01','YQQY01')
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_id,
point_code,
point_name
FROM
sch_base_point
WHERE
is_used = '1'
AND is_delete = '0'
AND is_host = '0'
AND device_point_type = '6'
OPTION 输入.region_id <> ""
region_id = 输入.region_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT
point_id,
point_code,
point_name
FROM
sch_base_point
WHERE
is_used = '1'
AND is_delete = '0'
AND is_host = '0'
AND device_point_type = '4'
OPTION 输入.region_id <> ""
region_id = 输入.region_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -120,4 +120,9 @@ public class PointDto implements Serializable {
* 修改时间
*/
private String update_time;
/**
* 设备点位类型
*/
private String device_point_type;
}

View File

@@ -76,7 +76,8 @@
point.update_optname,
point.update_time,
point.vehicle_type,
point.is_host
point.is_host,
point.device_point_type
FROM
sch_base_point point
LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id

View File

@@ -4,7 +4,7 @@ package org.nl.wms.sch.tasks;
* 任务状态枚举
*/
public enum RegionTypeEnum {
CPQY(1, "CPQY01", "成品区域","1557538851726168064"),
CPQYA(1, "CPQYA01", "成品区域A","1557538851726168064"),
YSQA(2, "YSQA01", "养生A区","1557539288307077120"),
YSQB(3, "YSQB01", "养生B区","1557539423292362752"),
GJQY(4, "GJQY01", "共挤区","1557539744848678912"),
@@ -12,7 +12,10 @@ public enum RegionTypeEnum {
DPJQA(6, "DPJQA01", "叠盘架A区","1558015562792177664"),
DPJQB(7, "DPJQB01", "叠盘架B区","1558015634472833024"),
KTPHCQA(8, "KTPHCQA01", "空托盘缓存A区","1558015810096730112"),
KTPHCQB(8, "KTPHCQB01", "空托盘缓存B区","1558015870570205184");
KTPHCQB(9, "KTPHCQB01", "空托盘缓存B区","1558015870570205184"),
HKQY(10, "HKQY01", "豪凯区域","1564862312702152704"),
CPQYB(11, "CPQYB01", "成品区域B","1564874102089584640"),
SSX(12, "SSX01", "输送线区域","1559374522581389312");
private int index;
private String code;

View File

@@ -295,8 +295,14 @@ public class SendMaterialTask extends AbstractAcsTask {
if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足");
next_point_code = jsonEndPoint.getString("point_code");
} else {
throw new BadRequestException("业务类型错误");
} else if (StrUtil.equals(jsonStartRegion.getString("region_code"),RegionTypeEnum.HKQY.getCode())) {
JSONObject map = new JSONObject();
map.put("flag", "2");
map.put("region_code", RegionTypeEnum.CPQYA.getCode());
JSONObject jsonEndPoint = WQL.getWO("ST_REGION_IN_01").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足");
next_point_code = jsonEndPoint.getString("point_code");
}
JSONObject resuft = new JSONObject();

View File

@@ -1241,7 +1241,7 @@ public class Test3 extends BaseTest {
}
JSONObject json = new JSONObject();
json.put("struct_id", IdUtil.getSnowflake(1,1).nextId());
json.put("struct_code", code1+"01"+ code);
json.put("struct_code", "YA"+code1+"-01-"+ code);
json.put("struct_name", String.valueOf(i) + "" + "1 层" + String.valueOf(j) + "");
json.put("simple_name",json.getString("struct_name"));
json.put("region_id", "1557539288307077120");
@@ -1261,6 +1261,82 @@ public class Test3 extends BaseTest {
System.out.println("创建成功");
}
@Test
public void createPoint2() {
WQLObject tab = WQLObject.getWQLObject("ST_IVT_StructAttr");
// 成品A 4排 5层 46列 成品B 4排 5层16列
for (int i = 1; i <=4; i++) {
String code1 = "";
if (i<10) {
code1 = "0"+ String.valueOf(i);
} else {
code1 = String.valueOf(i);
}
for (int j = 1; j <= 5; j++) {
String code = "";
if (j<10) {
code = "0"+ String.valueOf(j);
} else {
code = String.valueOf(j);
}
for (int k = 1; k <= 16; k++) {
String code3 = "";
if (j<10) {
code3 = "0"+ String.valueOf(k);
} else {
code3 = String.valueOf(k);
}
JSONObject json = new JSONObject();
json.put("struct_id", IdUtil.getSnowflake(1,1).nextId());
json.put("struct_code", "CA"+code1+"-"+code+"-"+ code3);
json.put("struct_name", String.valueOf(i) + "" + String.valueOf(j)+"" + String.valueOf(k) + "");
json.put("simple_name",json.getString("struct_name"));
json.put("region_id", "1564874102089584640");
json.put("region_code","CPQYB01");
json.put("region_name","成品区域B");
json.put("stor_id","1528627964823080960");
json.put("stor_code","F103");
json.put("stor_name","永裕仓库");
json.put("stor_type","01");
json.put("create_id","1");
json.put("create_name","管理员");
json.put("create_time", DateUtil.now());
json.put("material_height_type", "1");
tab.insert(json);
}
}
}
System.out.println("创建成功");
}
}
class A implements Runnable {
static A a = new A(); // 创建类变量
@Override
public void run() {
this.method();
}
public synchronized void method() {
System.out.println("我是线程" + Thread.currentThread().getName());
try {
Thread.sleep(3000);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "结束");
}
}
class B {
public static void main(String[] args) {
Thread thread1 = new Thread(A.a);
Thread thread2 = new Thread(A.a);
thread1.start();
thread2.start();
}
}

View File

@@ -129,9 +129,9 @@
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
width="520px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item v-if="false" label="点位标识" prop="point_id">
<el-input v-model="form.point_id" style="width: 370px;" />
</el-form-item>
@@ -171,6 +171,21 @@
/>
</el-select>
</el-form-item>
<el-form-item label="设备点位类型" prop="device_point_type">
<el-select
v-model="form.device_point_type"
size="mini"
placeholder="设备点位类型"
class="filter-item"
style="width: 370px;"
>
<el-option
v-for="item in dict.device_point_type"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
</el-form-item>
@@ -289,10 +304,10 @@ import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
/*import checkoutbill from '@/api/wms/st/core/outbill/checkoutbill'*/
const defaultForm = { point_id: null, is_host: null, point_code: null, point_name: null, area_type: null, point_type: '00', point_status: '00', lock_type: '00', vehicle_code: null, source_id: null, remark: null, is_used: null, is_delete: null, create_id: null, create_name: null, create_time: null, update_optid: null, update_optname: null, update_time: null }
const defaultForm = { device_point_type: null, point_id: null, is_host: null, point_code: null, point_name: null, area_type: null, point_type: '00', point_status: '00', lock_type: '00', vehicle_code: null, source_id: null, remark: null, is_used: null, is_delete: null, create_id: null, create_name: null, create_time: null, update_optid: null, update_optname: null, update_time: null }
export default {
name: 'Point',
dicts: ['sch_point_type', 'sch_area_type', 'sch_point_status', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'storagevehicle_type', 'IS_HOST'],
dicts: ['sch_point_type', 'sch_area_type', 'sch_point_status', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'storagevehicle_type', 'IS_HOST', 'device_point_type'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {