opt: 代码规范修改
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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("消息发送失败");
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 = "合格数")
|
||||
|
||||
@@ -30,7 +30,7 @@ public interface PdmBdWorkorderMapper extends BaseMapper<PdmBdWorkorder> {
|
||||
List<PdmBdWorkorder> getTheDayUnProducedWorkOrder();
|
||||
|
||||
/**
|
||||
* todo: 获取当天需要下发的工单
|
||||
* 获取当天需要下发的工单
|
||||
* @return
|
||||
*/
|
||||
List<PdmBdWorkorder> getTheDayIssueWorkOrderList();
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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("-");
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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())) {
|
||||
// 起点区域配置
|
||||
|
||||
@@ -90,7 +90,7 @@ public class GeneralDefinition {
|
||||
/** MES路径 */
|
||||
public static final String MES_URL = "mes_url";
|
||||
|
||||
/取消
|
||||
// 完成/取消
|
||||
/** 任务完成 */
|
||||
public static final String TASK_FINISH = "任务完成";
|
||||
/** 任务取消 */
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
@@ -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>()
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -10,6 +10,11 @@ import java.util.List;
|
||||
* @Date: 2023/6/21
|
||||
*/
|
||||
public interface DTKMapper {
|
||||
/**
|
||||
* 找个货架空位放空盘叠
|
||||
* @param regionCode
|
||||
* @return
|
||||
*/
|
||||
List<SchBasePoint> findPointForDTSK(List<String> regionCode);
|
||||
|
||||
/**
|
||||
|
||||
@@ -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)) {
|
||||
// 释放点位
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user