Browse Source

add: 压机泥料残余记录

master
李永德 1 year ago
parent
commit
1b65bd962e
  1. BIN
      lms/nladmin-system/doc/wms.xls
  2. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/SignalData.java
  3. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseRequest.java
  4. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
  5. 66
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/controller/PdmBdMaterialResidueController.java
  6. 49
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/IPdmBdMaterialResidueService.java
  7. 46
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/PdmBdMaterialResidue.java
  8. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/mapper/PdmBdMaterialResidueMapper.java
  9. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/mapper/PdmBdMaterialResidueMapper.xml
  10. 34
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dto/PdmBdMaterialResidueDto.java
  11. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dto/PdmBdMaterialResidueQuery.java
  12. 90
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/impl/PdmBdMaterialResidueServiceImpl.java
  13. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/IPdmBdWorkorderService.java
  14. 14
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/impl/PdmBdWorkorderServiceImpl.java
  15. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java
  16. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java
  17. 21
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java
  18. 102
      lms/nladmin-ui/src/views/wms/pdm/residue/index.vue
  19. 27
      lms/nladmin-ui/src/views/wms/pdm/residue/pdmBdMaterialResidue.js

BIN
lms/nladmin-system/doc/wms.xls

Binary file not shown.

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/SignalData.java

@ -14,5 +14,11 @@ public class SignalData {
private String value; // 1 private String value; // 1
public static SignalData buildSignalData(String code, String value) {
SignalData signalData = new SignalData();
signalData.setCode(code);
signalData.setValue(value);
return signalData;
}
} }

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseRequest.java

@ -1,5 +1,7 @@
package org.nl.wms.ext.acs.service.dto.to; package org.nl.wms.ext.acs.service.dto.to;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import lombok.Data; import lombok.Data;
import java.util.HashMap; import java.util.HashMap;
@ -47,4 +49,11 @@ public class BaseRequest {
*/ */
private Map<String, String> parameters = new HashMap(); private Map<String, String> parameters = new HashMap();
public static BaseRequest createRequest() {
BaseRequest baseRequest = new BaseRequest();
baseRequest.setRequestNo(IdUtil.simpleUUID());
baseRequest.setRequestDate(DateUtil.now());
return baseRequest;
}
} }

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

@ -27,6 +27,7 @@ import org.nl.wms.ext.acs.service.dto.to.acs.GetPalletizeResponse;
import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.ext.record.service.ISysInteractRecordService;
import org.nl.wms.pdm.record.service.IPdmBdRequestMaterialRecordService; import org.nl.wms.pdm.record.service.IPdmBdRequestMaterialRecordService;
import org.nl.wms.pdm.record.service.dao.PdmBdRequestMaterialRecord; import org.nl.wms.pdm.record.service.dao.PdmBdRequestMaterialRecord;
import org.nl.wms.pdm.residue.service.IPdmBdMaterialResidueService;
import org.nl.wms.pdm.track.service.IPdmBdProductionProcessTrackingService; import org.nl.wms.pdm.track.service.IPdmBdProductionProcessTrackingService;
import org.nl.wms.pdm.track.service.dao.PdmBdProductionProcessTracking; import org.nl.wms.pdm.track.service.dao.PdmBdProductionProcessTracking;
import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
@ -93,6 +94,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
private IPdmBdProductionProcessTrackingService processTrackingService; private IPdmBdProductionProcessTrackingService processTrackingService;
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired
private IPdmBdMaterialResidueService materialResidueService;
@Override @Override
public BaseResponse acsApply(JSONObject param) { public BaseResponse acsApply(JSONObject param) {
@ -308,6 +311,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return requestNo; return requestNo;
} }
/** 反馈压机残留重量*/
public BaseResponse applyFeedbackWeight(JSONObject param) {
ApplyTaskRequest applyTaskRequest = param.toJavaObject(ApplyTaskRequest.class);
materialResidueService.addByApplyTaskRequest(applyTaskRequest);
return BaseResponse.responseOk(applyTaskRequest.getRequestNo());
}
/** 申请贴标 */ /** 申请贴标 */
public BaseResponse applyLabelling(JSONObject param) { public BaseResponse applyLabelling(JSONObject param) {
// 木托盘号##物料编码##数量##吨量(单重X数量)##生产日期##成型工单号(mes提供压制工单) // 木托盘号##物料编码##数量##吨量(单重X数量)##生产日期##成型工单号(mes提供压制工单)
@ -350,6 +360,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return BaseResponse.responseError(requestNo, "物料信息为空!"); return BaseResponse.responseError(requestNo, "物料信息为空!");
} }
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.PRODUCING.getCode()); bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.PRODUCING.getCode());
bdWorkorder.setRealproducestart_date(DateUtil.now());
workorderService.update(bdWorkorder); workorderService.update(bdWorkorder);
return BaseResponse.responseOk(requestNo); return BaseResponse.responseOk(requestNo);
} }
@ -366,6 +377,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return BaseResponse.responseError(requestNo, "物料信息为空!"); return BaseResponse.responseError(requestNo, "物料信息为空!");
} }
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode()); bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode());
bdWorkorder.setRealproduceend_date(DateUtil.now());
workorderService.update(bdWorkorder); workorderService.update(bdWorkorder);
return BaseResponse.responseOk(requestNo); return BaseResponse.responseOk(requestNo);
} }

66
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/controller/PdmBdMaterialResidueController.java

@ -0,0 +1,66 @@
package org.nl.wms.pdm.residue.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.pdm.residue.service.IPdmBdMaterialResidueService;
import org.nl.wms.pdm.residue.service.dao.PdmBdMaterialResidue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import java.util.Set;
/**
* @author lyd
* @date 2023-07-28
**/
@Slf4j
@RestController
@Api(tags = "压机泥料剩余记录管理")
@RequestMapping("/api/pdmBdMaterialResidue")
public class PdmBdMaterialResidueController {
@Autowired
private IPdmBdMaterialResidueService pdmBdMaterialResidueService;
@GetMapping
@Log("查询压机泥料剩余记录")
@ApiOperation("查询压机泥料剩余记录")
//@SaCheckPermission("@el.check('pdmBdMaterialResidue:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(pdmBdMaterialResidueService.queryAll(whereJson,page)),HttpStatus.OK);
}
@PostMapping
@Log("新增压机泥料剩余记录")
@ApiOperation("新增压机泥料剩余记录")
//@SaCheckPermission("@el.check('pdmBdMaterialResidue:add')")
public ResponseEntity<Object> create(@Validated @RequestBody PdmBdMaterialResidue entity){
pdmBdMaterialResidueService.create(entity);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改压机泥料剩余记录")
@ApiOperation("修改压机泥料剩余记录")
//@SaCheckPermission("@el.check('pdmBdMaterialResidue:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody PdmBdMaterialResidue entity){
pdmBdMaterialResidueService.update(entity);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除压机泥料剩余记录")
@ApiOperation("删除压机泥料剩余记录")
//@SaCheckPermission("@el.check('pdmBdMaterialResidue:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
pdmBdMaterialResidueService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}

49
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/IPdmBdMaterialResidueService.java

@ -0,0 +1,49 @@
package org.nl.wms.pdm.residue.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest;
import org.nl.wms.pdm.residue.service.dao.PdmBdMaterialResidue;
import java.util.Map;
import java.util.Set;
/**
* @description 服务接口
* @author lyd
* @date 2023-07-28
**/
public interface IPdmBdMaterialResidueService extends IService<PdmBdMaterialResidue> {
/**
* 查询数据分页
* @param whereJson 条件
* @param pageable 分页参数
* @return IPage<PdmBdMaterialResidue>
*/
IPage<PdmBdMaterialResidue> queryAll(Map whereJson, PageQuery pageable);
/**
* 创建
* @param entity /
*/
void create(PdmBdMaterialResidue entity);
/**
* 编辑
* @param entity /
*/
void update(PdmBdMaterialResidue entity);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Set<String> ids);
/**
* 添加数据
*/
void addByApplyTaskRequest(ApplyTaskRequest applyTaskRequest);
}

46
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/PdmBdMaterialResidue.java

@ -0,0 +1,46 @@
package org.nl.wms.pdm.residue.service.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @description /
* @author lyd
* @date 2023-07-28
**/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("pdm_bd_material_residue")
public class PdmBdMaterialResidue implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "record_id", type = IdType.NONE)
@ApiModelProperty(value = "记录标识")
private String record_id;
@ApiModelProperty(value = "泥料编码")
private String raw_material_code;
@ApiModelProperty(value = "设备编码")
private String device_code;
@ApiModelProperty(value = "泥料编码")
private String weight;
@ApiModelProperty(value = "工单号")
private String workorder_code;
@ApiModelProperty(value = "物料id")
private String material_id;
@ApiModelProperty(value = "记录时间")
private String record_time;
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/mapper/PdmBdMaterialResidueMapper.java

@ -0,0 +1,12 @@
package org.nl.wms.pdm.residue.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.pdm.residue.service.dao.PdmBdMaterialResidue;
/**
* @author lyd
* @date 2023-07-28
**/
public interface PdmBdMaterialResidueMapper extends BaseMapper<PdmBdMaterialResidue> {
}

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dao/mapper/PdmBdMaterialResidueMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.pdm.residue.service.dao.mapper.PdmBdMaterialResidueMapper">
</mapper>

34
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dto/PdmBdMaterialResidueDto.java

@ -0,0 +1,34 @@
package org.nl.wms.pdm.residue.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @description /
* @author lyd
* @date 2023-07-28
**/
@Data
public class PdmBdMaterialResidueDto implements Serializable {
/** 记录标识 */
private String record_id;
/** 泥料编码 */
private String raw_material_code;
/** 设备编码 */
private String device_code;
/** 泥料编码 */
private String weight;
/** 工单号 */
private String workorder_code;
/** 物料id */
private String material_id;
/** 记录时间 */
private String record_time;
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/dto/PdmBdMaterialResidueQuery.java

@ -0,0 +1,12 @@
package org.nl.wms.pdm.residue.service.dto;
import org.nl.common.domain.query.BaseQuery;
import org.nl.wms.pdm.residue.service.dao.PdmBdMaterialResidue;
/**
* @author lyd
* @date 2023-07-28
**/
public class PdmBdMaterialResidueQuery extends BaseQuery<PdmBdMaterialResidue> {
}

90
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/residue/service/impl/PdmBdMaterialResidueServiceImpl.java

@ -0,0 +1,90 @@
package org.nl.wms.pdm.residue.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
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.ext.acs.service.dto.to.wms.ApplyTaskRequest;
import org.nl.wms.pdm.residue.service.IPdmBdMaterialResidueService;
import org.nl.wms.pdm.residue.service.dao.mapper.PdmBdMaterialResidueMapper;
import org.nl.wms.pdm.residue.service.dao.PdmBdMaterialResidue;
import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.Set;
/**
* @description 服务实现
* @author lyd
* @date 2023-07-28
**/
@Slf4j
@Service
public class PdmBdMaterialResidueServiceImpl extends ServiceImpl<PdmBdMaterialResidueMapper, PdmBdMaterialResidue> implements IPdmBdMaterialResidueService {
@Autowired
private PdmBdMaterialResidueMapper pdmBdMaterialResidueMapper;
@Autowired
private IPdmBdWorkorderService workorderService;
@Override
public IPage<PdmBdMaterialResidue> queryAll(Map whereJson, PageQuery page){
LambdaQueryWrapper<PdmBdMaterialResidue> lam = new LambdaQueryWrapper<>();
IPage<PdmBdMaterialResidue> pages = new Page<>(page.getPage() + 1, page.getSize());
pdmBdMaterialResidueMapper.selectPage(pages, lam);
return pages;
}
@Override
public void create(PdmBdMaterialResidue entity) {
entity.setRecord_id(IdUtil.getSnowflake(1, 1).nextIdStr());
entity.setRecord_time(DateUtil.now());
pdmBdMaterialResidueMapper.insert(entity);
}
@Override
public void update(PdmBdMaterialResidue entity) {
PdmBdMaterialResidue dto = pdmBdMaterialResidueMapper.selectById(entity.getRecord_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
String now = DateUtil.now();
entity.setRecord_time(now);
pdmBdMaterialResidueMapper.updateById(entity);
}
@Override
public void deleteAll(Set<String> ids) {
// 真删除
pdmBdMaterialResidueMapper.deleteBatchIds(ids);
}
@Override
public void addByApplyTaskRequest(ApplyTaskRequest applyTaskRequest) {
// 查找工单
PdmBdWorkorder code = workorderService.getByCode(applyTaskRequest.getOrder_code());
PdmBdMaterialResidue materialResidue = new PdmBdMaterialResidue();
materialResidue.setRecord_id(IdUtil.getSnowflake(1,1).nextIdStr());
if (ObjectUtil.isNotEmpty(code)) {
materialResidue.setMaterial_id(code.getMaterial_id());
}
materialResidue.setWorkorder_code(applyTaskRequest.getOrder_code());
materialResidue.setDevice_code(applyTaskRequest.getDevice_code());
materialResidue.setRaw_material_code(applyTaskRequest.getMaterial_code());
materialResidue.setWeight(applyTaskRequest.getWeight());
materialResidue.setRecord_time(DateUtil.now());
pdmBdMaterialResidueMapper.insert(materialResidue);
}
}

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/IPdmBdWorkorderService.java

@ -47,4 +47,6 @@ public interface IPdmBdWorkorderService extends IService<PdmBdWorkorder> {
* @return * @return
*/ */
PdmBdWorkorder getDeviceProductionTask(String deviceCode); PdmBdWorkorder getDeviceProductionTask(String deviceCode);
PdmBdWorkorder getByCode(String orderCode);
} }

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

@ -16,6 +16,7 @@ import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.workorder.service.dao.mapper.PdmBdWorkorderMapper; import org.nl.wms.pdm.workorder.service.dao.mapper.PdmBdWorkorderMapper;
import org.nl.wms.pdm.workorder.service.dto.PdmBdWorkorderQuery; import org.nl.wms.pdm.workorder.service.dto.PdmBdWorkorderQuery;
import org.nl.wms.sch.task_manage.GeneralDefinition;
import org.nl.wms.sch.task_manage.enums.WorkOrderStatusEnum; import org.nl.wms.sch.task_manage.enums.WorkOrderStatusEnum;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -65,11 +66,9 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
PdmBdWorkorder dto = pdmBdWorkorderMapper.selectById(entity.getWorkorder_id()); PdmBdWorkorder dto = pdmBdWorkorderMapper.selectById(entity.getWorkorder_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!"); if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now(); String now = DateUtil.now();
entity.setUpdate_id(currentUserId); entity.setUpdate_id(GeneralDefinition.ACS_ID);
entity.setUpdate_name(nickName); entity.setUpdate_name(GeneralDefinition.ACS_NAME);
entity.setUpdate_time(now); entity.setUpdate_time(now);
pdmBdWorkorderMapper.updateById(entity); pdmBdWorkorderMapper.updateById(entity);
@ -90,4 +89,11 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
return pdmBdWorkorderMapper.selectOne(lam); return pdmBdWorkorderMapper.selectOne(lam);
} }
@Override
public PdmBdWorkorder getByCode(String orderCode) {
LambdaQueryWrapper<PdmBdWorkorder> lam = new QueryWrapper<PdmBdWorkorder>().lambda();
lam.eq(PdmBdWorkorder::getWorkorder_code, orderCode);
return pdmBdWorkorderMapper.selectOne(lam);
}
} }

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQKTask.java

@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil; import org.nl.common.utils.CodeUtil;
import org.nl.system.service.notice.ISysNoticeService; import org.nl.system.service.notice.ISysNoticeService;
import org.nl.wms.ext.acs.service.dto.SignalData;
import org.nl.wms.ext.acs.service.dto.to.BaseRequest;
import org.nl.wms.ext.acs.service.dto.to.acs.PutActionRequest;
import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.ISchBasePointService;
@ -28,6 +31,7 @@ import org.nl.wms.util.TaskUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -120,7 +124,13 @@ public class FJQKTask extends AbstractTask {
SchBasePoint endPointObj = fjMapper.findPointForFJQK(startRegionStr, new JSONObject() SchBasePoint endPointObj = fjMapper.findPointForFJQK(startRegionStr, new JSONObject()
.fluentPut("vehicleType", vehicleType).fluentPut("pointType", GeneralDefinition.DEVICE_POINT)); .fluentPut("vehicleType", vehicleType).fluentPut("pointType", GeneralDefinition.DEVICE_POINT));
// todo: 请求ACS释放一个木托盘 // todo: 请求ACS释放一个木托盘
// AcsUtil.notifyAcs("", ) // SignalData signalData = SignalData.buildSignalData("to_command", "1");
// List<SignalData> signalList = new ArrayList<>();
// signalList.add(signalData);
// PutActionRequest putActionRequest = (PutActionRequest) BaseRequest.createRequest();
// putActionRequest.setDevice_code(endPointObj.getDevice_code());
// putActionRequest.setList(signalList);
// AcsUtil.notifyAcs("", putActionRequest);
// 这个点的父点位为起点 // 这个点的父点位为起点
return ObjectUtil.isNotEmpty(endPointObj) ? endPointObj : null; return ObjectUtil.isNotEmpty(endPointObj) ? endPointObj : null;
} }

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZSLTask.java

@ -2,6 +2,7 @@ package org.nl.wms.sch.task_manage.task.tasks.yz;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
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;
@ -34,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -301,6 +303,13 @@ public class YZSLTask extends AbstractTask {
processTracking.setProcess_location(endPoint); processTracking.setProcess_location(endPoint);
processTracking.setRecord_time(DateUtil.now()); processTracking.setRecord_time(DateUtil.now());
processTrackingService.create(processTracking); processTrackingService.create(processTracking);
// 工单统计实际数量
Integer materialQty = vehiclematerialgroup.getMaterial_qty();
PdmBdWorkorder bdWorkorder = workorderService.getByCode(vehiclematerialgroup.getWorkorder_code());
BigDecimal realQty = bdWorkorder.getReal_qty();
bdWorkorder.setReal_qty(NumberUtil.add(realQty, materialQty));
TaskUtils.setWorkOrderUpdateByType(bdWorkorder, taskFinishedType);
workorderService.updateById(bdWorkorder);
} }
// 起点清空 // 起点清空
PointUtils.setUpdateByType(startPointObj, taskFinishedType); PointUtils.setUpdateByType(startPointObj, taskFinishedType);

21
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java

@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.SpringContextHolder; import org.nl.config.SpringContextHolder;
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dao.SchBaseTask;
@ -63,6 +64,26 @@ public class TaskUtils {
setGroupUpdateByPC(groupEntity); setGroupUpdateByPC(groupEntity);
} }
} }
public static void setWorkOrderUpdateByAcs(PdmBdWorkorder pdmBdWorkorder) {
pdmBdWorkorder.setUpdate_id(GeneralDefinition.ACS_ID);
pdmBdWorkorder.setUpdate_name(GeneralDefinition.ACS_NAME);
pdmBdWorkorder.setUpdate_time(DateUtil.now());
}
public static void setWorkOrderUpdateByPC(PdmBdWorkorder pdmBdWorkorder) {
pdmBdWorkorder.setUpdate_id(SecurityUtils.getCurrentUserId());
pdmBdWorkorder.setUpdate_name(SecurityUtils.getCurrentNickName());
pdmBdWorkorder.setUpdate_time(DateUtil.now());
}
// 根据类型去判断谁修改的
public static void setWorkOrderUpdateByType(PdmBdWorkorder groupEntity, TaskFinishedTypeEnum taskFinishedType) {
if (taskFinishedType.equals(TaskFinishedTypeEnum.AUTO_ACS)) {
setWorkOrderUpdateByAcs(groupEntity);
} else {
setWorkOrderUpdateByPC(groupEntity);
}
}
public static void setUpdateAuto(SchBaseTask taskObj) { public static void setUpdateAuto(SchBaseTask taskObj) {

102
lms/nladmin-ui/src/views/wms/pdm/residue/index.vue

@ -0,0 +1,102 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="泥料编码">
<el-input v-model="form.raw_material_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="设备编码">
<el-input v-model="form.device_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="泥料编码">
<el-input v-model="form.weight" style="width: 370px;" />
</el-form-item>
<el-form-item label="工单号">
<el-input v-model="form.workorder_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="记录时间">
<el-input v-model="form.record_time" style="width: 370px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="raw_material_code" label="泥料编码" :min-width="flexWidth('raw_material_code',crud.data,'泥料编码')"/>
<el-table-column prop="device_code" label="设备编码" :min-width="flexWidth('device_code',crud.data,'设备编码')"/>
<el-table-column prop="weight" label="泥料编码" :min-width="flexWidth('weight',crud.data,'泥料编码')"/>
<el-table-column prop="workorder_code" label="工单号" :min-width="flexWidth('workorder_code',crud.data,'工单号')"/>
<el-table-column prop="record_time" label="记录时间" :min-width="flexWidth('record_time',crud.data,'记录时间')"/>
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudPdmBdMaterialResidue from './pdmBdMaterialResidue'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = {
record_id: null,
raw_material_code: null,
device_code: null,
weight: null,
workorder_code: null,
material_id: null,
record_time: null
}
export default {
name: 'PdmBdMaterialResidue',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '压机泥料剩余记录',
url: 'api/pdmBdMaterialResidue',
idField: 'record_id',
sort: 'record_id,desc',
crudMethod: { ...crudPdmBdMaterialResidue }
})
},
data() {
return {
permission: {
},
rules: {
} }
},
methods: {
// false
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>

27
lms/nladmin-ui/src/views/wms/pdm/residue/pdmBdMaterialResidue.js

@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/pdmBdMaterialResidue',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/pdmBdMaterialResidue/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/pdmBdMaterialResidue',
method: 'put',
data
})
}
export default { add, edit, del }
Loading…
Cancel
Save