rev:新增流程,新增权限

This commit is contained in:
2025-07-31 16:53:26 +08:00
parent 823d35f2b7
commit 9a4ed5895a
41 changed files with 939 additions and 4 deletions

View File

@@ -0,0 +1,53 @@
package org.nl.wms.database.workshop.controller;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.database.workshop.service.IMdBaseWorkshopService;
import org.nl.wms.database.workshop.service.IStIvtUsershopService;
import org.nl.wms.database.workshop.service.dao.MdBaseWorkshop;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import java.util.Set;
/**
* @author lyd
* @date 2023-05-05
**/
@Slf4j
@RestController
@RequestMapping("/api/userStor")
public class StIvtUserShopController {
@Autowired
private IStIvtUsershopService iStIvtUsershopService;
@GetMapping
@Log("查询人员信息")
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
return new ResponseEntity<>(TableDataInfo.build(iStIvtUsershopService.queryAll(whereJson, page)), HttpStatus.OK);
}
@PostMapping("/save")
@Log("保存用户车间信息")
public ResponseEntity<Object> save(@RequestBody JSONObject whereJson) {
iStIvtUsershopService.save(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/queryUserStor")
@Log("查询用户对应车间")
public ResponseEntity<Object> queryUserStor(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(iStIvtUsershopService.queryUserStor(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,52 @@
package org.nl.wms.database.workshop.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.database.workshop.service.dao.StIvtUsershop;
import java.util.List;
import java.util.Map;
/**
* <p>
* 服务类
* </p>
*
* @author author
* @since 2025-07-31
*/
public interface IStIvtUsershopService extends IService<StIvtUsershop> {
/**
* 查询数据分页
*
* @param whereJson 条件
* @param pageable 分页参数
* @return IPage<MdBaseWorkshop>
*/
IPage<JSONObject> queryAll(Map whereJson, PageQuery pageable);
/**
* 保存
*
* @param whereJson /
*/
void save(JSONObject whereJson);
/**
* 查询用户对应车间
*
* @param whereJson /
*/
List<StIvtUsershop> queryUserStor(JSONObject whereJson);
/**
* 查询人员对应车间公共方法
* @return List<String>
*/
List<String> getWorkShop();
}

View File

@@ -0,0 +1,38 @@
package org.nl.wms.database.workshop.service.dao;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 人员权限车间
* </p>
*
* @author author
* @since 2025-07-31
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("st_ivt_usershop")
public class StIvtUsershop implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户id
*/
@TableId(value = "user_id")
private String user_id;
/**
* 车间编码
*/
private String work_shop;
}

View File

@@ -0,0 +1,22 @@
package org.nl.wms.database.workshop.service.dao.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.database.workshop.service.dao.StIvtUsershop;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import java.util.Map;
/**
* <p>
* Mapper 接口
* </p>
*
* @author author
* @since 2025-07-31
*/
public interface StIvtUsershopMapper extends BaseMapper<StIvtUsershop> {
IPage<JSONObject> selectPageLeftJoin(IPage<JSONObject> pages, Map whereJson);
}

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.database.workshop.service.dao.mapper.StIvtUsershopMapper">
<select id="selectPageLeftJoin" resultType="com.alibaba.fastjson.JSONObject">
SELECT
u.*,
sdept2.name
FROM
sys_user u
LEFT JOIN sys_user_dept sdept ON sdept.user_id = u.user_id
LEFT JOIN sys_dept sdept2 ON sdept.dept_id = sdept2.dept_id
<where>
u.is_used = '1'
<if test="whereJson.blurry != null">
AND (u.username LIKE #{whereJson.blurry} or
u.person_name LIKE #{whereJson.blurry})
</if>
</where>
ORDER BY u.create_time DESC
</select>
</mapper>

View File

@@ -0,0 +1,83 @@
package org.nl.wms.database.workshop.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.database.workshop.service.IStIvtUsershopService;
import org.nl.wms.database.workshop.service.dao.MdBaseWorkshop;
import org.nl.wms.database.workshop.service.dao.StIvtUsershop;
import org.nl.wms.database.workshop.service.dao.mapper.StIvtUsershopMapper;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* </p>
*
* @author author
* @since 2025-07-31
*/
@Service
public class StIvtUsershopServiceImpl extends ServiceImpl<StIvtUsershopMapper, StIvtUsershop> implements IStIvtUsershopService {
@Override
public IPage<JSONObject> queryAll(Map whereJson, PageQuery page) {
IPage<JSONObject> pages = new Page<>(page.getPage() + 1, page.getSize());
pages = this.baseMapper.selectPageLeftJoin(pages, whereJson);
return pages;
}
@Override
public void save(JSONObject whereJson) {
JSONObject jo = whereJson.getJSONObject("jo");
JSONArray rows = whereJson.getJSONArray("rows");
String user_id = jo.getString("user_id");
this.removeById(user_id);
for (int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
String work_shop = row.getString("work_shop");
StIvtUsershop stIvtUsershop = new StIvtUsershop();
stIvtUsershop.setUser_id(user_id);
stIvtUsershop.setWork_shop(work_shop);
this.save(stIvtUsershop);
}
}
@Override
public List<StIvtUsershop> queryUserStor(JSONObject whereJson) {
String user_id = whereJson.getString("user_id");
List<StIvtUsershop> list = this.list(
new QueryWrapper<StIvtUsershop>().lambda()
.eq(StIvtUsershop::getUser_id, user_id)
);
return list;
}
@Override
public List<String> getWorkShop() {
String currentUserId = SecurityUtils.getCurrentUserId();
List<StIvtUsershop> list = this.list(
new QueryWrapper<StIvtUsershop>().lambda()
.eq(StIvtUsershop::getUser_id, currentUserId)
);
List<String> collect = list.stream()
.map(StIvtUsershop::getWork_shop)
.collect(Collectors.toList());
if (ObjectUtil.isEmpty(collect)) {
collect = null;
}
return collect;
}
}

View File

@@ -25,6 +25,15 @@ public interface WmsToAcsService {
*/
AcsResponse renotifyAcs(List<AcsTaskDto> list);
/**
* 下发任务2骑
* 统一在这里维护
*
* @param list: 任务链表
* @return
*/
AcsResponse renotifyAcs2(List<AcsTaskDto> list);
/**
* 下发信号 - 覆膜机释放托盘
*

View File

@@ -36,6 +36,15 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
return resultForAcs;
}
@Override
public AcsResponse renotifyAcs2(List<AcsTaskDto> list) {
String api = "api/wms/task";
AcsResponse resultForAcs = AcsUtil.notifyAcs3(api, IssueAcsRequest.buildRequestObj("下发任务", list));
// 记录日志
// interactRecordService.saveRecord("下发任务", list, resultForAcs, GeneralDefinition.LMS_ACS);
return resultForAcs;
}
@Override
public ResultForAcs getVehicleForLaminatingMachine(List<PutActionRequest> list) {
String api = "/api/wms/action";

View File

@@ -106,7 +106,13 @@ public class MesToWmsServiceImpl implements MesToWmsService {
jsonErro.put("MsgTime", DateUtil.now());
erroList.add(jsonErro);
} else {
jsonItem.put("task_type",json.getString("task_type"));
// 判断是否是二期任务
if (jsonItem.getString("TaskType").equals("BLGT")) {
jsonItem.put("task_type","TWOPUBTask");
} else {
jsonItem.put("task_type",json.getString("task_type"));
}
taskCreateList.add(jsonItem);
}
}
@@ -125,7 +131,20 @@ public class MesToWmsServiceImpl implements MesToWmsService {
}
// 调用下发acs
AcsResponse acsResponse = wmsToAcsService.renotifyAcs(sendAcsList);
// 判断是否二期任务
AcsResponse acsResponse ;
boolean isTwo = sendAcsList.stream()
.allMatch(row -> row.getDtl_type().equals("2"));
boolean isOne = sendAcsList.stream()
.allMatch(row -> row.getDtl_type().equals("1"));
if (isTwo) {
acsResponse = wmsToAcsService.renotifyAcs2(sendAcsList);
} else if (isOne) {
acsResponse = wmsToAcsService.renotifyAcs(sendAcsList);
} else {
throw new BadRequestException("不能一起发送一期任务和二期任务!");
}
if (acsResponse.getCode() == HttpStatus.HTTP_BAD_REQUEST) {
// 说明有报错,处理报错内容
List<JSONObject> resultErroList = acsResponse.getErrArr().toJavaList(JSONObject.class);

View File

@@ -20,5 +20,5 @@ public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
int getCarryingByDevice(String deviceCode, String taskConfig);
IPage<SchBaseTask> selectPageLeftJoin(IPage<SchBaseTask> pages, SchBaseTaskQuery whereJson, List<String> collect);
IPage<SchBaseTask> selectPageLeftJoin(IPage<SchBaseTask> pages, SchBaseTaskQuery whereJson, List<String> collect, List<String> shopList);
}

View File

@@ -70,6 +70,12 @@
#{code}
</foreach>
</if>
<if test="shopList != null and shopList != ''">
AND t.workshop_code IN
<foreach collection="shopList" item="work_shop" separator="," open="(" close=")">
#{work_shop}
</foreach>
</if>
</where>
ORDER BY t.create_time DESC
</select>

View File

@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.database.workshop.service.IStIvtUsershopService;
import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
@@ -51,6 +52,10 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
@Autowired
private TaskFactory taskFactory;
@Autowired
private IStIvtUsershopService iStIvtUsershopService;
@Override
public IPage<SchBaseTask> queryAll(SchBaseTaskQuery whereJson, PageQuery page) {
List<String> collect = ObjectUtil.isNotEmpty(whereJson.getMore_task_status())
@@ -62,7 +67,11 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
}
}
IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
pages = schBaseTaskMapper.selectPageLeftJoin(pages, whereJson, collect);
List<String> shopList = iStIvtUsershopService.getWorkShop();
if (ObjectUtil.isEmpty(shopList)) {
return pages;
}
pages = schBaseTaskMapper.selectPageLeftJoin(pages, whereJson, collect,shopList);
return pages;
}

View File

@@ -149,6 +149,10 @@ public class GeneralDefinition {
* ACS路径
*/
public static final String ACS_URL = "acs_url";
/**
* ACS路径
*/
public static final String ACS_URL2 = "acs_url2";
/**
* 是否连接
*/

View File

@@ -113,6 +113,51 @@ public class AcsUtil {
return resultForAcs;
}
/**
* 二期任务
* 新的请求方式:对象中包含数组
*
* @param api
* @param object
* @param <T>
* @return
*/
public static <T> AcsResponse notifyAcs3(String api, T object) {
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class);
//判断是否连接ACS系统
Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_CONNECT_ACS);
if (ObjectUtil.isEmpty(isConnectAcs)) {
return AcsResponse.requestRefuse("参数表中:" + GeneralDefinition.IS_CONNECT_ACS + "不存在");
}
String isConnect = isConnectAcs.getValue();
//ACS地址127.0.0.1:8010
Param acsUrlObj = sysParamService.findByCode(GeneralDefinition.ACS_URL2);
if (ObjectUtil.isEmpty(acsUrlObj)) {
return AcsResponse.requestRefuse("参数表中:" + GeneralDefinition.ACS_URL2 + "不存在");
}
String acsUrl = acsUrlObj.getValue();
JSONObject result;
if (StrUtil.equals(GeneralDefinition.NO, isConnect)) {
return AcsResponse.requestRefuse("未连接ACS!");
}
String url = acsUrl + api;
log.info("下发acs任务的参数为:{}", object.toString());
AcsResponse resultForAcs;
try {
String resultMsg = HttpRequest.post(url)
.body(JSON.toJSONString(object))
.execute().body();
result = JSONObject.parseObject(resultMsg);
resultForAcs = JSONObject.toJavaObject(result, AcsResponse.class);
} catch (Exception e) {
String msg = e.getMessage();
//网络不通
log.error("连接失败:{}", msg);
return AcsResponse.requestRefuse("网络不通,操作失败!");
}
return resultForAcs;
}
public static JSONObject cancelTask(String api, JSONObject taskCode) {
JSONObject result = new JSONObject();

View File

@@ -54,6 +54,7 @@ public class BZXDMTHCTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class BZXDMTHCTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class CPJDBLXWTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class CPJDBLXWTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class CPJDGHJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class CPJDGHJTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class CPJDYHSZTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class CPJDYHSZTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class CPJDZBJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class CPJDZBJTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class KABDMTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class KABDMTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class KCPJTZPTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -76,6 +77,7 @@ public class KCPJTZPTask extends AbstractTask {
}
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class KDMABTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class KDMABTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class KTPDZBJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class KTPDZBJTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class MABCPJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class MABCPJTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class MABCTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MABCTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MABDMTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MABDMTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MABGPTHJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MABGPTHJTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MBZCPTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MBZCPTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MCDMTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class MCDMTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class MCDTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MCDTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MDDMTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MDDMTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MDMCPTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MDMCPTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MDMCTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class MDMCTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class MGPTHJABTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MGPTHJABTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MGPTHJCPTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class MGPTHJCPTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class MTHCDCPJTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -70,6 +71,7 @@ public class MTHCDCPJTask extends AbstractTask {
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());

View File

@@ -54,6 +54,7 @@ public class PUBLICLPQTask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class PUBLICLPQTask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -54,6 +54,7 @@ public class PUBMOVETask extends AbstractTask {
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A1");
taskService.save(task);
return task.getTask_id();
}
@@ -71,6 +72,7 @@ public class PUBMOVETask extends AbstractTask {
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("1");
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}

View File

@@ -0,0 +1,150 @@
package org.nl.wms.sch.task_manage.task.tasks.fj;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.IdUtil;
import org.nl.wms.ext.mes.service.WmsToMesService;
import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task_manage.AbstractTask;
import org.nl.wms.sch.task_manage.AcsTaskDto;
import org.nl.wms.sch.task_manage.GeneralDefinition;
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
import org.nl.wms.sch.task_manage.task.TaskType;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
import org.nl.wms.util.TaskUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* @Author: lxy
* @Description: 二期公共任务配置
* @Date: 2025/7/30
*/
@Component(value = "TWOPUBTask")
@TaskType("TWOPUBTask")
public class TWOPUBTask extends AbstractTask {
@Autowired
private ISchBaseTaskService taskService;
@Autowired
private ISchBaseTaskconfigService taskConfigService;
@Autowired
private WmsToMesService wmsToMesService;
@Override
public String create(JSONObject json) {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("PickingLocation"));
task.setPoint_code2(json.getString("PlacedLocation"));
task.setIs_vehicle(json.getString("IsPanCode"));
task.setExt_group_data(json.getString("CarryIsEmptyTuoPan"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());
task.setWorkshop_code("A2");
taskService.save(task);
return task.getTask_id();
}
@Override
public AcsTaskDto sendAcsParam(String taskId) {
SchBaseTask taskDao = taskService.getById(taskId);
// 组织下发给acs的数据
AcsTaskDto acsTaskDto = new AcsTaskDto();
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
acsTaskDto.setTask_code(taskDao.getTask_code());
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
acsTaskDto.setDtl_type("2");
acsTaskDto.setIs_vehicle(taskDao.getIs_vehicle());
acsTaskDto.setIs_empvehicle(taskDao.getExt_group_data());
return acsTaskDto;
}
@Override
protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code);
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成!");
}
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
throw new BadRequestException("该任务已取消!");
}
// 根据传来的类型去对任务进行操作
if (status.equals(TaskStatus.EXECUTING)) {
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
taskObj.setRemark("执行中");
TaskUtils.setUpdateByAcs(taskObj);
taskService.updateById(taskObj);
}
if (status.equals(TaskStatus.FINISHED)) {
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
}
if (status.equals(TaskStatus.CANCELED)) {
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
}
}
@Override
public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}
@Override
public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
}
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}
@Override
public void backMes(String task_code) {
wmsToMesService.receiveTaskStatusMesData(taskService.getByCode(task_code));
}
@Transactional(rollbackFor = Exception.class)
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
taskObj.setFinished_type(taskFinishedType.getCode());
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
taskService.updateById(taskObj);
// 通知mes任务完成
wmsToMesService.receiveTaskStatusMesData(taskObj);
}
@Transactional(rollbackFor = Exception.class)
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
taskObj.setFinished_type(taskFinishedType.getCode());
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
taskService.updateById(taskObj);
}
}