opt: 任务与工单
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package org.nl.common.utils;
|
||||
|
||||
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
* @Description: 配置文件获取方法
|
||||
* @Date: 2023/12/6
|
||||
*/
|
||||
public class YmlConfigFileUtil {
|
||||
public static Properties readConfig(String configFile) {
|
||||
// 创建 Resource 对象
|
||||
Resource resource = new ClassPathResource(configFile);
|
||||
|
||||
// 创建 YamlPropertiesFactoryBean
|
||||
YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
|
||||
yamlPropertiesFactoryBean.setResources(resource);
|
||||
|
||||
// 获取 Properties 对象
|
||||
Properties properties = yamlPropertiesFactoryBean.getObject();
|
||||
|
||||
return properties;
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,13 @@ import org.apache.lucene.index.IndexWriter;
|
||||
import org.apache.lucene.index.IndexWriterConfig;
|
||||
import org.apache.lucene.store.Directory;
|
||||
import org.apache.lucene.store.FSDirectory;
|
||||
import org.nl.common.utils.YmlConfigFileUtil;
|
||||
import org.wltea.analyzer.lucene.IKAnalyzer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
public class LuceneAppender extends AppenderBase<ILoggingEvent> {
|
||||
|
||||
@@ -32,7 +34,12 @@ public class LuceneAppender extends AppenderBase<ILoggingEvent> {
|
||||
public void start() {
|
||||
super.start();
|
||||
try {
|
||||
index = FSDirectory.open(Paths.get(LogMessageConstant.INDEX_DIR));
|
||||
// 读取配置文件
|
||||
Properties properties = YmlConfigFileUtil.readConfig("config/application.yml");
|
||||
|
||||
// 获取配置值
|
||||
String luceneDir = properties.getProperty("lucene.index.path");
|
||||
index = FSDirectory.open(Paths.get(luceneDir));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,8 @@ public class AutoCallMaterials {
|
||||
// 判断是否可以叫料,可以就下发给混碾系统
|
||||
workorderList.forEach(workorder -> {
|
||||
if (workorder.getReal_weight().compareTo(workorder.getPlan_weight()) >= 0) {
|
||||
return; // 不需要请求,等待工单完工
|
||||
// 不需要请求,等待工单完工
|
||||
return;
|
||||
}
|
||||
// 校验记录表是否达到两条
|
||||
List<PdmBdRequestMaterialRecord> list = requestMaterialRecordService.list(
|
||||
@@ -47,16 +48,6 @@ public class AutoCallMaterials {
|
||||
if (list.size() >= 2) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// 记录数据
|
||||
PdmBdRequestMaterialRecord requestMaterialRecord = requestMaterialRecordService.recordData(workorder);
|
||||
log.info("记录自动要料信息:{}", requestMaterialRecord);
|
||||
} catch (Exception e) {
|
||||
log.error("插入LMS数据库失败,{}", e.getMessage());
|
||||
log.error("插入LMS数据库失败数据:{}", workorder);
|
||||
return;
|
||||
}
|
||||
// todo: 如何保证上下的一致性?
|
||||
try {
|
||||
// 下发混碾
|
||||
wmsToMmsService.addRequestMaterial(workorder);
|
||||
@@ -64,6 +55,15 @@ public class AutoCallMaterials {
|
||||
} catch (Exception e) {
|
||||
log.error("下发混碾失败,{}", e.getMessage());
|
||||
log.error("下发混碾失败数据:{}", workorder);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// 记录数据
|
||||
PdmBdRequestMaterialRecord requestMaterialRecord = requestMaterialRecordService.recordData(workorder);
|
||||
log.info("记录自动要料信息:{}", requestMaterialRecord);
|
||||
} catch (Exception e) {
|
||||
log.error("插入LMS数据库失败,{}", e.getMessage());
|
||||
log.error("插入LMS数据库失败数据:{}", workorder);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -657,7 +657,8 @@ 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);
|
||||
@@ -949,7 +950,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
? schBasePoint.getPoint_status()
|
||||
: PointStatusEnum.EMPTY_POINT.getCode();
|
||||
if ((pointStatus.equals(PointStatusEnum.FULL_POINT.getCode())
|
||||
&& move.equals(PointStatusEnum.EMPTY_VEHICLE.getCode())) || (pointStatus.equals(move))) { // 不做操作
|
||||
&& move.equals(PointStatusEnum.EMPTY_VEHICLE.getCode())) || (pointStatus.equals(move))) {
|
||||
return BaseResponse.responseOk(actionRequest.getRequestNo());
|
||||
}
|
||||
// 载具类型不为空,并且不是0的情况,lmsVehicleTypeShift:转成lms的载具类型
|
||||
|
||||
@@ -40,10 +40,10 @@ public class MesWorkOrderDto {
|
||||
/** 辅单位 */
|
||||
private String FPRODUCT_SUBUNIT;
|
||||
/** 数量 */
|
||||
private String FPRODUCT_NUM;
|
||||
private BigDecimal FPRODUCT_NUM;
|
||||
/** 单位 */
|
||||
private String FPRODUCT_UNIT;
|
||||
/** 重量 */
|
||||
/** 转换率 */
|
||||
private String FCONVERTRATE;
|
||||
/** 班组 */
|
||||
private String FTEAM;
|
||||
|
||||
@@ -579,6 +579,8 @@ public class WmsToMesServiceImpl implements WmsToMesService {
|
||||
pdmBdWorkorder.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
pdmBdWorkorder.setWorkorder_code(mesWorkOrderDto.getPWORKSCHE_ID());
|
||||
pdmBdWorkorder.setPlan_qty(mesWorkOrderDto.getFPRODUCT_SUBNUM());
|
||||
// 转成千克
|
||||
pdmBdWorkorder.setPlan_weight(mesWorkOrderDto.getFPRODUCT_NUM().multiply(BigDecimal.valueOf(1000)));
|
||||
pdmBdWorkorder.setMaterial_id(materialDto.getMaterial_id());
|
||||
pdmBdWorkorder.setRaw_material_code(materialDto.getRaw_material_code());
|
||||
pdmBdWorkorder.setProduce_order(mesWorkOrderDto.getFORDER_NO());
|
||||
|
||||
@@ -32,7 +32,6 @@ public class SysInteractRecordController {
|
||||
@GetMapping
|
||||
@Log("查询外部系统接口记录")
|
||||
@ApiOperation("查询外部系统接口记录")
|
||||
//@SaCheckPermission("@el.check('sysInteractRecord:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
||||
return new ResponseEntity<>(TableDataInfo.build(sysInteractRecordService.queryAll(whereJson,page)),HttpStatus.OK);
|
||||
}
|
||||
@@ -40,7 +39,6 @@ public class SysInteractRecordController {
|
||||
@PostMapping
|
||||
@Log("新增外部系统接口记录")
|
||||
@ApiOperation("新增外部系统接口记录")
|
||||
//@SaCheckPermission("@el.check('sysInteractRecord:add')")
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody SysInteractRecord entity){
|
||||
sysInteractRecordService.create(entity);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
@@ -49,7 +47,6 @@ public class SysInteractRecordController {
|
||||
@PutMapping
|
||||
@Log("修改外部系统接口记录")
|
||||
@ApiOperation("修改外部系统接口记录")
|
||||
//@SaCheckPermission("@el.check('sysInteractRecord:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody SysInteractRecord entity){
|
||||
sysInteractRecordService.update(entity);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
@@ -57,14 +54,12 @@ public class SysInteractRecordController {
|
||||
|
||||
@Log("删除外部系统接口记录")
|
||||
@ApiOperation("删除外部系统接口记录")
|
||||
//@SaCheckPermission("@el.check('sysInteractRecord:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
|
||||
sysInteractRecordService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
//@SaCheckPermission("@el.check('sysInteractRecord:del')")
|
||||
@GetMapping("/getAllName")
|
||||
public ResponseEntity<Object> getAllName() {
|
||||
return new ResponseEntity<>(sysInteractRecordService.getAllInteractName(), HttpStatus.OK);
|
||||
|
||||
@@ -65,11 +65,11 @@ public interface ISysInteractRecordService extends IService<SysInteractRecord> {
|
||||
void saveRecord(AcsWorkOrderVo workorder, ResultForAcs resultForAcs, String direction);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name
|
||||
* @param request
|
||||
* @param response
|
||||
* @param direction
|
||||
* 保存对接记录
|
||||
* @param name 保存对接记录
|
||||
* @param request 请求参数
|
||||
* @param response 响应参数,分类别
|
||||
* @param direction 请求方向
|
||||
*/
|
||||
<K, V> void saveRecord(String name, K request, V response, String direction);
|
||||
|
||||
|
||||
@@ -49,9 +49,12 @@ public class SysInteractRecordServiceImpl extends ServiceImpl<SysInteractRecordM
|
||||
? whereJson.get("interact_direction").toString() : null;
|
||||
String interactName = ObjectUtil.isNotEmpty(whereJson.get("interact_name"))
|
||||
? whereJson.get("interact_name").toString() : null;
|
||||
String httpCode = ObjectUtil.isNotEmpty(whereJson.get("http_code"))
|
||||
? whereJson.get("http_code").toString() : null;
|
||||
LambdaQueryWrapper<SysInteractRecord> lam = new LambdaQueryWrapper<>();
|
||||
lam.eq(interactDirection!=null, SysInteractRecord::getDirection, interactDirection)
|
||||
.eq(ObjectUtil.isNotEmpty(interactName), SysInteractRecord::getInteract_name, interactName)
|
||||
.eq(ObjectUtil.isNotEmpty(httpCode), SysInteractRecord::getCode, httpCode)
|
||||
.and(blurry != null, s -> s.like(SysInteractRecord::getInteract_name, blurry)
|
||||
.or()
|
||||
.like(SysInteractRecord::getMessage, blurry)
|
||||
@@ -126,25 +129,29 @@ public class SysInteractRecordServiceImpl extends ServiceImpl<SysInteractRecordM
|
||||
entity.setDirection(direction);
|
||||
entity.setRequest_param(JSONObject.toJSONString(request));
|
||||
entity.setResponse_param(JSONObject.toJSONString(response));
|
||||
if (response instanceof BaseResponse) { // acs请求wms的返回数据
|
||||
// acs请求wms的返回数据
|
||||
if (response instanceof BaseResponse) {
|
||||
BaseResponse re = (BaseResponse) response;
|
||||
entity.setCode(re.getCode());
|
||||
entity.setMessage(re.getMessage());
|
||||
entity.setIs_success(re.getCode() == HttpStatus.HTTP_OK);
|
||||
}
|
||||
if (response instanceof ResultForAcs) { // wms请求acs的返回数据
|
||||
// wms请求acs的返回数据
|
||||
if (response instanceof ResultForAcs) {
|
||||
ResultForAcs re = (ResultForAcs) response;
|
||||
entity.setCode(re.getStatus());
|
||||
entity.setMessage(re.getMessage());
|
||||
entity.setIs_success(re.getStatus() == HttpStatus.HTTP_OK);
|
||||
}
|
||||
if (response instanceof AcsResponse) { // wms请求acs的返回数据
|
||||
// wms请求acs的返回数据
|
||||
if (response instanceof AcsResponse) {
|
||||
AcsResponse re = (AcsResponse) response;
|
||||
entity.setCode(re.getCode());
|
||||
entity.setMessage(re.getMessage());
|
||||
entity.setIs_success(re.getCode() == HttpStatus.HTTP_OK);
|
||||
}
|
||||
if (response instanceof ResultForMes) { // wms请求mes的返回数据
|
||||
// wms请求mes的返回数据
|
||||
if (response instanceof ResultForMes) {
|
||||
ResultForMes re = (ResultForMes) response;
|
||||
entity.setCode(re.getStatus());
|
||||
entity.setMessage(re.getMessage());
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.pdm.record.service.dao.PdmBdRequestMaterialRecord;
|
||||
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -44,9 +45,10 @@ public interface IPdmBdRequestMaterialRecordService extends IService<PdmBdReques
|
||||
|
||||
/**
|
||||
* 叫料完成
|
||||
* @param recordId
|
||||
* @param recordId 记录id
|
||||
* @param weight 重量
|
||||
*/
|
||||
void callMaterialFinish(String recordId);
|
||||
void callMaterialFinish(String recordId, BigDecimal weight);
|
||||
|
||||
/**
|
||||
* 记录要料信息
|
||||
|
||||
@@ -31,7 +31,7 @@ public class PdmBdRequestMaterialRecord implements Serializable {
|
||||
@ApiModelProperty(value = "物料")
|
||||
private String material_id;
|
||||
|
||||
@ApiModelProperty(value = "工单")
|
||||
@ApiModelProperty(value = "工单编码")
|
||||
private String workorder_id;
|
||||
|
||||
@ApiModelProperty(value = "叫料时间")
|
||||
|
||||
@@ -15,10 +15,13 @@ import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.pdm.record.service.IPdmBdRequestMaterialRecordService;
|
||||
import org.nl.wms.pdm.record.service.dao.mapper.PdmBdRequestMaterialRecordMapper;
|
||||
import org.nl.wms.pdm.record.service.dao.PdmBdRequestMaterialRecord;
|
||||
import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
|
||||
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -33,6 +36,8 @@ public class PdmBdRequestMaterialRecordServiceImpl extends ServiceImpl<PdmBdRequ
|
||||
|
||||
@Autowired
|
||||
private PdmBdRequestMaterialRecordMapper pdmBdRequestMaterialRecordMapper;
|
||||
@Autowired
|
||||
private IPdmBdWorkorderService workorderService;
|
||||
|
||||
@Override
|
||||
public IPage<PdmBdRequestMaterialRecord> queryAll(Map whereJson, PageQuery page){
|
||||
@@ -67,11 +72,16 @@ public class PdmBdRequestMaterialRecordServiceImpl extends ServiceImpl<PdmBdRequ
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callMaterialFinish(String recordId) {
|
||||
public void callMaterialFinish(String recordId, BigDecimal weight) {
|
||||
PdmBdRequestMaterialRecord requestMaterialRecord = pdmBdRequestMaterialRecordMapper.selectById(recordId);
|
||||
requestMaterialRecord.setIs_finish(true);
|
||||
requestMaterialRecord.setUpdate_time(DateUtil.now());
|
||||
pdmBdRequestMaterialRecordMapper.updateById(requestMaterialRecord);
|
||||
// 叫料完成需要把对应的工单进行赋值:real_weight
|
||||
PdmBdWorkorder bdWorkorder = workorderService.getByCode(requestMaterialRecord.getWorkorder_id());
|
||||
bdWorkorder.setReal_weight(bdWorkorder.getReal_weight().add(weight));
|
||||
TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder);
|
||||
workorderService.updateById(bdWorkorder);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -59,6 +59,13 @@ public interface IPdmBdWorkorderService extends IService<PdmBdWorkorder> {
|
||||
*/
|
||||
PdmBdWorkorder getByCode(String orderCode);
|
||||
|
||||
/**
|
||||
* 用锁-根据工单编码获取工单信息
|
||||
* @param orderCode
|
||||
* @return
|
||||
*/
|
||||
PdmBdWorkorder getByCodeLock(String orderCode);
|
||||
|
||||
/**
|
||||
* 工单下发
|
||||
* @param entity
|
||||
|
||||
@@ -178,6 +178,14 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
|
||||
return pdmBdWorkorderMapper.selectOne(lam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdmBdWorkorder getByCodeLock(String orderCode) {
|
||||
LambdaQueryWrapper<PdmBdWorkorder> lam = new QueryWrapper<PdmBdWorkorder>().lambda();
|
||||
lam.eq(PdmBdWorkorder::getWorkorder_code, orderCode);
|
||||
lam.apply("FOR UPDATE");
|
||||
return pdmBdWorkorderMapper.selectOne(lam);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void submits(PdmBdWorkorder entity) {
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
<if test="query.group_bind_material_status != null">
|
||||
AND vg.group_bind_material_status = #{query.group_bind_material_status}
|
||||
</if>
|
||||
<if test="query.material_code != null">
|
||||
AND ma.material_code LIKE '%${query.material_code}%'
|
||||
</if>
|
||||
<if test="query.raw_material_code != null">
|
||||
AND ma.raw_material_code LIKE '%${query.raw_material_code}%'
|
||||
</if>
|
||||
<if test="query.region_code != null">
|
||||
AND vg.point_code IN (
|
||||
SELECT p.point_code
|
||||
|
||||
@@ -17,4 +17,5 @@ public class SchBaseVehiclematerialgroupQuery implements Serializable {
|
||||
private String region_code;
|
||||
private String group_bind_material_status;
|
||||
private String raw_material_code;
|
||||
private String material_code;
|
||||
}
|
||||
|
||||
@@ -13,14 +13,18 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
|
||||
import org.nl.wms.sch.region.service.dao.SchBaseRegion;
|
||||
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
|
||||
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -45,6 +49,8 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
|
||||
@Autowired
|
||||
private SchBaseRegionMapper regionMapper;
|
||||
@Autowired
|
||||
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService;
|
||||
|
||||
@Override
|
||||
public IPage<SchBasePoint> queryAll(SchBasePointQuery whereJson, PageQuery page) {
|
||||
@@ -127,6 +133,16 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
String pointStatus = entity.getPoint_status();
|
||||
// 根据点位状态来判断更新内容
|
||||
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_POINT.getCode())) {
|
||||
// 如果有组盘信息,将组盘信息解绑
|
||||
if (ObjectUtil.isNotEmpty(entity.getVehicle_code())) {
|
||||
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(entity.getVehicle_code()
|
||||
, entity.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue());
|
||||
if (ObjectUtil.isNotEmpty(groupInfo)) {
|
||||
groupInfo.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
|
||||
TaskUtils.setGroupUpdateByPC(groupInfo);
|
||||
vehiclematerialgroupService.updateById(groupInfo);
|
||||
}
|
||||
}
|
||||
entity.setVehicle_type("");
|
||||
entity.setVehicle_code("");
|
||||
entity.setVehicle_qty(0);
|
||||
|
||||
@@ -121,9 +121,9 @@ public class HNMLTask extends AbstractTask {
|
||||
continue;
|
||||
}
|
||||
// 叫料完成
|
||||
requestMaterialRecordService.callMaterialFinish(point.getRecord_id());
|
||||
requestMaterialRecordService.callMaterialFinish(point.getRecord_id(), jsonObject.getBigDecimal("weight"));
|
||||
// 要料记录
|
||||
jsonObject.put("record_id", point.getPoint_code());
|
||||
jsonObject.put("record_id", point.getRecord_id());
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(point.getPoint_code());
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
@@ -170,7 +170,7 @@ public class HNMLTask extends AbstractTask {
|
||||
.eq(PdmBdRequestMaterialRecord::getIs_finish, false)
|
||||
.orderByAsc(PdmBdRequestMaterialRecord::getCreate_time));
|
||||
if (list.size() == 0) {
|
||||
throw new BadRequestException("泥料记录出现异常");
|
||||
throw new BadRequestException("压机要料表找不到数据,请排查泥料号:[" + materialCode + "]");
|
||||
}
|
||||
// 要料数据
|
||||
PdmBdRequestMaterialRecord requestMaterialRecord = list.get(0);
|
||||
@@ -209,7 +209,7 @@ public class HNMLTask extends AbstractTask {
|
||||
|
||||
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 获取参数
|
||||
String endPoint = taskObj.getPoint_code2(); // 终点
|
||||
String endPoint = taskObj.getPoint_code2();
|
||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||
String responseParam = taskObj.getResponse_param();
|
||||
JSONObject responseObj = JSONObject.parseObject(responseParam);
|
||||
@@ -245,11 +245,8 @@ public class HNMLTask extends AbstractTask {
|
||||
// 找压机工单, 可能没有开工的工单
|
||||
PdmBdWorkorder one = workorderService.getByCode(materialRecord.getWorkorder_id());
|
||||
if (ObjectUtil.isNotEmpty(one)) {
|
||||
// 给组盘数据设置批次:压制工单+混砂机号+碾次
|
||||
// remove: 给组盘数据设置批次:压制工单+混砂机号+碾次
|
||||
groupEntity.setWorkorder_code(one.getWorkorder_code());
|
||||
// StringBuilder pcsn = new StringBuilder();
|
||||
// pcsn.append(one.getWorkorder_code()).append(groupEntity.getPoint_code()).append(groupEntity.getMix_times());
|
||||
// groupEntity.setPcsn(pcsn.toString());
|
||||
groupEntity.setPoint_code(endPointObj.getPoint_code());
|
||||
groupEntity.setPoint_name(endPointObj.getPoint_name());
|
||||
groupEntity.setMove_way(groupEntity.getMove_way() + " -> " + endPointObj.getPoint_code());
|
||||
@@ -261,7 +258,7 @@ public class HNMLTask extends AbstractTask {
|
||||
}
|
||||
// 更新组盘数据
|
||||
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
|
||||
groupEntity.setTask_code(taskObj.getTask_code()); // 当前任务的编码
|
||||
groupEntity.setTask_code(taskObj.getTask_code());
|
||||
TaskUtils.setGroupUpdateByType(groupEntity, taskFinishedType);
|
||||
vehiclematerialgroupService.updateById(groupEntity);
|
||||
// 起点清空 - 由ACS请求修改
|
||||
@@ -274,7 +271,7 @@ 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))
|
||||
: null;
|
||||
|
||||
@@ -61,7 +61,7 @@ public class GZYQLTask 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());
|
||||
// 找起点
|
||||
@@ -136,19 +136,20 @@ public class GZYQLTask extends AbstractTask {
|
||||
// 如果一个有货一个没货,但是载具数量又是5的时候,就要不需要检测不能为5
|
||||
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
|
||||
lam.in(SchBasePoint::getRegion_code, startRegionStr)
|
||||
.eq(SchBasePoint::getPoint_type, GeneralDefinition.EXIT) // 点位类型是缓存输送线出口
|
||||
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL,有数据表示锁住
|
||||
// 点位类型是缓存输送线出口
|
||||
.eq(SchBasePoint::getPoint_type, GeneralDefinition.EXIT)
|
||||
// 当前执行的任务为空或者NULL,有数据表示锁住
|
||||
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
||||
.or()
|
||||
.eq(SchBasePoint::getIng_task_code, ""))
|
||||
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode())
|
||||
.eq(SchBasePoint::getIs_used, true);
|
||||
List<SchBasePoint> list = pointService.list(lam);
|
||||
boolean doDetection = true; // 如果只有一条符合的数据就不需要检验不符合5个托
|
||||
if (list.size() == 1) {
|
||||
doDetection = false;
|
||||
}
|
||||
// 如果只有一条符合的数据就不需要检验不符合5个托
|
||||
boolean doDetection = list.size() != 1;
|
||||
// 默认认为缓存线有东西
|
||||
lam.ne(doDetection, SchBasePoint::getVehicle_qty, 5).orderByDesc(SchBasePoint::getVehicle_qty); // 每次都将载具数量+1,每次拿最大的
|
||||
// 每次都将载具数量+1,每次拿最大的
|
||||
lam.ne(doDetection, SchBasePoint::getVehicle_qty, 5).orderByDesc(SchBasePoint::getVehicle_qty);
|
||||
List<SchBasePoint> schBasePoints = pointService.list(lam);
|
||||
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||
}
|
||||
|
||||
@@ -149,7 +149,3 @@ sa-token:
|
||||
password:
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
|
||||
lucene:
|
||||
index:
|
||||
path: D:\lucene\index
|
||||
|
||||
@@ -172,6 +172,3 @@ sa-token:
|
||||
password:
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
lucene:
|
||||
index:
|
||||
path: E:\lucene\index
|
||||
|
||||
@@ -129,3 +129,7 @@ mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: INPUT
|
||||
|
||||
lucene:
|
||||
index:
|
||||
path: D:\lucene\index
|
||||
|
||||
@@ -24,3 +24,7 @@
|
||||
插入压机检测失败
|
||||
包装数据
|
||||
更新成功:更新数据
|
||||
插入LMS数据库失败
|
||||
记录自动要料信息
|
||||
自动下发混碾
|
||||
下发混碾失败
|
||||
|
||||
@@ -76,6 +76,24 @@ https://juejin.cn/post/6844903775631572999
|
||||
<logger name="org.springframework" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterPubSubConnectionPool" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterConnectionPool" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.Version" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.alibaba.druid.pool.DruidDataSource" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.nl.config.RedisConfig" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
||||
Reference in New Issue
Block a user