fix 所有任务

This commit is contained in:
张江玮
2023-04-18 10:20:48 +08:00
parent 7d8cb55911
commit f255c44516
24 changed files with 111 additions and 165 deletions

View File

@@ -18,6 +18,8 @@ import org.nl.modules.security.service.dto.AuthUserDto;
import org.nl.modules.system.service.RoleService;
import org.nl.modules.system.service.UserService;
import org.nl.modules.system.service.dto.UserDto;
import org.nl.wms.pda.anno.PdaAnnotation;
import org.nl.wms.pda.util.PdaUtils;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@@ -48,14 +50,15 @@ public class MobileAuthorizationController {
@ApiOperation("登录授权")
@PostMapping(value = "/login")
@SaIgnore
public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
@PdaAnnotation
public JSONObject login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
// 密码解密 - 前端的加密规则: encrypt根据实际更改
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword());
// 校验数据库
// 根据用户名查询,在比对密码
UserDto userDto = userService.findByName(authUser.getUsername()); // 拿不到已经抛出异常
if (!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密
throw new BadRequestException("账号或密码错误");
throw new BadRequestException("账号或密码错误");
}
// 获取权限列表 - 登录查找权限
List<String> permissionList = roleService.getPermissionList(userDto);
@@ -77,11 +80,11 @@ public class MobileAuthorizationController {
// 返回 token 与 用户信息
JSONObject jsonObject = new JSONObject();
jsonObject.put("user", userDto);
Map<String, Object> authInfo = new HashMap<String, Object>(2) {{
JSONObject authInfo = new JSONObject(2) {{
put("token", "Bearer " + StpUtil.getTokenValue());
put("user", jsonObject);
}};
return ResponseEntity.ok(authInfo);
return PdaUtils.buildSuccessResultJSON(authInfo);
}
}

View File

@@ -63,11 +63,7 @@ public class AcsToWmsController {
@ApiOperation("ACS机械手给WMS发送任务")
@SaIgnore
public ResponseEntity<Object> manipulatorApply(@RequestBody JSONObject whereJson) {
acsToWmsService.manipulatorApply(whereJson);
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "发送任务成功");
return new ResponseEntity<>(result, HttpStatus.OK);
return new ResponseEntity<>(acsToWmsService.manipulatorApply(whereJson), HttpStatus.OK);
}
@PostMapping("/reverseGroup")

View File

@@ -54,9 +54,11 @@ public interface AcsToWmsService {
/**
* ACS机械手给WMS发送任务
* 组盘
*
* @param whereJson
* @return
*/
void manipulatorApply(JSONObject whereJson);
JSONObject manipulatorApply(JSONObject whereJson);
/**
* ACS给WMS请求是否优先包装

View File

@@ -192,6 +192,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
RLock lock = redissonClient.getFairLock("acs_to_wms:" + point_code);
boolean try_lock = false;
String task_code = null;
try {
try_lock = lock.tryLock(5, TimeUnit.SECONDS);
if (try_lock) {
@@ -230,12 +231,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
switch (region) {
case HL:
hlSendMaterialTask.createTask(method_param);
task_code = hlSendMaterialTask.createTask(method_param);
break;
case YZ:
method_param.put("workorder", param.getJSONObject("workorder"));
method_param.put("vd", param.getJSONObject("vd"));
yzSendMaterialTask.createTask(method_param);
task_code = yzSendMaterialTask.createTask(method_param);
break;
case SZ:
WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail");
@@ -250,7 +251,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
vd_table.update(vd);
method_param.put("vd", vd);
szSendMaterialTask.createTask(method_param);
task_code = szSendMaterialTask.createTask(method_param);
break;
default:
throw new BadRequestException("[" + region.label() + "] 不能发起送料任务!");
@@ -260,7 +261,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 叫料
switch (region) {
case FJ:
fjCallMaterialTask.createTask(method_param);
task_code = fjCallMaterialTask.createTask(method_param);
break;
default:
throw new BadRequestException("[" + region.label() + "] 不能发起叫料任务!");
@@ -270,7 +271,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 送空
switch (region) {
case FJ:
fjSendEmptyTask.createTask(method_param);
task_code = fjSendEmptyTask.createTask(method_param);
break;
default:
throw new BadRequestException("[" + region.label() + "] 不能发起送空任务!");
@@ -280,10 +281,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 叫空
switch (region) {
case HL:
hlCallEmptyTask.createTask(method_param);
task_code = hlCallEmptyTask.createTask(method_param);
break;
case YZ:
yzCallEmptyTask.createTask(method_param);
task_code = yzCallEmptyTask.createTask(method_param);
break;
case GTK:
break;
@@ -304,7 +305,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
JSONObject result = new JSONObject();
result.put("message", "申请任务成功");
result.put("message", "申请任务成功,任务编码 [" + task_code + "]");
result.put("status", HttpStatus.OK.value());
return result;
}
@@ -314,10 +315,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* 组盘
*
* @param jsonObject
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void manipulatorApply(JSONObject jsonObject) {
public JSONObject manipulatorApply(JSONObject jsonObject) {
String point_code = jsonObject.getString("device_code"); // 对接位
if (StrUtil.isBlank(point_code)) {
throw new BadRequestException("点位不能为空!");
@@ -337,7 +339,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
String is_full = jsonObject.getString("is_full");
if (StrUtil.isBlank(is_full)) {
throw new BadRequestException("是否满不能为空!");
throw new BadRequestException("是否满不能为空!");
}
JSONObject point = WQLObject
@@ -350,7 +352,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
TaskUtils.isLocked(point);
JSONObject work_order = TaskUtils.hasWorkOrder(point);
String device_code = work_order.getString("device_code");
String vehicle_type = work_order.getString("vehicle_type");
WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail");
JSONObject vd_update = new JSONObject();
@@ -445,7 +446,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
param.put("vehicle_code", vehicle_code);
param.put("type", "1");
param.put("request_param", jsonObject.toJSONString());
this.apply(param);
return this.apply(param);
}
/**

View File

@@ -120,7 +120,7 @@ public class PdaController {
}
String is_full = param.getString("is_full");
if (StrUtil.isBlank(is_full)) {
throw new BadRequestException("是否满不能为空!");
throw new BadRequestException("是否满不能为空!");
}
pdaService.sendMaterial(point_code, vehicle_code, qty, weight, is_full, param.toJSONString());

View File

@@ -46,7 +46,7 @@ public interface PdaService {
* @param vehicle_code 载具编码
* @param qty 数量
* @param weight 重量
* @param is_full 是否满
* @param is_full 是否满
*/
void sendMaterial(String point_code, String vehicle_code, String qty, String weight, String is_full, String request_param);
}

View File

@@ -114,7 +114,7 @@ public class WorkorderServiceImpl implements WorkordeService {
String device_code = dto.getDevice_code();
String vehicle_type = dto.getVehicle_type();
if (!device_code.startsWith("FJ")) {
if (device_code.startsWith("YZ")) {
if (device_code.startsWith("YJ")) {
vehicle_type = VehicleType.STEEL_TRAY.value();
} else if (device_code.startsWith("HL")) {
vehicle_type = VehicleType.CUP.value();

View File

@@ -87,37 +87,10 @@ public class TaskServiceImpl implements TaskService {
if (StrUtil.isNotEmpty(whereJson.getString("end_time"))) {
map.put("end_time", whereJson.getString("end_time"));
}
JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "task.update_time desc");
JSONArray content = json.getJSONArray("content");
JSONArray res = new JSONArray();
//点位基础表【SCH_BASE_Point】
WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point");
for (int i = 0; i < content.size(); i++) {
JSONObject taskObj = content.getJSONObject(i);
String point_code1 = taskObj.getString("point_code1");
if (ObjectUtil.isNotEmpty(point_code1)) {
JSONObject point1 = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(point1))
taskObj.put("point1_region_name", point1.getString("region_name"));
}
String point_code2 = taskObj.getString("point_code2");
if (ObjectUtil.isNotEmpty(point_code2)) {
JSONObject point2 = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(point2))
taskObj.put("point2_region_name", point2.getString("region_name"));
}
String point_code3 = taskObj.getString("point_code3");
if (ObjectUtil.isNotEmpty(point_code3)) {
JSONObject point3 = pointTab.query("point_code = '" + point_code3 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(point3))
taskObj.put("point3_region_name", point3.getString("region_name"));
}
res.add(taskObj);
if (StrUtil.isNotEmpty(whereJson.getString("point_code"))) {
map.put("point_code", "%" + whereJson.getString("point_code") + "%");
}
json.put("content", res);
return json;
return WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "task.update_time desc");
}
@Override

View File

@@ -64,7 +64,7 @@ public class HLCallEmptyTask extends AbstractAcsTask {
);
WQLObject.getWQLObject("sch_base_task").insert(task);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -70,7 +70,7 @@ public class YZCallEmptyTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -64,7 +64,7 @@ public class FJCallMaterialTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -80,7 +80,7 @@ public class SZCallMaterialTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -63,7 +63,7 @@ public class FJSendEmptyTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -70,7 +70,7 @@ public class HLSendMaterialTask extends AbstractAcsTask {
);
WQLObject.getWQLObject("sch_base_task").insert(task);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -48,7 +48,7 @@ public class SZSendMaterialTask extends AbstractAcsTask {
point.getString("point_code"),
null,
vd.getString("material_id"),
VehicleType.STEEL_TRAY.value(),
vd.getString("vehicle_type"),
vd.getString("vehicle_code"),
"1",
SZSendMaterialTask.class.getName(),
@@ -63,7 +63,7 @@ public class SZSendMaterialTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -65,7 +65,7 @@ public class YZSendMaterialTask extends AbstractAcsTask {
point.put("task_code", task.getString("task_code"));
WQLObject.getWQLObject("sch_base_point").update(point);
return task.getString("task_id");
return task.getString("task_code");
}

View File

@@ -49,9 +49,12 @@
IF 输入.flag = "1"
PAGEQUERY
SELECT
point.*
point.*,
material.material_code
FROM
sch_base_point point
LEFT JOIN st_ivt_vehicle_detail vd ON point.vehicle_code = vd.vehicle_code AND vd.is_delete = '0'
LEFT JOIN md_me_materialbase material ON vd.material_id = material.material_id
WHERE
1 = 1
OPTION 输入.region_id <> ""

View File

@@ -17,13 +17,14 @@
输入.task_status TYPEAS s_string
输入.finished_type TYPEAS s_string
输入.task_type TYPEAS s_string
输入.point_code1 TYPEAS s_string
输入.point_code2 TYPEAS s_string
输入.point_code1 TYPEAS s_string
输入.point_code2 TYPEAS s_string
输入.task_code TYPEAS s_string
输入.vehicle_code TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
输入.unFinish TYPEAS s_string
输入.point_code TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -51,26 +52,18 @@
PAGEQUERY
SELECT
task.*,
md.class_name task_type_name,
dict.label task_status_name
point1.point_name AS point1_name,
point1.region_name AS point1_region_name,
point2.point_name AS point2_name,
point2.region_name AS point2_region_name,
material.material_code
FROM
sch_base_task task
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
LEFT JOIN sys_dict_detail dict ON dict.`value` = task.task_status AND dict.`name` = 'task_status'
LEFT JOIN sch_base_point point1 ON task.point_code1 = point1.point_code
LEFT JOIN sch_base_point point2 ON task.point_code2 = point2.point_code
LEFT JOIN md_me_materialbase material ON task.material_id = material.material_id
WHERE
task.is_delete = '0'
OPTION 输入.task_type <> ""
task.task_type = 输入.task_type
ENDOPTION
OPTION 输入.finished_type <> ""
task.finished_type = 输入.finished_type
ENDOPTION
OPTION 输入.begin_time <> ""
task.create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
task.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.unFinish <> ""
task.task_status <> '7' AND task_status <> '8'
ENDOPTION
@@ -84,7 +77,7 @@
(task.task_code like 输入.task_code)
ENDOPTION
OPTION 输入.point_code <> ""
(task.point_code1 like 输入.point_code1)
((point1.point_name like 输入.point_code) OR (point2.point_name LIKE 输入.point_code))
ENDOPTION
OPTION 输入.begin_time <> ""
task.create_time >= 输入.begin_time