Browse Source

rev:回温库存报表出库按钮功能修改;

opt:查询更新母托盘组盘代码优化;手持组盘解绑功能优化;回温出库任务完成优化
master
张东升 10 months ago
parent
commit
166dd99b76
  1. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/AcsToWmsServiceImpl.java
  2. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java
  3. 26
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java
  4. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java
  5. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml
  6. 21
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java
  7. 8
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java
  8. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java
  9. 10
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java
  10. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java
  11. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml
  12. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/HwDto.java
  13. 40
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java
  14. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java
  15. 17
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java
  16. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java
  17. 27
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java
  18. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  19. 14
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java
  20. 66
      lms/nladmin-ui/src/views/wms/hw/detail/index.vue
  21. 10
      lms/nladmin-ui/src/views/wms/sch/point/index.vue
  22. 4
      lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/AcsToWmsServiceImpl.java

@ -160,7 +160,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
throw new BadRequestException("任务类型不正确!requestMethodCode:"+requestMethodName+",device_code:"+device_code); throw new BadRequestException("任务类型不正确!requestMethodCode:"+requestMethodName+",device_code:"+device_code);
} }
// 执行创建任务 // 执行创建任务
task.apply(param); String task_code = task.apply(param);
Map<String, String> parameters = new HashMap();
parameters.put("task_code",task_code);
result.setParameters(parameters);
return result; return result;
} }

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java

@ -60,6 +60,9 @@ public class PdaController {
region.setVehicle_qty(0); region.setVehicle_qty(0);
} }
} }
if("KJ".equals(whereJson.get("region_code"))){
region.setVehicle_qty(null);
}
return new ResponseEntity<>(pointService.getPointListByPda(region), HttpStatus.OK); return new ResponseEntity<>(pointService.getPointListByPda(region), HttpStatus.OK);
} }

26
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java

@ -90,8 +90,7 @@ public class PdaServiceImpl implements PdaService {
@Override @Override
public PdaResponseVo zpjb(JSONObject param) { public PdaResponseVo zpjb(JSONObject param) {
String subTray=param.getString("sub_tray"); String subTray=param.getString("sub_tray");
String motherTray=param.getString("mother_tray"); //子拖盘解绑
//母盘解绑
if(ObjectUtil.isNotEmpty(subTray)){ if(ObjectUtil.isNotEmpty(subTray)){
SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>()
.eq(SchBaseVehiclematerialgroup::getVehicle_code, subTray) .eq(SchBaseVehiclematerialgroup::getVehicle_code, subTray)
@ -103,35 +102,38 @@ public class PdaServiceImpl implements PdaService {
vehiclematerialgroupService.updateById(one); vehiclematerialgroupService.updateById(one);
} }
List<SchBasePoint> schBasePointList= pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>() List<SchBasePoint> schBasePointList= pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getVehicle_code, subTray)); .eq(SchBasePoint::getVehicle_code2, subTray));
for(SchBasePoint schBasePoint:schBasePointList){ for(SchBasePoint schBasePoint:schBasePointList){
schBasePoint.setVehicle_code(""); schBasePoint.setVehicle_code2("");
schBasePoint.setVehicle_qty(0); schBasePoint.setVehicle_qty(0);
pointService.update(schBasePoint); pointService.update(schBasePoint);
} }
} }
//子盘解绑 String motherTray = param.getString("mother_tray");
//母盘解绑
if(ObjectUtil.isNotEmpty(motherTray)){ if(ObjectUtil.isNotEmpty(motherTray)){
SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() //查询母托盘
.eq(SchBaseVehiclematerialgroup::getVehicle_code, motherTray) JSONObject group_jo = new JSONObject();
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, group_jo.put("vehicle_code",motherTray);
GroupBindMaterialStatusEnum.BOUND.getValue())); SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getGroup(group_jo);
if (ObjectUtil.isNotEmpty(one)) { if (ObjectUtil.isNotEmpty(one)) {
one.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue()); one.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
one.setUpdate_id(GeneralDefinition.ACS_ID);
one.setUpdate_name(GeneralDefinition.ACS_NAME);
one.setUpdate_time(DateUtil.now()); one.setUpdate_time(DateUtil.now());
vehiclematerialgroupService.updateById(one); vehiclematerialgroupService.updateByJson(one);
} }
List<SchBasePoint> schBasePointList= pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>() List<SchBasePoint> schBasePointList= pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getVehicle_code, motherTray)); .eq(SchBasePoint::getVehicle_code, motherTray));
for(SchBasePoint schBasePoint:schBasePointList){ for(SchBasePoint schBasePoint:schBasePointList){
schBasePoint.setVehicle_code2(""); schBasePoint.setVehicle_code("");
pointService.update(schBasePoint); pointService.update(schBasePoint);
} }
UpdateWrapper<Material> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<Material> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("palletSN",motherTray); updateWrapper.eq("palletSN",motherTray);
updateWrapper.set("group_bind_material_status",GroupBindMaterialStatusEnum.UNBOUND.getValue()); updateWrapper.set("group_bind_material_status",GroupBindMaterialStatusEnum.UNBOUND.getValue());
materialMapper.update(null,updateWrapper); materialMapper.update(null,updateWrapper);
} }
return PdaResponseVo.pdaResultOk("组盘解绑成功"); return PdaResponseVo.pdaResultOk("组盘解绑成功");
} }

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java

@ -37,6 +37,12 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
*/ */
void update(SchBaseVehiclematerialgroup entity); void update(SchBaseVehiclematerialgroup entity);
/**
* 根据条件更新组盘信息
* @param entity
*/
void updateByJson(SchBaseVehiclematerialgroup entity);
/** /**
* 多选删除 * 多选删除
* @param ids / * @param ids /

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml

@ -51,5 +51,7 @@
AND vg.vehicle_type = #{vehicle_type} AND vg.vehicle_type = #{vehicle_type}
</if> </if>
AND vg.group_bind_material_status = '2' AND vg.group_bind_material_status = '2'
order by vg.update_time
LIMIT 1
</select> </select>
</mapper> </mapper>

21
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java

@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -16,6 +17,8 @@ import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper; import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery; import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
import org.nl.wms.sch.workorder.service.dao.Workorder;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -68,6 +71,24 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
vehiclematerialgroupMapper.updateById(entity); vehiclematerialgroupMapper.updateById(entity);
} }
@Override
public void updateByJson(SchBaseVehiclematerialgroup entity) {
//更新
UpdateWrapper<SchBaseVehiclematerialgroup> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("vehicle_code",entity.getVehicle_code());
updateWrapper.le("group_bind_material_status","2");
updateWrapper.set("task_code",entity.getTask_code());
updateWrapper.set("point_code",entity.getPoint_code());
updateWrapper.set("point_name",entity.getPoint_name());
updateWrapper.set("move_way",entity.getMove_way());
updateWrapper.set("group_bind_material_status", entity.getGroup_bind_material_status());
updateWrapper.set("update_id",entity.getUpdate_id());
updateWrapper.set("update_name",entity.getUpdate_name());
updateWrapper.set("update_time",entity.getUpdate_time());
vehiclematerialgroupMapper.update(null,updateWrapper);
}
@Override @Override
public void deleteAll(Set<String> ids) { public void deleteAll(Set<String> ids) {
// 真删除 // 真删除

8
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java

@ -107,6 +107,14 @@ public class SchBasePointController {
return new ResponseEntity<>(schBasePointService.getPointList(region),HttpStatus.OK); return new ResponseEntity<>(schBasePointService.getPointList(region),HttpStatus.OK);
} }
@PostMapping("/getPointListByPda")
@Log("获取区域下拉框")
@ApiOperation("获取区域下拉框")
//@SaCheckPermission("@el.check('schBaseRegion:list')")
public ResponseEntity<Object> getPointListByPda(@RequestBody(required = false) SchBasePoint region){
return new ResponseEntity<>(schBasePointService.getPointListByPda(region),HttpStatus.OK);
}
@PostMapping("/getPointsByRegionCodes") @PostMapping("/getPointsByRegionCodes")
@Log("获取区域下拉框") @Log("获取区域下拉框")
@ApiOperation("获取区域下拉框") @ApiOperation("获取区域下拉框")

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -121,10 +121,11 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now(); String now = DateUtil.now();
if(ObjectUtil.isEmpty(entity.getRegion_name())){
// 获取region_name // 获取region_name
SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code()); SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code());
entity.setRegion_name(baseRegion.getRegion_name()); entity.setRegion_name(baseRegion.getRegion_name());
}
entity.setCreate_id(currentUserId); entity.setCreate_id(currentUserId);
entity.setCreate_name(nickName); entity.setCreate_name(nickName);
entity.setCreate_time(now); entity.setCreate_time(now);
@ -143,9 +144,11 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
entity.setUpdate_id(currentUserId); entity.setUpdate_id(currentUserId);
entity.setUpdate_name(nickName); entity.setUpdate_name(nickName);
entity.setUpdate_time(now); entity.setUpdate_time(now);
if(ObjectUtil.isEmpty(entity.getRegion_name())){
// 获取region_name // 获取region_name
SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code()); SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code());
entity.setRegion_name(baseRegion.getRegion_name()); entity.setRegion_name(baseRegion.getRegion_name());
}
// if (ObjectUtil.isNotEmpty(entity.getCan_vehicle_types())) { // if (ObjectUtil.isNotEmpty(entity.getCan_vehicle_types())) {
// String can_vehicle_type = String.join(",", entity.getCan_vehicle_types()); // String can_vehicle_type = String.join(",", entity.getCan_vehicle_types());
// entity.setCan_vehicle_type(can_vehicle_type); // entity.setCan_vehicle_type(can_vehicle_type);

10
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/ReportController.java

@ -1,5 +1,6 @@
package org.nl.wms.sch.report; package org.nl.wms.sch.report;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@ -214,4 +215,13 @@ public class ReportController {
return new ResponseEntity<>(TableDataInfo.build(reportService.getIngotBatchList()),HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(reportService.getIngotBatchList()),HttpStatus.OK);
} }
@PostMapping("/hwtask")
@Log("回温出库")
@ApiOperation("回温出库")
public ResponseEntity<Object> hwtask(@RequestBody JSONObject param){
log.info("回温出库任务:"+param.toString());
reportService.hwtask(param);
return new ResponseEntity<>(HttpStatus.OK);
}
} }

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/IReportService.java

@ -1,5 +1,6 @@
package org.nl.wms.sch.report.service; package org.nl.wms.sch.report.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
@ -76,4 +77,6 @@ public interface IReportService extends IService<ReportDto> {
List<String> getIngotBatchList(); List<String> getIngotBatchList();
void hwtask(JSONObject param);
} }

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dao/mapper/ReportMapper.xml

@ -272,6 +272,7 @@
p.vehicle_code2 AS subTray, p.vehicle_code2 AS subTray,
p.vehicle_code AS motherTray, p.vehicle_code AS motherTray,
p.update_time AS updateTime, p.update_time AS updateTime,
p.ing_task_code AS ing_task_code,
ANY_VALUE ( v.standing_time ) AS standingTime, ANY_VALUE ( v.standing_time ) AS standingTime,
ANY_VALUE ( m2.siliconGrade ) AS siliconGrade, ANY_VALUE ( m2.siliconGrade ) AS siliconGrade,
ANY_VALUE ( m2.productDescription ) AS productDescription, ANY_VALUE ( m2.productDescription ) AS productDescription,

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/dto/HwDto.java

@ -38,4 +38,6 @@ public class HwDto implements Serializable {
private String siliconGrade; private String siliconGrade;
/** 客户来料批次号 */ /** 客户来料批次号 */
private String ingotBatch; private String ingotBatch;
/** 任务号 */
private String ing_task_code;
} }

40
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/report/service/impl/ReportServiceImpl.java

@ -1,5 +1,7 @@
package org.nl.wms.sch.report.service.impl; package org.nl.wms.sch.report.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -7,11 +9,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.FileUtil; import org.nl.common.utils.FileUtil;
import org.nl.wms.ext.service.AcsToWmsService;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder; import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery; import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.nl.wms.sch.material.service.dao.Material; import org.nl.wms.sch.material.service.dao.Material;
import org.nl.wms.sch.material.service.dao.mapper.MaterialMapper; import org.nl.wms.sch.material.service.dao.mapper.MaterialMapper;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.report.service.IReportService; import org.nl.wms.sch.report.service.IReportService;
import org.nl.wms.sch.report.service.dao.mapper.ReportMapper; import org.nl.wms.sch.report.service.dao.mapper.ReportMapper;
import org.nl.wms.sch.report.service.dto.*; import org.nl.wms.sch.report.service.dto.*;
@ -32,6 +39,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, ReportDto> impl
@Autowired @Autowired
private ReportMapper reportMapper; private ReportMapper reportMapper;
@Autowired
private AcsToWmsService acsToWmsService;
@Autowired
private ISchBasePointService pointService;
@Override @Override
public IPage<ReportDto> queryAll(ReportQuery query, PageQuery pageQuery){ public IPage<ReportDto> queryAll(ReportQuery query, PageQuery pageQuery){
@ -322,6 +333,35 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, ReportDto> impl
} }
@Override
public void hwtask(JSONObject param){
param.put("request_medthod_code", "POINTTask");
param.put("request_medthod_name", "点对点任务");
param.put("device_code",param.getString("start_point"));
BaseResponse result = acsToWmsService.pdaApply(param);
Integer resultCode = result.getCode();
if(resultCode.equals(200)){
//更新起点终点任务号
SchBasePoint schBasePoint = pointService.getById(param.getString("start_point"));
SchBasePoint nextSchBasePoint = pointService.getById(param.getString("next_point"));
Map<String, String> parameters = result.getParameters();
//设置初始值
schBasePoint.setIng_task_code("1");
nextSchBasePoint.setIng_task_code("1");
if(ObjectUtil.isNotNull(parameters)){
String task_code = parameters.get("task_code");
if(ObjectUtil.isNotEmpty(task_code)){
schBasePoint.setIng_task_code(task_code);
nextSchBasePoint.setIng_task_code(task_code);
}
}
//发起任务时先把点位占用,防止发起重复任务
pointService.update(schBasePoint);
pointService.update(nextSchBasePoint);
}else{
throw new BadRequestException("回温出库失败:+"+result.getMessage());
}
}
} }

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java

@ -34,7 +34,7 @@ public interface ISchBaseTaskService extends IService<SchBaseTask> {
* *
* @param entity / * @param entity /
*/ */
void create(SchBaseTask entity); String create(SchBaseTask entity);
/** /**
* 编辑 * 编辑

17
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java

@ -166,7 +166,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
} }
@Override @Override
public void create(SchBaseTask entity) { public String create(SchBaseTask entity) {
String now = DateUtil.now(); String now = DateUtil.now();
Assert.notNull(entity.getTask_status(), "任务状态不能为空!"); Assert.notNull(entity.getTask_status(), "任务状态不能为空!");
@ -175,7 +175,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
entity.setCreate_time(now); entity.setCreate_time(now);
entity.setUpdate_time(now); entity.setUpdate_time(now);
schBaseTaskMapper.insert(entity); schBaseTaskMapper.insert(entity);
return entity.getTask_code();
} }
@Override @Override
@ -323,10 +323,19 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
BaseResponse baseResponse= acsToWmsService.pdaApply(param); BaseResponse baseResponse= acsToWmsService.pdaApply(param);
Integer resultCode = baseResponse.getCode(); Integer resultCode = baseResponse.getCode();
if(resultCode.equals(200)){ if(resultCode.equals(200)){
//发起任务时先把点位占用,防止发起重复任务 Map<String, String> parameters = baseResponse.getParameters();
//设置初始值
schBasePoint.setIng_task_code("1"); schBasePoint.setIng_task_code("1");
pointService.update(schBasePoint);
nexSchBasePoint.setIng_task_code("1"); nexSchBasePoint.setIng_task_code("1");
if(ObjectUtil.isNotNull(parameters)){
String task_code = parameters.get("task_code");
if(ObjectUtil.isNotEmpty(task_code)){
schBasePoint.setIng_task_code(task_code);
nexSchBasePoint.setIng_task_code(task_code);
}
}
//发起任务时先把点位占用,防止发起重复任务
pointService.update(schBasePoint);
pointService.update(nexSchBasePoint); pointService.update(nexSchBasePoint);
nextList.remove(0); nextList.remove(0);
}else{ }else{

7
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java

@ -163,7 +163,7 @@ public abstract class AbstractTask {
* @param param * @param param
* @throws BadRequestException * @throws BadRequestException
*/ */
public void apply(JSONObject param) throws BadRequestException { public String apply(JSONObject param) throws BadRequestException {
// 申请任务 // 申请任务
SchBaseTask task = new SchBaseTask(); // 任务实体 SchBaseTask task = new SchBaseTask(); // 任务实体
String apply_point_code = param.getString("device_code"); // 请求点 String apply_point_code = param.getString("device_code"); // 请求点
@ -251,7 +251,7 @@ public abstract class AbstractTask {
// 校验是否需要自动agv // 校验是否需要自动agv
if (!pointObj.getIs_auto()) { if (!pointObj.getIs_auto()) {
// 如果不需要自动,则不创建任务 // 如果不需要自动,则不创建任务
return; return "1";
} }
// 2、创建申请任务 // 2、创建申请任务
task.setAcs_trace_id(param.getString("acs_trace_id")); task.setAcs_trace_id(param.getString("acs_trace_id"));
@ -283,7 +283,8 @@ public abstract class AbstractTask {
task.setCreate_name(nickName); task.setCreate_name(nickName);
task.setUpdate_id(currentUserId); task.setUpdate_id(currentUserId);
task.setUpdate_name(nickName); task.setUpdate_name(nickName);
taskService.create(task); String task_code =taskService.create(task);
return task_code;
} }
public void updateTaskStatus(String task_code, TaskStatus status) { public void updateTaskStatus(String task_code, TaskStatus status) {

27
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java

@ -181,13 +181,11 @@ public class POINTTask extends AbstractTask {
String vehicleCode=taskObj.getVehicle_code(); String vehicleCode=taskObj.getVehicle_code();
String vehicleCode2= taskObj.getVehicle_code2(); String vehicleCode2= taskObj.getVehicle_code2();
SchBaseVehiclematerialgroup one =null; SchBaseVehiclematerialgroup one =null;
//母托盘更新组盘信息
if(StringUtils.isNotEmpty(vehicleCode)) { if(StringUtils.isNotEmpty(vehicleCode)) {
one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() JSONObject group_jo = new JSONObject();
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode) group_jo.put("vehicle_code",vehicleCode);
.eq(SchBaseVehiclematerialgroup::getPoint_code, startPoint) one = vehiclematerialgroupService.getGroup(group_jo);
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status,
GroupBindMaterialStatusEnum.BOUND.getValue()));
}
if (ObjectUtil.isNotEmpty(one)) { if (ObjectUtil.isNotEmpty(one)) {
one.setTask_code(taskObj.getTask_code()); one.setTask_code(taskObj.getTask_code());
one.setPoint_code(endPointObj.getPoint_code()); // 当前位置 one.setPoint_code(endPointObj.getPoint_code()); // 当前位置
@ -197,22 +195,16 @@ public class POINTTask extends AbstractTask {
one.setUpdate_id(GeneralDefinition.ACS_ID); one.setUpdate_id(GeneralDefinition.ACS_ID);
one.setUpdate_name(GeneralDefinition.ACS_NAME); one.setUpdate_name(GeneralDefinition.ACS_NAME);
one.setUpdate_time(DateUtil.now()); one.setUpdate_time(DateUtil.now());
vehiclematerialgroupService.updateById(one); vehiclematerialgroupService.updateByJson(one);
} }
}
//子托盘更新组盘信息
if(StringUtils.isNotEmpty(vehicleCode2)) { if(StringUtils.isNotEmpty(vehicleCode2)) {
one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>()
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode2) .eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode2)
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, .eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status,
GroupBindMaterialStatusEnum.BOUND.getValue())); GroupBindMaterialStatusEnum.BOUND.getValue()));
if(endPointObj.getPoint_code().contains("XHW")){
//pdm_bd_workorder_two任务完成时,status改为3
workorderService.update(vehicleCode2,"3");
}
}
if (ObjectUtil.isNotEmpty(one)) { if (ObjectUtil.isNotEmpty(one)) {
// throw new BadRequestException(vehicleCode + " => " + startPointObj.getVehicle_type() + "的组盘信息未找到");
// }
one.setTask_code(taskObj.getTask_code()); 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.setPoint_name(endPointObj.getPoint_name());
@ -223,6 +215,11 @@ public class POINTTask extends AbstractTask {
one.setUpdate_time(DateUtil.now()); one.setUpdate_time(DateUtil.now());
vehiclematerialgroupService.updateById(one); vehiclematerialgroupService.updateById(one);
} }
if(endPointObj.getPoint_code().contains("XHW")){
//pdm_bd_workorder_two任务完成时,status改为3
workorderService.update(vehicleCode2,"3");
}
}
// 终点解锁 // 终点解锁
endPointObj.setIng_task_code(""); endPointObj.setIng_task_code("");
endPointObj.setVehicle_code(taskObj.getVehicle_code()); endPointObj.setVehicle_code(taskObj.getVehicle_code());

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java

@ -210,11 +210,12 @@ public class YCLCKTask extends AbstractTask {
if (status.equals(TaskStatus.FINISHED)) { // 完成 if (status.equals(TaskStatus.FINISHED)) { // 完成
String vehicleCode = taskObj.getVehicle_code(); String vehicleCode = taskObj.getVehicle_code();
String vehicleCode2 = taskObj.getVehicle_code2(); String vehicleCode2 = taskObj.getVehicle_code2();
SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>()
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode) //查询母托盘
.eq(SchBaseVehiclematerialgroup::getPoint_code, startPoint) JSONObject group_jo = new JSONObject();
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, group_jo.put("vehicle_code",vehicleCode);
GroupBindMaterialStatusEnum.BOUND.getValue())); SchBaseVehiclematerialgroup one = vehiclematerialgroupService.getGroup(group_jo);
if (ObjectUtil.isNotEmpty(one)) { if (ObjectUtil.isNotEmpty(one)) {
one.setTask_code(taskObj.getTask_code()); one.setTask_code(taskObj.getTask_code());
one.setPoint_code(endPointObj.getPoint_code()); // 当前位置 one.setPoint_code(endPointObj.getPoint_code()); // 当前位置
@ -225,7 +226,7 @@ public class YCLCKTask extends AbstractTask {
one.setUpdate_id(GeneralDefinition.ACS_ID); one.setUpdate_id(GeneralDefinition.ACS_ID);
one.setUpdate_name(GeneralDefinition.ACS_NAME); one.setUpdate_name(GeneralDefinition.ACS_NAME);
one.setUpdate_time(DateUtil.now()); one.setUpdate_time(DateUtil.now());
vehiclematerialgroupService.updateById(one); vehiclematerialgroupService.updateByJson(one);
} }
one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() one = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>()
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode2) .eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode2)

14
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java

@ -35,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -177,10 +178,19 @@ public class WorkorderServiceImpl extends ServiceImpl<WorkorderMapper, Workorder
BaseResponse baseResponse= acsToWmsService.pdaApply(param); BaseResponse baseResponse= acsToWmsService.pdaApply(param);
Integer resultCode = baseResponse.getCode(); Integer resultCode = baseResponse.getCode();
if(resultCode.equals(200)){ if(resultCode.equals(200)){
//发起任务时先把点位占用,防止发起重复任务 Map<String, String> parameters = baseResponse.getParameters();
//设置初始值
schBasePoint.setIng_task_code("1"); schBasePoint.setIng_task_code("1");
pointService.update(schBasePoint);
nexSchBasePoint.setIng_task_code("1"); nexSchBasePoint.setIng_task_code("1");
if(ObjectUtil.isNotNull(parameters)){
String task_code = parameters.get("task_code");
if(ObjectUtil.isNotEmpty(task_code)){
schBasePoint.setIng_task_code(task_code);
nexSchBasePoint.setIng_task_code(task_code);
}
}
//发起任务时先把点位占用,防止发起重复任务
pointService.update(schBasePoint);
pointService.update(nexSchBasePoint); pointService.update(nexSchBasePoint);
nextList.remove(0); nextList.remove(0);
}else{ }else{

66
lms/nladmin-ui/src/views/wms/hw/detail/index.vue

@ -108,15 +108,6 @@
<crudOperation :permission="permission" /> <crudOperation :permission="permission" />
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" height="300" @selection-change="crud.selectionChangeHandler"> <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" height="300" @selection-change="crud.selectionChangeHandler">
<el-table-column v-permission="[]" label="操作" width="80px" align="center" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
icon="el-icon-add"
@click="handleButtonClick(scope.row)"
>回温出库</el-button>
</template>
</el-table-column>
<el-table-column prop="pointCode" label="点位编码" :min-width="flexWidth('pointCode',crud.data,'点位编码')" /> <el-table-column prop="pointCode" label="点位编码" :min-width="flexWidth('pointCode',crud.data,'点位编码')" />
<el-table-column prop="regionName" label="区域名称" :min-width="flexWidth('regionName',crud.data,'区域名称')" /> <el-table-column prop="regionName" label="区域名称" :min-width="flexWidth('regionName',crud.data,'区域名称')" />
<el-table-column prop="subTray" label="子托编码" :min-width="flexWidth('subTray',crud.data,'子托编码')" /> <el-table-column prop="subTray" label="子托编码" :min-width="flexWidth('subTray',crud.data,'子托编码')" />
@ -134,10 +125,35 @@
<span>{{ scope.row.standingTime > scope.row.usedTime ? '未完成' : '已完成' }}</span> <span>{{ scope.row.standingTime > scope.row.usedTime ? '未完成' : '已完成' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="95" fixed="right">
<template slot-scope="scope">
<el-button
class="filter-item"
type="success"
size="mini"
v-if="showButton1(scope.row)"
>
正在出库
</el-button>
<el-button
class="filter-item"
type="warning"
size="mini"
v-if="showButton2(scope.row)"
@click="handleButtonClick(scope.row)"
>
回温出库
</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<el-dialog <el-dialog
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:lock-scroll="false"
width="30%"
title="选择点位" title="选择点位"
:before-close="handleClose"
> >
<el-form ref="form" :model="form"> <el-form ref="form" :model="form">
<el-form-item label="点位列表"> <el-form-item label="点位列表">
@ -152,7 +168,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button> <el-button @click="handleCancle">取消</el-button>
<el-button type="primary" @click="submitSelectedPoint">确认</el-button> <el-button type="primary" @click="submitSelectedPoint">确认</el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -164,14 +180,12 @@
<script> <script>
import crudMaterial from './detail' import crudMaterial from './detail'
import CRUD, { crud, form, header, presenter } from '@crud/crud' import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation' import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import crudMdBaseWorkShop from '@/views/wms/basedata/workshop/mdBaseWorkshop'
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint' import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
import crudSchBaseRegion from '@/views/wms/sch/region/schBaseRegion'
export default { export default {
name: 'HwDetail', name: 'HwDetail',
@ -218,7 +232,6 @@ export default {
this.getPointList() this.getPointList()
this.getSupplierNameList() this.getSupplierNameList()
this.getIngotBatchList() this.getIngotBatchList()
this.fetchPoints()
this.getProductDescriptionList() this.getProductDescriptionList()
}, },
methods: { methods: {
@ -246,6 +259,28 @@ export default {
this.ingotBatchList = res.content this.ingotBatchList = res.content
}) })
}, },
handleClose(done){
this.form.selectedPoint = null
done();
},
handleCancle(){
this.dialogVisible = false
this.form.selectedPoint = null
},
showButton1(row){
if(typeof row.ing_task_code === 'undefined' || row.ing_task_code == null || row.ing_task_code === ''){
return false;
}else{
return true;
}
},
showButton2(row){
if(typeof row.ing_task_code === 'undefined' || row.ing_task_code == null || row.ing_task_code === ''){
return true;
}else{
return false;
}
},
handleButtonClick(row) { handleButtonClick(row) {
this.selectedRow = row this.selectedRow = row
this.dialogVisible = true this.dialogVisible = true
@ -263,12 +298,13 @@ export default {
return return
} }
// Submit the selected point to the backend // Submit the selected point to the backend
this.$axios.post('/api/pda/task', { this.$axios.post('/api/report/hwtask', {
start_point: this.selectedRow.pointCode, start_point: this.selectedRow.pointCode,
next_point: selectedPoint next_point: selectedPoint
}).then(response => { }).then(response => {
this.$message.success('提交成功') this.$message.success('提交成功')
this.dialogVisible = false this.dialogVisible = false
this.crud.toQuery()
}).catch(error => { }).catch(error => {
this.$message.error('提交失败') this.$message.error('提交失败')
}) })

10
lms/nladmin-ui/src/views/wms/sch/point/index.vue

@ -179,9 +179,6 @@
<!--表单组件--> <!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="540px"> <el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="540px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;">
<el-form-item v-if="false" label="点位标识" prop="point_id">
<el-input v-model="form.point_id" style="width: 370px;" />
</el-form-item>
<el-form-item label="所属车间"> <el-form-item label="所属车间">
<el-select <el-select
v-model="form.workshop_code" v-model="form.workshop_code"
@ -206,6 +203,7 @@
v-for="item in regionList" v-for="item in regionList"
:label="item.region_name" :label="item.region_name"
:value="item.region_code" :value="item.region_code"
@click.native="regionChange(item)"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -504,6 +502,10 @@ export default {
} }
}) })
}, },
regionChange(item){
//console.log('', item)
this.form.region_name = item.region_name
},
changeUsed(data, flag) { // changeUsed(data, flag) { //
const param = {} const param = {}
param.data = data param.data = data
@ -565,7 +567,7 @@ export default {
.post('/api/schBasePoint/outbound', data) .post('/api/schBasePoint/outbound', data)
.then(response => { .then(response => {
// //
console.log('提交成功', response) //console.log('', response)
this.$message.success('提交成功') this.$message.success('提交成功')
this.closeReasonDialog() this.closeReasonDialog()
}) })

4
lms/nladmin-ui/src/views/wms/sch/point/schBasePoint.js

@ -47,9 +47,9 @@ export function getPointsByRegionCodes(data) {
}) })
} }
export function getCBPointList(data) { export function getCBPointList(data) {
data = { region_code: 'CB' } data = { region_code: 'CB', vehicle_qty: 0 }
return request({ return request({
url: 'api/schBasePoint/getPointList', url: 'api/schBasePoint/getPointListByPda',
method: 'post', method: 'post',
data data
}) })

Loading…
Cancel
Save