opt: 代码规范修改

This commit is contained in:
2023-12-15 14:32:49 +08:00
parent 067dbb27bd
commit c08e0ec1f4
60 changed files with 1231 additions and 332 deletions

View File

@@ -1,19 +1,36 @@
package org.nl.common.utils;
import lombok.SneakyThrows;
import org.nl.common.exception.BadRequestException;
import org.nl.config.SpringContextHolder;
import org.nl.system.service.coderule.ISysCodeRuleService;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class CodeUtil {
@SneakyThrows
public static String getNewCode(String ruleCode){
synchronized (ruleCode){
String flag = "1";
HashMap<String,String> map = new HashMap<>();
map.put("flag",flag);
map.put("code",ruleCode);
return SpringContextHolder.getBean(ISysCodeRuleService.class).codeDemo(map);
RedissonClient redissonClient = SpringContextHolder.getBean(RedissonClient.class);
RLock lock = redissonClient.getLock(ruleCode);
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
try {
if (tryLock) {
String flag = "1";
HashMap<String,String> map = new HashMap<>();
map.put("flag",flag);
map.put("code",ruleCode);
return SpringContextHolder.getBean(ISysCodeRuleService.class).codeDemo(map);
} else {
throw new BadRequestException("系统繁忙,稍后在试");
}
} finally {
if (tryLock) {
lock.unlock();
}
}
}

View File

@@ -96,7 +96,9 @@ public class Searcher {
// log.info("查询到{}条日志文件", docs.totalHits.value);
List<String> list = new ArrayList<>();
ScoreDoc[] scoreDocs = docs.scoreDocs;
if (end > docs.totalHits.value) end = (int) docs.totalHits.value;
if (end > docs.totalHits.value) {
end = (int) docs.totalHits.value;
}
for (int i = start; i < end; i++) {
ScoreDoc scoreDoc = scoreDocs[i];

View File

@@ -57,6 +57,7 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
}
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public String codeDemo(Map form) {
String code = (String) form.get("code");
String id = codeRuleMapper.selectOne(new LambdaQueryWrapper<SysCodeRule>().eq(SysCodeRule::getCode, code)).getId();
@@ -138,7 +139,9 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
String currentUsername = SecurityUtils.getCurrentUsername();
String now = DateUtil.now();
List<SysCodeRule> sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper<SysCodeRule>().eq(SysCodeRule::getCode, codeRule.getCode()));
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("编号[" + sysCodeRules.get(0).getCode() + "]已存在");
if (ObjectUtil.isNotEmpty(sysCodeRules)) {
throw new BadRequestException("编号[" + sysCodeRules.get(0).getCode() + "]已存在");
}
codeRule.setId(IdUtil.getSnowflake(1,1).nextIdStr());
codeRule.setCreate_id(currentUserId);
codeRule.setCreate_name(currentUsername);
@@ -163,7 +166,9 @@ public class SysCodeRuleServiceImpl extends ServiceImpl<SysCodeRuleMapper, SysCo
List<SysCodeRule> sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper<SysCodeRule>()
.eq(SysCodeRule::getCode, codeRule.getCode())
.ne(SysCodeRule::getId, codeRule.getId()));
if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("该编码code已存在请校验");
if (ObjectUtil.isNotEmpty(sysCodeRules)) {
throw new BadRequestException("该编码code已存在请校验");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String currentUsername = SecurityUtils.getCurrentUsername();
String now = DateUtil.now();

View File

@@ -39,7 +39,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
@Override
public IPage<Dict> queryAll(Map whereJson, PageQuery page) {
String blurry = null;
if (ObjectUtil.isNotEmpty(whereJson.get("blurry"))) blurry = whereJson.get("blurry").toString();
if (ObjectUtil.isNotEmpty(whereJson.get("blurry"))) {
blurry = whereJson.get("blurry").toString();
}
IPage<Dict> pages = this.page(new Page<>(page.getPage() + 1, page.getSize()), new QueryWrapper<Dict>()
.select("MAX(dict_id) AS dict_id, code, name")
.lambda()
@@ -59,7 +61,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
String date = DateUtil.now();
List<Dict> oldDict = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>()
.eq(ObjectUtil.isNotEmpty(dict.getCode()), Dict::getCode, dict.getCode()));
if (ObjectUtil.isNotEmpty(oldDict)) throw new BadRequestException("字典[" + dict.getCode() + "]已存在");
if (ObjectUtil.isNotEmpty(oldDict)) {
throw new BadRequestException("字典[" + dict.getCode() + "]已存在");
}
dict.setDict_id(IdUtil.getSnowflake(1, 1).nextIdStr());
dict.setCreate_id(currentUserId);
dict.setCreate_name(nickName);
@@ -78,8 +82,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
throw new BadRequestException("字典不存在");
}
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>().eq(Dict::getCode, dto.getCode()));
if (ObjectUtil.isNotEmpty(dictList) && !dto.getCode().equals(dict.getCode()))
if (ObjectUtil.isNotEmpty(dictList) && !dto.getCode().equals(dict.getCode())) {
throw new BadRequestException("字典[" + dto.getCode() + "]已存在");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String currentNickName = SecurityUtils.getCurrentNickName();
// 根据code获取所有字典
@@ -130,7 +135,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
// 校验是否已经有标签
Dict one = sysDictMapper.selectOne(new LambdaQueryWrapper<Dict>().eq(Dict::getLabel, dict.getLabel())
.eq(Dict::getCode, dict.getCode()));
if (ObjectUtil.isNotEmpty(one)) throw new BadRequestException("标签[" + dict.getLabel() + "]已存在");
if (ObjectUtil.isNotEmpty(one)) {
throw new BadRequestException("标签[" + dict.getLabel() + "]已存在");
}
// 判断是否有空的值
List<Dict> selectOne = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>().eq(Dict::getCode, dict.getCode()));
Dict dic = selectOne.get(0);

View File

@@ -61,7 +61,9 @@ public class StageImageServiceImpl extends ServiceImpl<StageImageMapper, StageIm
public void update(StageImage entity) {
StageImage dto = stageImageMapper.selectOne(new LambdaQueryWrapper<StageImage>()
.eq(StageImage::getImage_uuid, entity.getImage_uuid()));
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUsername = SecurityUtils.getCurrentUsername();
String currentUserId = SecurityUtils.getCurrentUserId();

View File

@@ -65,7 +65,9 @@ public class StageServiceImpl extends ServiceImpl<StageMapper, Stage> implements
@Override
public void update(Stage dto) {
Stage entity = stageMapper.selectOne(new LambdaQueryWrapper<Stage>().eq(Stage::getStage_uuid, dto.getStage_uuid()));
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUsername = SecurityUtils.getCurrentUsername();
String currentUserId = SecurityUtils.getCurrentUserId();

View File

@@ -248,7 +248,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
if (menuId != null) {
int count = baseMapper.findByPid(menuId).size();
SysMenu sysMenu = baseMapper.selectById(menuId);
if (ObjectUtil.isEmpty(sysMenu)) return;
if (ObjectUtil.isEmpty(sysMenu)) {
return;
}
sysMenu.setSub_count(count);
baseMapper.updateById(sysMenu);
}

View File

@@ -87,7 +87,9 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override
public void update(SysNotice entity) {
SysNotice dto = sysNoticeMapper.selectById(entity.getNotice_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
sysNoticeMapper.updateById(entity);
}
@@ -183,7 +185,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
res.put("data", "notice_message_update");
SocketMsg messageInfo = new SocketMsg(res, MsgType.INFO);
try {
webSocketServer.sendInfo(messageInfo, "messageInfo");
WebSocketServer.sendInfo(messageInfo, "messageInfo");
} catch (IOException e) {
throw new BadRequestException("消息发送失败");
}

View File

@@ -49,7 +49,9 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
@Transactional(rollbackFor = Exception.class)
public void create(Param param) {
List code = paramMapper.selectByMap(MapOf.of("code", param.getCode()));
if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException("编码不能一致");
if (ObjectUtil.isNotEmpty(code)) {
throw new BadRequestException("编码不能一致");
}
param.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

View File

@@ -55,7 +55,9 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
@Transactional(rollbackFor = Exception.class)
public void create(SysDataPermission permission) {
SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper<SysDataPermission>().eq(SysDataPermission::getCode, permission.getCode()));
if (ObjectUtil.isNotEmpty(sysDataPermission)) throw new BadRequestException("编码为[" + permission.getCode() + "]的数据权限已存在");
if (ObjectUtil.isNotEmpty(sysDataPermission)) {
throw new BadRequestException("编码为[" + permission.getCode() + "]的数据权限已存在");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
@@ -74,7 +76,9 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
@Transactional(rollbackFor = Exception.class)
public void update(SysDataPermission permission) {
SysDataPermission dataPermission = dataPermissionMapper.selectById(permission.getPermission_id());
if (ObjectUtil.isEmpty(dataPermission)) throw new BadRequestException("被删除或无权限,操作失败!");
if (ObjectUtil.isEmpty(dataPermission)) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
permission.setUpdate_time(DateUtil.now());
permission.setUpdate_id(SecurityUtils.getCurrentUserId());
permission.setUpdate_name(SecurityUtils.getCurrentNickName());
@@ -86,7 +90,9 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
public void deleteAll(Set<String> ids) {
ids.forEach(id -> {
List<UserDataPermissionDto> permissions = userService.getUserDataPermissionByPermissionId(id);
if (ObjectUtil.isNotEmpty(permissions)) throw new BadRequestException("存在相关联的数据权限,请解除关联后删除");
if (ObjectUtil.isNotEmpty(permissions)) {
throw new BadRequestException("存在相关联的数据权限,请解除关联后删除");
}
dataPermissionMapper.deleteById(id);
});
}
@@ -108,13 +114,19 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper<SysDataPermission>().eq(SysDataPermission::getPermission_id, userDataPermissionDto.getPermission_id()));
if (sysDataPermission.getCode().equals(DataScopeEnum.USER.getCode())) { // 用户权限
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds);
if (ObjectUtil.isNotEmpty(userIds)) {
userDataPermissionDto.setUsers(userIds);
}
} else if (sysDataPermission.getCode().equals(DataScopeEnum.DEPT.getCode())) { // 部门权限
List<String> deptIds = dataPermissionMapper.findDataScopeDeptIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
if (ObjectUtil.isNotEmpty(deptIds)) userDataPermissionDto.setDepts(deptIds);
if (ObjectUtil.isNotEmpty(deptIds)) {
userDataPermissionDto.setDepts(deptIds);
}
} else if (sysDataPermission.getCode().equals(DataScopeEnum.SELF.getCode())) { // 自身
List<String> userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermission_scope_type());
if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds);
if (ObjectUtil.isNotEmpty(userIds)) {
userDataPermissionDto.setUsers(userIds);
}
}
// 其他不做处理
});
@@ -126,7 +138,9 @@ public class SysDataPermissionServiceImpl extends ServiceImpl<SysDataPermissionM
public void savePermission(JSONObject datas) {
String user_id = datas.getString("user_id");
JSONArray data = datas.getJSONArray("datas");
if (ObjectUtil.isEmpty(user_id)) throw new BadRequestException("用户不能为空");
if (ObjectUtil.isEmpty(user_id)) {
throw new BadRequestException("用户不能为空");
}
// 删除用户绑定的数据
userService.deleteDataPermissionById(user_id);
dataPermissionMapper.deleteScopeBySelfUserId(user_id);

View File

@@ -44,7 +44,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Override
public IPage<SysRole> query(Map param, PageQuery page) {
String blurry = null;
if (ObjectUtil.isNotEmpty(param.get("blurry"))) blurry = param.get("blurry").toString();
if (ObjectUtil.isNotEmpty(param.get("blurry"))) {
blurry = param.get("blurry").toString();
}
LambdaQueryWrapper<SysRole> lam = new LambdaQueryWrapper<>();
lam.like(ObjectUtil.isNotEmpty(blurry), SysRole::getName, blurry);
IPage<SysRole> pages = new Page<>(page.getPage() + 1, page.getSize());
@@ -59,12 +61,16 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
public void create(JSONObject param) {
//判断角色名字是否存在
String name = param.getString("name");
if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!");
if (StrUtil.isEmpty(name)) {
throw new BadRequestException("角色名字不能为空!");
}
SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class);
//判断角色名字是否存在
SysRole role = roleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getName, sysRole.getName()));
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!");
if (ObjectUtil.isNotEmpty(role)) {
throw new BadRequestException("角色【" + name + "】已存在!");
}
String userId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
@@ -86,12 +92,16 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class);
//判断角色名字是否存在
String name = sysRole.getName();
if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!");
if (StrUtil.isEmpty(name)) {
throw new BadRequestException("角色名字不能为空!");
}
//判断角色名字是否存在
SysRole role = roleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getName, sysRole.getName())
.ne(SysRole::getRole_id, sysRole.getRole_id()));
if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!");
if (ObjectUtil.isNotEmpty(role)) {
throw new BadRequestException("角色【" + name + "】已存在!");
}
String userId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();

View File

@@ -85,7 +85,9 @@ public class ToolLocalStorageServiceImpl extends ServiceImpl<ToolLocalStorageMap
@Transactional(rollbackFor = Exception.class)
public void update(ToolLocalStorage resources) {
ToolLocalStorage storage = localStorageMapper.selectById(resources.getStorage_id());
if (ObjectUtil.isEmpty(storage)) throw new BadRequestException("文件信息不存在");
if (ObjectUtil.isEmpty(storage)) {
throw new BadRequestException("文件信息不存在");
}
resources.setUpdate_id(SecurityUtils.getCurrentUserId());
resources.setUpdate_name(SecurityUtils.getCurrentNickName());
resources.setUpdate_time(DateUtil.now());

View File

@@ -75,8 +75,6 @@ public class MdBaseBrickInfoServiceImpl extends ServiceImpl<MdBaseBrickInfoMappe
brickInfo.setWorkorder_code(workorder.getWorkorder_code());
}
mdBaseBrickInfoMapper.insert(brickInfo);
// todo上传mes
wmsToMesService.reportBrickInfo(brickInfo);
}
@Override

View File

@@ -63,4 +63,11 @@ public class MdCsCustomerbaseController {
mdCsCustomerbaseService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/getCustomerList")
@Log("获取客户信息管理")
@ApiOperation("获取客户信息管理")
public ResponseEntity<Object> getCustomerList(){
return new ResponseEntity<>(mdCsCustomerbaseService.list(), HttpStatus.OK);
}
}

View File

@@ -5,6 +5,7 @@ import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.database.customer.service.dao.MdCsCustomerbase;
import java.util.List;
import java.util.Map;
import java.util.Set;

View File

@@ -19,6 +19,7 @@ import org.nl.wms.database.customer.service.dao.MdCsCustomerbase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Set;

View File

@@ -69,6 +69,10 @@ public class MdBaseMaterialServiceImpl extends ServiceImpl<MdBaseMaterialMapper,
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
//特殊处理,半成品编码=成品编码=物料名称
entity.setMaterial_code(entity.getMaterial_name());
entity.setHalf_material_code(entity.getMaterial_name());
entity.setMaterial_id(IdUtil.getSnowflake(1, 1).nextIdStr());
entity.setCreate_id(currentUserId);
entity.setCreate_name(nickName);

View File

@@ -64,7 +64,9 @@ public class MdBaseVehicleServiceImpl extends ServiceImpl<MdBaseVehicleMapper, M
@Override
public void update(MdBaseVehicle entity) {
MdBaseVehicle dto = mdBaseVehicleMapper.selectById(entity.getVehicle_code());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

View File

@@ -68,6 +68,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
@@ -278,7 +279,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
RLock lock = redissonClient.getLock(deviceCode);
int handling = 0; // 无业务0
// 无业务0
int handling = 0;
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
try {
if (tryLock) {
@@ -289,7 +291,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String configCode = basePoint.getRegion_code() + "MLTask";
// 组织参数
param.put("config_code", configCode);
handling = specialHandling(basePoint.getRegion_code(), param);
param.put("special_param", handling);
taskService.apply(param);
}
@@ -301,10 +302,20 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return ApplyTaskResponse.responseOk(requestNo, "任务创建成功", handling);
}
// todo: 特殊处理
/**
* mark: 特殊处理
* @param regionCode 区域
* @param param 参数
* @return 数字
* 在申请任务后引用
* handling = specialHandling(basePoint.getRegion_code(), param);
* param.put("special_param", handling);
*/
protected int specialHandling(String regionCode, JSONObject param) {
int torus = 0; // 无业务0分拣剩余0托1
if (regionCode.equals("FJ")) { // 判断是否够码满
// 无业务0分拣剩余0托1
int torus = 0;
// 判断是否够码满
if (Objects.equals(regionCode, "FJ")) {
// 分拣需要在这设置特殊值
// 校验是否够码满一托
boolean enoughCallEmpty = workorderService.isEnoughCallEmpty(param.getString("device_code"));
@@ -395,8 +406,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public BaseResponse applyGetPutStation(JSONObject param) {
FeedBackSplitPalletStationRequest request = param.toJavaObject(FeedBackSplitPalletStationRequest.class);
String getStation = request.getGet_station(); // 取货点
String putStation = request.getPut_station(); // 放货点
// 取货点
String getStation = request.getGet_station();
// 放货点
String putStation = request.getPut_station();
// 查找当前点位中的信息如果acs没有提供就获取点位上的数据如果点位没有则数据失效
SchBasePoint pickupPoint = pointService.getById(getStation);
SchBasePoint putPoint = pointService.getById(putStation);
@@ -412,10 +425,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
PdmBdVehicleBinding vehicleBinding = new PdmBdVehicleBinding();
vehicleBinding.setOrigin_vehicle_code(request.getGet_station_vehicle_code());
vehicleBinding.setOrigin_vehicle_type(GeneralDefinition.STEEL_TRAY);
vehicleBinding.setOrigin_qty(request.getGet_station_qty()); // 当前码垛位的数量
// 当前码垛位的数量
vehicleBinding.setOrigin_qty(request.getGet_station_qty());
vehicleBinding.setTarget_vehicle_code(request.getPut_station_vehicle_code());
vehicleBinding.setTarget_vehicle_type(putPoint.getVehicle_type());
vehicleBinding.setTarget_qty(request.getPut_station_qty()); // 当前拆垛位的数量
// 当前拆垛位的数量
vehicleBinding.setTarget_qty(request.getPut_station_qty());
vehicleBinding.setGet_station(request.getGet_station());
vehicleBinding.setPut_station(request.getPut_station());
if (productionTask != null) {
@@ -479,7 +494,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public BaseResponse applyOneGrab(JSONObject param) {
BrickInfoDto brickInfoDto = param.toJavaObject(BrickInfoDto.class);
baseBrickInfoService.addBrickInfo(brickInfoDto); // 添加数据
baseBrickInfoService.addBrickInfo(brickInfoDto);
return BaseResponse.responseOk(brickInfoDto.getRequestNo());
}
@@ -545,12 +560,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
try {
if (tryLock) {
SchBasePoint basePoint = pointService.getById(deviceCode); // 获取点位实体
SchBasePoint basePoint = pointService.getById(deviceCode);
switch (basePoint.getRegion_code()) {
case GeneralDefinition.LZKLX: // 如果是困料线位置就是判断是否静置完成
return this.isStandingFinish(baseRequest); // 直接返回
case GeneralDefinition.GZY: // 如果是入窑口就是记录数据
return this.recordKilnTime(baseRequest); // 直接返回
// 如果是困料线位置就是判断是否静置完成
case GeneralDefinition.LZKLX:
return this.isStandingFinish(baseRequest);
// 如果是入窑口就是记录数据
case GeneralDefinition.GZY:
return this.recordKilnTime(baseRequest);
default:
taskResponse.setMessage("参数错误!");
taskResponse.setCode(HttpStatus.HTTP_BAD_REQUEST);
@@ -567,7 +584,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
/**
* 扫码成功申请 - 判断是否静置完成
* todo: 需要返回泥料重量
*/
@Override
public ApplyTaskResponse isStandingFinish(ApplyTaskRequest baseRequest) {
@@ -588,7 +604,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (ObjectUtil.isEmpty(one)) {
throw new BadRequestException("载具编码为" + baseRequest.getVehicle_code() + "组盘不存在!");
}
String yjDeviceCode = basePoint.getParent_point_code(); // 压机设备编码
String yjDeviceCode = basePoint.getParent_point_code();
SchBasePoint devicePoint = pointService.getById(yjDeviceCode);
// 获取当前工单
PdmBdWorkorder productionTask = workorderService.getDeviceProductionTask(yjDeviceCode);
@@ -597,15 +613,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
throw new BadRequestException("压机" + yjDeviceCode + "工单不存在!");
}
// 泥料
// todo: 暂时写死
String rawMaterialCode = productionTask.getRaw_material_code();
// String rawMaterialCode = one.getRedundance_material_code();
if (!rawMaterialCode.equals(one.getRedundance_material_code())) {
throw new BadRequestException("物料不一样!");
}
if (ObjectUtil.isNotEmpty(basePoint)) {
// 记录当前位置
one.setPoint_code(basePoint.getPoint_code()); // 当前位置
one.setPoint_code(basePoint.getPoint_code());
one.setPoint_name(basePoint.getPoint_name());
one.setMove_way(one.getMove_way() + " -> " + basePoint.getPoint_code());
}
@@ -634,8 +648,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// mudConsumption.setWorkorder_code(productionTask.getWorkorder_code());
// mudConsumption.setRaw_material_code(rawMaterialCode);
// String id = mudConsumptionService.create(mudConsumption);
// 回传给mes系统
wmsToMesService.reportMudConsumption(mesMudConsumptionDto);
// 反馈数据给acs
taskResponse.setMix_number(one.getMix_times());
taskResponse.setIs_standing_finish(GeneralDefinition.YES);

View File

@@ -60,7 +60,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
} catch (Exception e) {
log.error("上报mes消耗泥料记录的数据{}", mudObject);
log.error("上报mes消耗泥料记录失败{}", e.getMessage());
// todo发送通知
noticeService.createNotice("上报mes消耗泥料数据失败", "消耗泥料数据" + mudObject.getPWORKSCHE_ID(),
NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -193,7 +192,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
log.error("半成品入库-获取MES给的工单数据{}", mesWorkOrderDto);
log.error("半成品入库返给MES的数据{}", semiProductionInfoInDto);
log.error("半成品入库插入mes数据库失败{}", e.getMessage());
// todo发送通知
noticeService.createNotice("半成品入库插入mes数据库失败", "半成品入库"
+ semiProductionInfoInDto.getMSGID(), NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -236,7 +234,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
log.error("半成品出库-获取MES给的工单数据{}", mesWorkOrderDto);
log.error("半成品出库返给MES的数据{}", semiProductionInfoOutDto);
log.error("半成品出库插入mes数据库失败{}", e.getMessage());
// todo发送通知
noticeService.createNotice("半成品出库插入mes数据库失败", "半成品出库" + semiProductionInfoOutDto.getMSGID(),
NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -277,7 +274,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
log.error("入窑-获取MES给的工单数据{}", mesWorkOrderDto);
log.error("入窑返给MES的数据{}", gdyMaterialInDto);
log.error("入窑插入mes数据库失败{}", e.getMessage());
// todo发送通知
noticeService.createNotice("入窑插入mes数据库失败", "入窑" + gdyMaterialInDto.getMSGID(),
NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -318,7 +314,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
log.error("出窑-获取MES给的工单数据{}", mesWorkOrderDto);
log.error("出窑返给MES的数据{}", gdyMaterialOutDto);
log.error("出窑插入mes数据库失败{}", e.getMessage());
// todo发送通知
noticeService.createNotice("出窑插入mes数据库失败", "出窑" + gdyMaterialOutDto.getMSGID(),
NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -371,7 +366,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
log.error("统计到设备:{} 不合格砖数:{}", orderObj.getPoint_name(), number);
log.error("插入mes机口判废数据库的数据{}", mesUnusedDto);
log.error("插入机口判废失败:{}", e.getMessage());
// todo发送通知
noticeService.createNotice("机口判废插入mes数据库失败", "机口判废" + mesUnusedDto.getMSGID(),
NoticeTypeEnum.EXCEPTION.getCode());
}
@@ -392,7 +386,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
} catch (Exception e) {
log.error("插入压机检测数据:{}", mesQSPressMonitorData);
log.error("插入压机检测失败:{}", e.getMessage());
// todo发送通知
noticeService.createNotice("压机检测插入mes数据库失败", "压机检测"
+ mesQSPressMonitorData.getBRICK_ID(), NoticeTypeEnum.EXCEPTION.getCode());
}

View File

@@ -53,7 +53,9 @@ public class PdmBdMudConsumptionServiceImpl extends ServiceImpl<PdmBdMudConsumpt
@Override
public void update(PdmBdMudConsumption entity) {
PdmBdMudConsumption dto = pdmBdMudConsumptionMapper.selectById(entity.getRecord_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String now = DateUtil.now();
entity.setRecord_time(now);

View File

@@ -52,7 +52,9 @@ public class PdmBdRequestMaterialRecordServiceImpl extends ServiceImpl<PdmBdRequ
@Override
public void update(PdmBdRequestMaterialRecord entity) {
PdmBdRequestMaterialRecord dto = pdmBdRequestMaterialRecordMapper.selectById(entity.getRecord_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
pdmBdRequestMaterialRecordMapper.updateById(entity);
}

View File

@@ -56,7 +56,9 @@ public class PdmBdMaterialResidueServiceImpl extends ServiceImpl<PdmBdMaterialRe
@Override
public void update(PdmBdMaterialResidue entity) {
PdmBdMaterialResidue dto = pdmBdMaterialResidueMapper.selectById(entity.getRecord_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String now = DateUtil.now();
entity.setRecord_time(now);

View File

@@ -49,7 +49,9 @@ public class PdmBdProductionProcessTrackingServiceImpl extends ServiceImpl<PdmBd
@Override
public void update(PdmBdProductionProcessTracking entity) {
PdmBdProductionProcessTracking dto = pdmBdProductionProcessTrackingMapper.selectById(entity.getProcess_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

View File

@@ -51,7 +51,9 @@ public class PdmBdVehicleBindingServiceImpl extends ServiceImpl<PdmBdVehicleBind
@Override
public void update(PdmBdVehicleBinding entity) {
PdmBdVehicleBinding dto = pdmBdVehicleBindingMapper.selectById(entity.getAssociate_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String now = DateUtil.now();
entity.setRecord_time(now);

View File

@@ -42,27 +42,13 @@ public class PdmBdWorkorderController {
@GetMapping
@Log("查询工单管理")
@ApiOperation("查询工单管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
public ResponseEntity<Object> query(PdmBdWorkorderQuery query, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryAll(query,page)),HttpStatus.OK);
}
// @GetMapping("/mesOrder")
// @Log("查询订单管理")
// @ApiOperation("查询订单管理")
// public ResponseEntity<Object> queryMesOrder(PdmBdWorkorderQuery query, PageQuery page){
// return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryMesOrder(query,page)),HttpStatus.OK);
// }
@PostMapping("/getCuster")
@Log("获取客户信息")
@ApiOperation("获取客户信息")
public ResponseEntity<Object> getCuster(){
return new ResponseEntity<>(wmsToMesService.getCusterInfo(), HttpStatus.OK);
}
@GetMapping("/materials")
@Log("查询物料基础信息")
@ApiOperation("查询物料基础信息")
//@SaCheckPermission("@el.check('mdBaseMaterial:list')")
public ResponseEntity<Object> queryMaterials(MdBaseMaterialQuery whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(mdBaseMaterialService.queryByInventory(whereJson,page)),HttpStatus.OK);
}

View File

@@ -101,7 +101,6 @@ public class PdmBdWorkorder implements Serializable {
@ApiModelProperty(value = "工单类型")
private String workorder_type;
// todo: 字段未放开
@ApiModelProperty(value = "生产订单号")
@TableField(exist = false)
private String production_order;
@@ -144,6 +143,8 @@ public class PdmBdWorkorder implements Serializable {
private Boolean is_urgent;
@ApiModelProperty(value = "开工人")
private String operator;
@ApiModelProperty(value = "客户")
private String customer;
@ApiModelProperty(value = "检验员")
private String inspector;
@ApiModelProperty(value = "合格数")

View File

@@ -30,7 +30,7 @@ public interface PdmBdWorkorderMapper extends BaseMapper<PdmBdWorkorder> {
List<PdmBdWorkorder> getTheDayUnProducedWorkOrder();
/**
* todo: 获取当天需要下发的工单
* 获取当天需要下发的工单
* @return
*/
List<PdmBdWorkorder> getTheDayIssueWorkOrderList();

View File

@@ -22,6 +22,9 @@
<if test="query.point_code != null and query.point_code != ''">
AND LOWER(wo.point_code) LIKE LOWER(CONCAT('%', #{query.point_code}, '%'))
</if>
<if test="query.region_code != null and query.region_code != ''">
AND wo.region_code = #{query.region_code}
</if>
<if test="query.begin_time != null and query.begin_time != ''">
AND wo.create_time <![CDATA[ >= ]]> #{query.begin_time}
</if>
@@ -35,7 +38,7 @@
w.workorder_code,
w.point_code AS device_code,
w.plan_qty,
m.half_material_code AS material_code,
IF(w.region_code = 'HN',m.raw_material_code,m.half_material_code) AS material_code,
m.material_spec AS product_code,
m.material_spec AS brick_code,
m.material_model AS formula,

View File

@@ -9,25 +9,82 @@ import lombok.Data;
*/
@Data
public class AcsWorkOrderVo {
private String workorder_code; // 工单编码
private String device_code; // 设备编码
private String material_code; // 半成品物料编码 - 工单物料编码
private String product_code; // 产品代号 - 规格
private String formula; // 配方 - 型号
private String brick_code; // 砖型编码 - 自己维护
private String plan_qty; // 计划数量
private String a; // a边
private String b; // b边
private String h; // 高度
private String w; // 宽度
private String size_error; // 尺寸允许误差
private String single_weight; // 单重允许误差
// private String drawing_address; // 图纸地址
private String standard_size_height1; // 标准尺寸1
private String standard_size_height2; // 标准尺寸2
private String standard_size_height3; // 标准尺寸3
private String standard_size_height4; // 标准尺寸4
private String standard_weight; // 标准重量
private String detection_error; // 检测误差值 - 不用传
/**
* 工单编码
*/
private String workorder_code;
/**
* 设备编码
*/
private String device_code;
/**
* 半成品物料编码 - 工单物料编码
*/
private String material_code;
/**
* 产品代号 - 规格
*/
private String product_code;
/**
* 配方 - 型号
*/
private String formula;
/**
* 砖型编码 - 自己维护
*/
private String brick_code;
/**
* 计划数量
*/
private String plan_qty;
/**
* a边
*/
private String a;
/**
* b边
*/
private String b;
/**
* 高度
*/
private String h;
/**
* 宽度
*/
private String w;
/**
* 尺寸允许误差
*/
private String size_error;
/**
* 单重允许误差
* private String drawing_address; // 图纸地址
*/
private String single_weight;
/**
* 标准尺寸1
*/
private String standard_size_height1;
/**
* 标准尺寸2
*/
private String standard_size_height2;
/**
* 标准尺寸3
*/
private String standard_size_height3;
/**
* 标准尺寸4
*/
private String standard_size_height4;
/**
* 标准重量
*/
private String standard_weight;
/**
* 检测误差值 - 不用传
*/
private String detection_error;
}

View File

@@ -17,5 +17,6 @@ public class PdmBdWorkorderQuery implements Serializable {
private String end_time;
private List<String> more_order_status;
private String materialId;
private String region_code;
}

View File

@@ -82,16 +82,21 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
String today = DateUtil.format(DateUtil.date(), "yyyyMMdd");
// 点位编码和点位名称为父点位
entity.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr());
entity.setWorkorder_code(CodeUtil.getNewCode("PDM_SHIFTORDER"));
entity.setCreate_id(currentUserId);
entity.setCreate_name(nickName);
entity.setProduce_date(today);
entity.setCreate_time(now);
entity.setUpdate_id(currentUserId);
entity.setUpdate_name(nickName);
entity.setUpdate_time(now);
if ("HN".equals(entity.getRegion_code())) {
// 如果是混碾就需要清空客户数据
entity.setCustomer("");
}
// 如果是分拣,就特殊处理
// if (entity.getRegion_code().equals("FJ")) {
// toCalculatePlannedQuantity(entity);
@@ -132,7 +137,9 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
@Override
public void update(PdmBdWorkorder entity) {
PdmBdWorkorder dto = pdmBdWorkorderMapper.selectById(entity.getWorkorder_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String now = DateUtil.now();
entity.setUpdate_id(GeneralDefinition.ACS_ID);
@@ -236,8 +243,8 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
Integer page = pageQuery.getPage();
Integer size = pageQuery.getSize();
IPage<MesOrderInfo> pages = new Page<>(page, size);
int currentPage = page * size + 1; // start
int currentSize = (pageQuery.getPage() + 1) * size; // end
int currentPage = page * size + 1;
int currentSize = (pageQuery.getPage() + 1) * size;
List<MesOrderInfo> mesOrderInfoList = wmsToMesService.selectPageMesOrder(query.getMaterialId(), currentPage, currentSize);
pages.setRecords(mesOrderInfoList);
int total = wmsToMesService.getTotal(query.getMaterialId());

View File

@@ -120,6 +120,8 @@ public class SchBaseVehiclematerialgroup implements Serializable {
@ApiModelProperty(value = "下一任务编码")
private String next_task_code;
@ApiModelProperty(value = "客户")
private String customer;
@ApiModelProperty(value = "备注")
private String remark;

View File

@@ -59,7 +59,9 @@ public class SchBaseAcsandlmsinteractivelogServiceImpl extends ServiceImpl<SchBa
@Override
public void update(SchBaseAcsandlmsinteractivelog entity) {
SchBaseAcsandlmsinteractivelog dto = schBaseAcsandlmsinteractivelogMapper.selectById(entity.getLog_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

View File

@@ -188,7 +188,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
@Override
public List<SchBasePoint> getPointList(SchBasePoint region) {
if (ObjectUtil.isEmpty(region)) return this.list();
if (ObjectUtil.isEmpty(region)) {
return this.list();
}
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, region.getRegion_code())
.eq(SchBasePoint::getIs_has_workder, true));

View File

@@ -101,7 +101,9 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
SchBaseRegion schBaseRegion = schBaseRegionMapper.selectById(regionId);
JSONArray res = new JSONArray();
String pointStatusExplain = schBaseRegion.getPoint_status_explain();
if (ObjectUtil.isEmpty(pointStatusExplain)) return res;
if (ObjectUtil.isEmpty(pointStatusExplain)) {
return res;
}
String[] explain = pointStatusExplain.split("");
for (int i = 0; i < explain.length; i++) {
String[] status = explain[i].split("-");
@@ -121,7 +123,9 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
SchBaseRegion schBaseRegion = schBaseRegionMapper.selectById(regionId);
JSONArray res = new JSONArray();
String pointTypeExplain = schBaseRegion.getPoint_type_explain();
if (ObjectUtil.isEmpty(pointTypeExplain)) return res;
if (ObjectUtil.isEmpty(pointTypeExplain)) {
return res;
}
String[] explain = pointTypeExplain.split("");
for (int i = 0; i < explain.length; i++) {
String[] types = explain[i].split("-");

View File

@@ -89,7 +89,9 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
@Override
public void update(SchBaseTask entity) {
SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_code());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();

View File

@@ -56,15 +56,17 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
@Override
public void create(SchBaseTaskconfig entity) {
SchBaseTaskconfig schBaseTaskconfig = schBaseTaskconfigMapper.selectOne(new LambdaQueryWrapper<SchBaseTaskconfig>().eq(SchBaseTaskconfig::getConfig_code, entity.getConfig_code()));
if (ObjectUtil.isNotEmpty(schBaseTaskconfig))
if (ObjectUtil.isNotEmpty(schBaseTaskconfig)) {
throw new BadRequestException("任务配置【" + entity.getConfig_code() + "】已存在!");
}
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs()))
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs())) {
throw new BadRequestException("起点区域和终点区域不能同时为空!");
}
if (ObjectUtil.isNotEmpty(entity.getStart_region_strs())) {
// 起点区域配置
@@ -91,9 +93,12 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
@Override
public void update(SchBaseTaskconfig entity) {
SchBaseTaskconfig dto = schBaseTaskconfigMapper.selectById(entity.getConfig_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs()))
if (dto == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs())) {
throw new BadRequestException("起点区域和终点区域不能同时为空!");
}
if (ObjectUtil.isNotEmpty(entity.getStart_region_strs())) {
// 起点区域配置

View File

@@ -90,7 +90,7 @@ public class GeneralDefinition {
/** MES路径 */
public static final String MES_URL = "mes_url";
/取消
// 完成/取消
/** 任务完成 */
public static final String TASK_FINISH = "任务完成";
/** 任务取消 */

View File

@@ -0,0 +1,18 @@
package org.nl.wms.sch.task_manage.constant;
/**
* @Author: lyd
* @Description: 点位类型常量
* @Date: 2023/12/13
*/
public class PointTypeConstant {
/**
* 新料点
*/
public static final String NEW_MATERIAL_POINT = "3";
/**
* 旧料点
*/
public static final String OLD_MATERIAL_POINT = "4";
}

View File

@@ -0,0 +1,11 @@
package org.nl.wms.sch.task_manage.constant;
/**
* @Author: lyd
* @Description: 区域编码的常量这是个多变动的类需要做好doc注释
* @Date: 2023/12/13
*/
public class RegionConstant {
/** 压制区域 */
public static final String PRESSED_AREA = "YZ";
}

View File

@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
@Component
@TaskType("DTKQKTask")
public class DTKQKTask extends AbstractTask {
private static String TASK_CONFIG_CODE = "DTKQKTask";
private static final String TASK_CONFIG_CODE = "DTKQKTask";
@Autowired
private ISchBasePointService pointService;
@Autowired
@@ -56,7 +56,7 @@ public class DTKQKTask extends AbstractTask {
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
for (SchBaseTask task : tasks) {
TaskUtils.setUpdateByAcs(task); // 修改修改者
TaskUtils.setUpdateByAcs(task);
List<String> startRegionStr = Arrays.stream(taskConfig.getStart_region_str().split(","))
.collect(Collectors.toList());
// 找起点
@@ -84,7 +84,7 @@ public class DTKQKTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()

View File

@@ -83,7 +83,7 @@ public class DTSKTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -162,8 +162,8 @@ public class DTSKTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String startPoint = taskObj.getPoint_code1(); // 获取起点
String endPoint = taskObj.getPoint_code2(); // 获取终点
String startPoint = taskObj.getPoint_code1();
String endPoint = taskObj.getPoint_code2();
String vehicleType = ObjectUtil.isNotEmpty(taskObj.getVehicle_type()) ? taskObj.getVehicle_type() : "";
SchBasePoint endPointObj = pointService.getById(endPoint);
SchBasePoint startPointObj = pointService.getById(startPoint);
@@ -171,7 +171,7 @@ public class DTSKTask extends AbstractTask {
if (ObjectUtil.isNotEmpty(endPoint)) {
endPointObj.setIng_task_code("");
endPointObj.setVehicle_type(vehicleType);
endPointObj.setVehicle_qty(taskObj.getVehicle_qty()); // 设置载具数量
endPointObj.setVehicle_qty(taskObj.getVehicle_qty());
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
pointService.updateById(endPointObj);
@@ -187,7 +187,7 @@ public class DTSKTask extends AbstractTask {
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 释放点位
if (ObjectUtil.isNotEmpty(endPoint)) {

View File

@@ -10,6 +10,11 @@ import java.util.List;
* @Date: 2023/6/21
*/
public interface DTKMapper {
/**
* 找个货架空位放空盘叠
* @param regionCode
* @return
*/
List<SchBasePoint> findPointForDTSK(List<String> regionCode);
/**

View File

@@ -3,7 +3,6 @@ package org.nl.wms.sch.task_manage.task.tasks.fj;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.exception.BadRequestException;
@@ -73,14 +72,14 @@ public class FJMLTask extends AbstractTask {
TaskUtils.setUpdateByAcs(task);
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
.collect(Collectors.toList());
String requestParam = task.getRequest_param();// 任务的其他数据
String requestParam = task.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
String startPoint = task.getPoint_code1();
// 获取起点 回写载具编码
SchBasePoint startPointObj = pointService.getById(startPoint);
task.setVehicle_code(startPointObj.getVehicle_code()); // 起点的木托盘编码
task.setVehicle_code(startPointObj.getVehicle_code());
// 找终点
/** 包装位 */
// 包装位
SchBasePoint packagePoint = findNextPoint(nextRegionStr, jsonObject);
if (ObjectUtil.isEmpty(packagePoint)) {
task.setRemark("包装线不可用!");
@@ -90,7 +89,7 @@ public class FJMLTask extends AbstractTask {
NoticeTypeEnum.WARN.getCode());
continue;
}
task.setPoint_code2(packagePoint.getPoint_code()); // 包装线
task.setPoint_code2(packagePoint.getPoint_code());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setRemark("");
taskService.save(task);
@@ -102,7 +101,7 @@ public class FJMLTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -112,7 +111,7 @@ public class FJMLTask extends AbstractTask {
.collect(Collectors.toList());
JSONObject jsonObject = JSONObject.parseObject(task.getRequest_param());
// 找终点
/** 包装位 */
// 包装位
SchBasePoint packagePoint = findNextPoint(nextRegionStr, jsonObject);
if (ObjectUtil.isEmpty(packagePoint)) {
// 消息通知
@@ -148,7 +147,7 @@ public class FJMLTask extends AbstractTask {
Integer qty = param.getInteger("qty");
SchBasePoint basePoint = pointService.getById(deviceCode);
PdmBdWorkorder workorderObject = workorderService.getDeviceProductionTask(basePoint.getParent_point_code());
String vehicleType = workorderObject.getVehicle_type(); // 从工单上获取
String vehicleType = workorderObject.getVehicle_type();
// 找到相同组盘信息就直接返回id避免任务取消组盘信息还存在重复插入
// 解绑同载具的信息
vehiclematerialgroupService.unBindingSameVehicleMaterial(vehicleCode, vehicleType);
@@ -170,15 +169,15 @@ public class FJMLTask extends AbstractTask {
groupEntity.setVehicle_code(vehicleCode);
groupEntity.setVehicle_type(vehicleType);
groupEntity.setMaterial_qty(qty);
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters)); // 垛型参数
groupEntity.setPoint_code(basePoint.getPoint_code()); // 对接位
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters));
groupEntity.setPoint_code(basePoint.getPoint_code());
groupEntity.setPoint_name(basePoint.getPoint_name());
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
groupEntity.setMove_way(basePoint.getPoint_code());
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd")); // todo:
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd"));
groupEntity.setInstorage_time(DateUtil.now());
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); // 绑定
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType());
groupEntity.setIs_delete(false);
groupEntity.setIs_full(isFull.equals(GeneralDefinition.YES));
vehiclematerialgroupService.saveOrUpdate(groupEntity);
@@ -197,7 +196,7 @@ public class FJMLTask extends AbstractTask {
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
lam.in(SchBasePoint::getRegion_code, nextRegionStr)
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL有数据表示锁住
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
.or()
.eq(SchBasePoint::getIng_task_code, ""))
.eq(SchBasePoint::getPoint_type, GeneralDefinition.DOCKING_POINT)
@@ -208,7 +207,7 @@ public class FJMLTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void updateStatus(String task_code, TaskStatus status) {
// 任务完成需要组盘,包装线解锁,覆膜对接位清空,分拣拆垛对接位设置空盘
// 校验任务
@@ -259,7 +258,7 @@ public class FJMLTask extends AbstractTask {
String workorderCode = jsonObject.getString("workorder_code");
PdmBdWorkorder workorder = workorderService.getByCode(workorderCode);
// 获取参数
String bzxPoint = taskObj.getPoint_code2(); // 获取终点1
String bzxPoint = taskObj.getPoint_code2();
SchBasePoint bzxPointObj = pointService.getById(bzxPoint);
if (ObjectUtil.isNotEmpty(bzxPointObj)) {
// 组盘设置已经解绑
@@ -267,7 +266,7 @@ public class FJMLTask extends AbstractTask {
vehiclematerialgroupService.getById(taskObj.getGroup_id());
vehicleMaterialGroupObj.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
vehicleMaterialGroupObj.setTask_code(taskObj.getTask_code());
vehicleMaterialGroupObj.setPoint_code(bzxPointObj.getPoint_code()); // 当前位置
vehicleMaterialGroupObj.setPoint_code(bzxPointObj.getPoint_code());
vehicleMaterialGroupObj.setPoint_name(bzxPointObj.getPoint_name());
vehicleMaterialGroupObj.setMove_way(vehicleMaterialGroupObj.getMove_way() + " -> " + bzxPointObj.getPoint_code());
TaskUtils.setGroupUpdateByType(vehicleMaterialGroupObj, taskFinishedType);
@@ -288,7 +287,7 @@ public class FJMLTask extends AbstractTask {
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String bzxPoint = taskObj.getPoint_code2(); // 获取终点1
String bzxPoint = taskObj.getPoint_code2();
SchBasePoint bzxPointObj = pointService.getById(bzxPoint);
if (ObjectUtil.isNotEmpty(bzxPointObj)) {
// 释放点位

View File

@@ -58,7 +58,7 @@ public class FJQKTask extends AbstractTask {
@Autowired
private FJMapper fjMapper;
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void create() throws BadRequestException {
// 获取任务
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
@@ -103,14 +103,11 @@ public class FJQKTask extends AbstractTask {
basePoint.setIng_task_code(task.getTask_code());
PointUtils.setUpdateByAcs(basePoint);
pointService.updateById(basePoint);
//下发
//this.renotifyAcs(task);
}
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -121,11 +118,6 @@ public class FJQKTask extends AbstractTask {
// 找起点
String requestParam = task.getRequest_param();
JSONObject extGroupData = JSONObject.parseObject(requestParam);
// 判断工单是否够
boolean enoughCallEmpty = workorderService.isEnoughCallEmpty(task.getPoint_code2());
if (!enoughCallEmpty) {
throw new BadRequestException("数量不足,不呼叫空盘");
}
SchBasePoint point = findStartPoint(startRegionStr, extGroupData);
if (ObjectUtil.isEmpty(point)) {
// 消息通知
@@ -226,14 +218,10 @@ public class FJQKTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 载具编码:前面需要根据任务判断,没有载具不能生成任务
String requestParam = taskObj.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
String workorderCode = jsonObject.getString("workorder_code");
PdmBdWorkorder workorder = workorderService.getByCode(workorderCode);
String vehicleCode = taskObj.getVehicle_code();
String vehicleType = taskObj.getVehicle_type();
String startPoint = taskObj.getPoint_code1(); // 获取终点
String endPoint = taskObj.getPoint_code2(); // 获取终点
String startPoint = taskObj.getPoint_code1();
String endPoint = taskObj.getPoint_code2();
SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint);
if (ObjectUtil.isNotEmpty(startPointObj)) {
@@ -247,10 +235,6 @@ public class FJQKTask extends AbstractTask {
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
pointService.updateById(endPointObj);
// 工单的真实数+1
workorder.setReal_qty(workorder.getReal_qty().add(BigDecimal.ONE));
TaskUtils.setWorkOrderUpdateByType(workorder, taskFinishedType);
workorderService.updateById(workorder);
}
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
@@ -261,7 +245,7 @@ public class FJQKTask extends AbstractTask {
}
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 载具编码:前面需要根据任务判断,没有载具不能生成任务
String startPoint = taskObj.getPoint_code1(); // 获取终点
String startPoint = taskObj.getPoint_code1();
SchBasePoint startPointObj = pointService.getById(startPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(startPointObj)) {

View File

@@ -106,7 +106,7 @@ public class FJQLTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -202,8 +202,8 @@ public class FJQLTask extends AbstractTask {
}
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String startPoint = taskObj.getPoint_code1(); // 获取起点
String endPoint = taskObj.getPoint_code2(); // 获取起点
String startPoint = taskObj.getPoint_code1();
String endPoint = taskObj.getPoint_code2();
SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint);
// 除了解锁需要将组盘表中的物料绑定载具设置为已解绑
@@ -214,7 +214,7 @@ public class FJQLTask extends AbstractTask {
SchBaseVehiclematerialgroup vehicleMaterialGroupObj = vehiclematerialgroupService.getById(taskObj.getGroup_id());
// 一定要拆完,因此不需要等空盘才设置解绑
vehicleMaterialGroupObj.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
vehicleMaterialGroupObj.setPoint_code(endPointObj.getPoint_code()); // 当前位置
vehicleMaterialGroupObj.setPoint_code(endPointObj.getPoint_code());
vehicleMaterialGroupObj.setPoint_name(endPointObj.getPoint_name());
vehicleMaterialGroupObj.setTask_code(taskObj.getTask_code());
vehicleMaterialGroupObj.setMove_way(vehicleMaterialGroupObj.getMove_way() + " -> " + endPointObj.getPoint_code());
@@ -243,7 +243,7 @@ public class FJQLTask extends AbstractTask {
}
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String startPoint = taskObj.getPoint_code1(); // 获取终点
String startPoint = taskObj.getPoint_code1();
SchBasePoint startPointObj = pointService.getById(startPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(startPointObj)) {

View File

@@ -88,7 +88,7 @@ public class FJQZRKTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -126,7 +126,7 @@ public class FJQZRKTask extends AbstractTask {
private SchBasePoint findNextPoint(List<String> nextRegionStr) {
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
lam.in(SchBasePoint::getRegion_code, nextRegionStr)
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL有数据表示锁住
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
.or()
.eq(SchBasePoint::getIng_task_code, ""))
.eq(SchBasePoint::getPoint_type, GeneralDefinition.DOCKING_POINT)
@@ -168,15 +168,15 @@ public class FJQZRKTask extends AbstractTask {
groupEntity.setVehicle_code(vehicleCode);
groupEntity.setVehicle_type(vehicleType);
groupEntity.setMaterial_qty(qty);
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters)); // 垛型参数
groupEntity.setPoint_code(basePoint.getPoint_code()); // 对接位
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters));
groupEntity.setPoint_code(basePoint.getPoint_code());
groupEntity.setPoint_name(basePoint.getPoint_name());
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
groupEntity.setMove_way(basePoint.getPoint_code());
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd")); // todo:
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd"));
groupEntity.setInstorage_time(DateUtil.now());
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); // 绑定
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType());
groupEntity.setIs_delete(false);
vehiclematerialgroupService.saveOrUpdate(groupEntity);
// 返回组盘id记录任务中
@@ -229,8 +229,8 @@ public class FJQZRKTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String startPoint = taskObj.getPoint_code1(); // 获取终点
String endPoint = taskObj.getPoint_code2();
String startPoint = taskObj.getPoint_code1();
SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint);
// 设置载具类型、点位状态、释放点位
@@ -243,7 +243,7 @@ public class FJQZRKTask extends AbstractTask {
SchBaseVehiclematerialgroup vehicleMaterialGroupObj =
vehiclematerialgroupService.getById(taskObj.getGroup_id());
vehicleMaterialGroupObj.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
vehicleMaterialGroupObj.setPoint_code(endPointObj.getPoint_code()); // 当前位置
vehicleMaterialGroupObj.setPoint_code(endPointObj.getPoint_code());
vehicleMaterialGroupObj.setPoint_name(endPointObj.getPoint_name());
vehicleMaterialGroupObj.setMove_way(vehicleMaterialGroupObj.getMove_way() + " -> " + endPointObj.getPoint_code());
TaskUtils.setGroupUpdateByType(vehicleMaterialGroupObj, taskFinishedType);
@@ -260,7 +260,7 @@ public class FJQZRKTask extends AbstractTask {
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 释放点位
if (ObjectUtil.isNotEmpty(endPoint)) {

View File

@@ -88,14 +88,11 @@ public class FJSKTask extends AbstractTask {
point.setIng_task_code(task.getTask_code());
PointUtils.setUpdateByAcs(point);
pointService.updateById(point);
//下发
//this.renotifyAcs(task);
}
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -112,8 +109,6 @@ public class FJSKTask extends AbstractTask {
}
String requestParam = task.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
// 设置组盘 - 需要的话由子类自行实现
task.setGroup_id(setGroupPlate(jsonObject));
// 设置终点并修改创建成功状态
task.setPoint_code2(point.getPoint_code());
task.setVehicle_type(GeneralDefinition.STEEL_TRAY);
@@ -161,19 +156,6 @@ public class FJSKTask extends AbstractTask {
}
}
@Override
public String setGroupPlate(JSONObject param) {
// 查找组盘表信息,不做修改
String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code"));
String vehicleType = param.getString("vehicle_type");
if (vehicleType == null || vehicleType.equals(GeneralDefinition.NO)) {
vehicleType = GeneralDefinition.STEEL_TRAY;
}
SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getGroupInfo(vehicleCode,
vehicleType, GroupBindMaterialStatusEnum.BOUND.getValue());
return ObjectUtil.isNotEmpty(one) ? one.getGroup_id() : "";
}
@Override
public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -193,25 +175,17 @@ public class FJSKTask extends AbstractTask {
}
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
String vehicleType = ObjectUtil.isNotEmpty(taskObj.getVehicle_type()) ? taskObj.getVehicle_type() : "";
SchBasePoint endPointObj = pointService.getById(endPoint);
// 设置载具类型、点位状态、释放点位
if (ObjectUtil.isNotEmpty(endPoint)) {
endPointObj.setIng_task_code("");
endPointObj.setVehicle_type(vehicleType);
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty() + 1); // 设置载具数量
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty() + 1);
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
pointService.updateById(endPointObj);
// 组盘状态改变
SchBaseVehiclematerialgroup vehicleMaterialGroupObj =
vehiclematerialgroupService.getById(taskObj.getGroup_id());
vehicleMaterialGroupObj.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
TaskUtils.setGroupUpdateByType(vehicleMaterialGroupObj, taskFinishedType);
vehiclematerialgroupService.updateById(vehicleMaterialGroupObj);
// todo: 上报mes, 物料出库
wmsToMesService.reportSemiProductionInfoOut(taskObj.getGroup_id());
}
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
@@ -221,7 +195,7 @@ public class FJSKTask extends AbstractTask {
}
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 释放点位
if (ObjectUtil.isNotEmpty(endPoint)) {

View File

@@ -23,6 +23,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
import org.nl.wms.sch.task_manage.AbstractTask;
import org.nl.wms.sch.task_manage.constant.GeneralDefinition;
import org.nl.wms.sch.task_manage.constant.ExceptionConstant;
import org.nl.wms.sch.task_manage.constant.PointTypeConstant;
import org.nl.wms.sch.task_manage.constant.RegionConstant;
import org.nl.wms.sch.task_manage.enums.*;
import org.nl.wms.sch.task_manage.task.TaskType;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
@@ -90,20 +92,21 @@ public class HNMLTask extends AbstractTask {
/**
* 具体业务
* 找点+下发-定时任务
*/
@Override
@Transactional(rollbackFor = Exception.class)
protected void create() { // 找点+下发-定时任务
protected void create() {
// 获取任务
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
for (SchBaseTask task : tasks) {
TaskUtils.setUpdateByAcs(task); // 修改修改者
TaskUtils.setUpdateByAcs(task);
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
.collect(Collectors.toList());
String requestParam = task.getRequest_param();// 任务的其他数据
String requestParam = task.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
// 找终点
SchBasePoint point = findNextPoint(nextRegionStr, jsonObject);
@@ -147,9 +150,11 @@ public class HNMLTask extends AbstractTask {
points = hnMapper.findNextPointByHNML(nextRegionStr.get(1), material.getRaw_material_code());
} else {
// 放到困料货架
// todo: 需要改成料盅对应的货位上
points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, nextRegionStr.get(0))
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL有数据表示锁住
// 当前执行的任务为空或者NULL有数据表示锁住
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
.or()
.eq(SchBasePoint::getIng_task_code, ""))
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
@@ -162,7 +167,7 @@ public class HNMLTask extends AbstractTask {
}
@Override
public void forceFinish(String task_code) { // 人工完成任务
public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
@@ -171,7 +176,7 @@ public class HNMLTask extends AbstractTask {
}
@Override
public void cancel(String task_code) { // 人工取消任务
public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
@@ -181,8 +186,8 @@ public class HNMLTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 终点
String startPoint = taskObj.getPoint_code1(); // 起点
String endPoint = taskObj.getPoint_code2();
String startPoint = taskObj.getPoint_code1();
SchBasePoint endPointObj = pointService.getById(endPoint);
SchBasePoint startPointObj = pointService.getById(startPoint);
SchBaseVehiclematerialgroup groupEntity = vehiclematerialgroupService.getOne(
@@ -199,10 +204,10 @@ public class HNMLTask extends AbstractTask {
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
pointService.updateById(endPointObj);
// 更新组盘数据
groupEntity.setPoint_code(endPointObj.getPoint_code()); // 当前位置
groupEntity.setPoint_code(endPointObj.getPoint_code());
groupEntity.setPoint_name(endPointObj.getPoint_name());
groupEntity.setMove_way(groupEntity.getMove_way() + " -> " + endPointObj.getPoint_code());
groupEntity.setTask_code(taskObj.getTask_code()); // 当前任务的编码
groupEntity.setTask_code(taskObj.getTask_code());
TaskUtils.setGroupUpdateByType(groupEntity, taskFinishedType);
vehiclematerialgroupService.updateById(groupEntity);
// 更新工单上的实际重量
@@ -212,17 +217,19 @@ public class HNMLTask extends AbstractTask {
TaskUtils.setWorkOrderUpdateByType(workOrderObj, taskFinishedType);
workorderService.updateById(workOrderObj);
// 如果终点是布料机,那就是需要将压机工单对应(新、旧)料的真实值相加
if (endPointObj.getRegion_code().equals("YZ")) {
if (RegionConstant.PRESSED_AREA.equals(endPointObj.getRegion_code())) {
PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(endPoint);
switch (endPointObj.getPoint_type()) {
case "3":
case PointTypeConstant.NEW_MATERIAL_POINT:
productionTask.setReal_new_weight(productionTask.getReal_new_weight()
.add(groupEntity.getMaterial_weight()));
break;
case "4":
case PointTypeConstant.OLD_MATERIAL_POINT:
productionTask.setReal_old_weight(productionTask.getReal_old_weight()
.add(groupEntity.getMaterial_weight()));
break;
default:
throw new BadRequestException("点位区域配置错误!");
}
TaskUtils.setWorkOrderUpdateByType(productionTask, taskFinishedType);
workorderService.updateById(productionTask);
@@ -240,9 +247,10 @@ public class HNMLTask extends AbstractTask {
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint one = ObjectUtil.isNotEmpty(endPoint)
? pointService.getOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, endPoint))
? pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getPoint_code, endPoint))
: null;
if (one != null) {
one.setIng_task_code("");
@@ -258,13 +266,17 @@ public class HNMLTask extends AbstractTask {
taskService.updateById(taskObj);
}
// 组盘
/**
* 组盘
*/
@Override
public String setGroupPlate(JSONObject param) {
String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code"));
String vehicleType = GeneralDefinition.MATERIAL_CUP;
String deviceCode = param.getString("device_code");
BigDecimal weight = param.getBigDecimal("weight");
// 泥料号
String materialCode = param.getString("material_code");
// 获取工单
PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(deviceCode);
SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
@@ -281,27 +293,27 @@ public class HNMLTask extends AbstractTask {
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
// 要把数据存到组盘表
groupEntity.setMaterial_id(productionTask.getMaterial_id()); // 物料标识等任务完成后赋值
groupEntity.setRedundance_material_code(productionTask.getRaw_material_code());
groupEntity.setMaterial_id(productionTask.getMaterial_id());
groupEntity.setRedundance_material_code(materialCode);
groupEntity.setCreate_id(GeneralDefinition.ACS_ID);
groupEntity.setCreate_name(GeneralDefinition.ACS_NAME);
groupEntity.setCreate_time(DateUtil.now());
groupEntity.setVehicle_code(vehicleCode);
groupEntity.setVehicle_type(vehicleType);
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
groupEntity.setPoint_code(basePoint.getPoint_code()); // 当前位置
groupEntity.setPoint_code(basePoint.getPoint_code());
groupEntity.setPoint_name(basePoint.getPoint_name());
groupEntity.setMove_way(basePoint.getPoint_code()); // 头次
groupEntity.setMix_times("1"); // 碾次
groupEntity.setMove_way(basePoint.getPoint_code());
groupEntity.setMix_times("1");
groupEntity.setInstorage_time(DateUtil.now());
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd"));
groupEntity.setStanding_time(productionTask.getStanding_time());
groupEntity.setWorkorder_code(productionTask.getWorkorder_code());
groupEntity.setMaterial_weight(ObjectUtil.isNotEmpty(weight)// 重量
groupEntity.setMaterial_weight(ObjectUtil.isNotEmpty(weight)
? weight
: BigDecimal.valueOf(0));
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType());
groupEntity.setIs_delete(false);
vehiclematerialgroupService.save(groupEntity);
return groupEntity.getGroup_id();

View File

@@ -101,7 +101,7 @@ public class CYHCXMLTask extends AbstractTask {
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
protected void createCompletion(SchBaseTask task) {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
@@ -156,7 +156,7 @@ public class CYHCXMLTask extends AbstractTask {
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
lam.in(SchBasePoint::getRegion_code, nextRegionStr)
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL有数据表示锁住
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
.or()
.eq(SchBasePoint::getIng_task_code, ""))
.eq(SchBasePoint::getIs_used, true)
@@ -217,7 +217,7 @@ public class CYHCXMLTask extends AbstractTask {
if (vehicleType == null || vehicleType.equals(GeneralDefinition.NO)) {
vehicleType = GeneralDefinition.STEEL_TRAY;
}
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(endPointObj)) {
@@ -233,7 +233,7 @@ public class CYHCXMLTask extends AbstractTask {
throw new BadRequestException(vehicle_code + " => " + vehicleType + "的组盘信息未找到");
}
one.setTask_code(taskObj.getTask_code());
one.setPoint_code(endPointObj.getPoint_code()); // 当前位置
one.setPoint_code(endPointObj.getPoint_code());
one.setPoint_name(endPointObj.getPoint_name());
one.setMove_way(one.getMove_way() + " -> " + endPointObj.getPoint_code());
TaskUtils.setGroupUpdateByType(one, taskFinishedType);
@@ -263,7 +263,7 @@ public class CYHCXMLTask extends AbstractTask {
}
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(endPointObj)) {

View File

@@ -173,8 +173,6 @@ public class GZYQLTask extends AbstractTask {
}
if (status.equals(TaskStatus.FINISHED)) {
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
// todo 记录入窑数据
wmsToMesService.reportGdyMaterialInfoIn(taskObj.getGroup_id());
}
if (status.equals(TaskStatus.CANCELED)) {
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);

View File

@@ -80,7 +80,7 @@ public class YZMLTask extends AbstractTask {
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
for (SchBaseTask task : tasks) {
TaskUtils.setUpdateByAcs(task); // 修改修改者
TaskUtils.setUpdateByAcs(task);
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
.collect(Collectors.toList());
// 找终点
@@ -114,7 +114,7 @@ public class YZMLTask extends AbstractTask {
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
TaskUtils.setUpdateByAcs(task); // 修改修改者
TaskUtils.setUpdateByAcs(task);
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
.collect(Collectors.toList());
// 找终点
@@ -144,9 +144,9 @@ public class YZMLTask extends AbstractTask {
/**
* 判断是否加急:是->加急缓存线,否->窑前缓存线
*
* @param nextRegionStr
* @param requestParam
* @return
* @param nextRegionStr 区域
* @param requestParam 请求参数
* @return 点位
*/
private SchBasePoint findNextPoint(List<String> nextRegionStr, JSONObject requestParam) {
// 需要获取nextRegionStr
@@ -160,17 +160,17 @@ public class YZMLTask extends AbstractTask {
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
: null;
// 判断是否加急,加急则去窑口,不加急就是去双层缓存输送线
// 判断是否加急,加急则去加急线,不加急就是去缓存输送线
assert one != null;
if (one.getIs_urgent()) {
regionCode = nextRegionStr.get(1); // 去加急缓存线
regionCode = nextRegionStr.get(1);
}
// 缓存线
LambdaQueryWrapper<SchBasePoint> lam = new QueryWrapper<SchBasePoint>().lambda();
lam.eq(SchBasePoint::getRegion_code, regionCode)
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
.eq(SchBasePoint::getPoint_type, GeneralDefinition.ENTRANCE) // 对接位
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL有数据表示锁住
.eq(SchBasePoint::getPoint_type, GeneralDefinition.ENTRANCE)
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
.or()
.eq(SchBasePoint::getIng_task_code, ""))
.eq(SchBasePoint::getIs_used, true)
@@ -226,7 +226,11 @@ public class YZMLTask extends AbstractTask {
SchBasePoint basePoint = pointService.getById(deviceCode);
PdmBdWorkorder workorderObject = workorderService.getDeviceProductionTask(basePoint.getParent_point_code());
// 找到相同组盘信息就修改,避免任务取消组盘信息还存在,重复插入
vehiclematerialgroupService.unBindingSameVehicleMaterial(vehicleCode, vehicleType);
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService
.getGroupInfo(vehicleCode, vehicleType, GroupBindMaterialStatusEnum.BOUND.getValue());
if (ObjectUtil.isNotEmpty(groupInfo)) {
throw new BadRequestException("载具号[" + vehicleCode + "]组盘信息已存在");
}
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
// 解绑同载具的信息
@@ -246,17 +250,17 @@ public class YZMLTask extends AbstractTask {
groupEntity.setVehicle_code(vehicleCode);
groupEntity.setVehicle_type(vehicleType);
groupEntity.setMaterial_qty(qty);
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters)); // 垛型参数
groupEntity.setPoint_code(basePoint.getPoint_code()); // 对接位
groupEntity.setExt_data(JSONObject.toJSONString(stackParameters));
groupEntity.setPoint_code(basePoint.getPoint_code());
groupEntity.setPoint_name(basePoint.getPoint_name());
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
groupEntity.setMove_way(basePoint.getPoint_code());
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd")); // 批次号使用自己定义的、暂时没用压机工单
groupEntity.setPcsn(DateUtil.format(DateUtil.date(), "yyyyMMdd"));
groupEntity.setInstorage_time(DateUtil.now());
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.WAIT_BIND.getValue()); // 待绑定
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType());
groupEntity.setIs_delete(false);
groupEntity.setIs_full(isFull.equals(GeneralDefinition.YES) ? true : false);
groupEntity.setIs_full(isFull.equals(GeneralDefinition.YES));
vehiclematerialgroupService.saveOrUpdate(groupEntity);
// 将所有当前位置的砖块设置组盘标识
baseBrickInfoService.setGroupByCurrentAllBrick(deviceCode, groupEntity.getGroup_id());
@@ -284,14 +288,9 @@ public class YZMLTask extends AbstractTask {
}
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
if (ObjectUtil.isNotEmpty(endPointObj)) {
// if (endPointObj.getRegion_code().equals(GeneralDefinition.EMERGENCY_CACHE_AREA)) {
// endPointObj.setVehicle_code(taskObj.getVehicle_code());
// endPointObj.setVehicle_type(taskObj.getVehicle_type());
// endPointObj.setPoint_status(PointStatusEnum.FULL_POINT.getCode());
// }
// 终点解锁
endPointObj.setIng_task_code("");
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
@@ -299,10 +298,9 @@ public class YZMLTask extends AbstractTask {
// 组盘表数据改成已绑定
SchBaseVehiclematerialgroup vehiclematerialgroup = vehiclematerialgroupService.getById(taskObj.getGroup_id());
TaskUtils.setGroupUpdateByType(vehiclematerialgroup, taskFinishedType);
vehiclematerialgroup.setTask_code(taskObj.getTask_code()); // 当前任务
vehiclematerialgroup.setBuss_move_id(taskObj.getTask_code()); // 设置链路id使用任务编码
vehiclematerialgroup.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
vehiclematerialgroup.setPoint_code(endPointObj.getPoint_code()); // 当前位置
vehiclematerialgroup.setTask_code(taskObj.getTask_code());
vehiclematerialgroup.setBuss_move_id(taskObj.getTask_code());
vehiclematerialgroup.setPoint_code(endPointObj.getPoint_code());
vehiclematerialgroup.setPoint_name(endPointObj.getPoint_name());
vehiclematerialgroup.setMove_way(vehiclematerialgroup.getMove_way() + " -> " + endPointObj.getPoint_code());
vehiclematerialgroupService.updateById(vehiclematerialgroup);
@@ -331,7 +329,7 @@ public class YZMLTask extends AbstractTask {
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
// 获取参数
String endPoint = taskObj.getPoint_code2(); // 获取终点
String endPoint = taskObj.getPoint_code2();
SchBasePoint endPointObj = pointService.getById(endPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(endPointObj)) {

View File

@@ -170,7 +170,7 @@ public class YZQLTask extends AbstractTask {
* 如果是新料口就选择新料,如果是旧料口就选旧料
* @param startRegionStr : 区域列表
* @param extGroupData : 外部参数,包含条件所需的信息
* @return
* @return 点位
* @description : JSONObject获取不到就是null
*/
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
@@ -181,7 +181,7 @@ public class YZQLTask extends AbstractTask {
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
: null;
Assert.notNull(workOrder, "工单不能为空!");
// todo: redundance_material_code暂时存在着
// hint: redundance_material_code暂时存在着
List<SchBasePoint> points = yzMapper.findPointByYZQL(startRegionStr, workOrder.getRaw_material_code(),
extGroupData.getBoolean("is_new"));
return ObjectUtil.isNotEmpty(points) ? points.get(0) : null;
@@ -231,7 +231,7 @@ public class YZQLTask extends AbstractTask {
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String startPoint = taskObj.getPoint_code1(); // 获取起点
String startPoint = taskObj.getPoint_code1();
SchBasePoint startPointObj = pointService.getById(startPoint);
// 除了解锁需要将组盘表中的物料绑定载具设置为已解绑
// 起点设置空位
@@ -256,7 +256,7 @@ public class YZQLTask extends AbstractTask {
}
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
String startPoint = taskObj.getPoint_code1(); // 获取起点
String startPoint = taskObj.getPoint_code1();
SchBasePoint startPointObj = pointService.getById(startPoint);
// 终点解锁
if (ObjectUtil.isNotEmpty(startPointObj)) {

View File

@@ -43,9 +43,15 @@ public class OracleJDBCExample {
} finally {
// 6. 关闭资源
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}