rev:刻字后端代码
This commit is contained in:
@@ -281,17 +281,17 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- 解析客户端操作系统、浏览器信息 -->
|
<!-- 解析客户端操作系统、浏览器信息 -->
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>nl.basjes.parse.useragent</groupId>
|
<!-- <groupId>nl.basjes.parse.useragent</groupId>-->
|
||||||
<artifactId>yauaa</artifactId>
|
<!-- <artifactId>yauaa</artifactId>-->
|
||||||
<version>5.23</version>
|
<!-- <version>5.23</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>eu.bitwalker</groupId>
|
<!-- <groupId>eu.bitwalker</groupId>-->
|
||||||
<artifactId>UserAgentUtils</artifactId>
|
<!-- <artifactId>UserAgentUtils</artifactId>-->
|
||||||
<version>1.21</version>
|
<!-- <version>1.21</version>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<!--WQL-->
|
<!--WQL-->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -28,9 +28,8 @@ public enum AcsTaskEnum {
|
|||||||
TASK_PRODUCT_WASH("3","专机-深坑任务"),
|
TASK_PRODUCT_WASH("3","专机-深坑任务"),
|
||||||
//3个点,任务编号,缓存线满料载具列表
|
//3个点,任务编号,缓存线满料载具列表
|
||||||
TASK_CACHELINE_OUT("4","缓存线-专机缺料任务"),
|
TASK_CACHELINE_OUT("4","缓存线-专机缺料任务"),
|
||||||
TASK_PLOTTER_MAC("5","刻字机-满料入库"),
|
TASK_PLOTTER_MAC("5","刻字机-满料入库"),//判断是否铁料框(否的话: 不处理人工处理跟acs反馈sucess):
|
||||||
TASK_PLOTTER_EMPTY("6","刻字机-呼叫空框"),
|
TASK_PLOTTER_EMPTY("6","刻字机-呼叫空框"),//判断是否铁料框(否的话: 不处理人工处理跟acs反馈sucess):一体机加一个呼叫空框请求功能
|
||||||
TASK_PLOTTER_CALL_MATERIAL("14","刻字机-叫料请求"),
|
|
||||||
TASK_WARP_MAC("7","包装机-叫料出库"),
|
TASK_WARP_MAC("7","包装机-叫料出库"),
|
||||||
TASK_WARP_EMPTY("8","包装机-送空框"),
|
TASK_WARP_EMPTY("8","包装机-送空框"),
|
||||||
TASK_STRUCT_IN("9","入库-半成品-生产入库"),
|
TASK_STRUCT_IN("9","入库-半成品-生产入库"),
|
||||||
@@ -41,7 +40,11 @@ public enum AcsTaskEnum {
|
|||||||
TASK_STRUCT_BCP_EMPOUT("17","半成品-空托盘出库"),
|
TASK_STRUCT_BCP_EMPOUT("17","半成品-空托盘出库"),
|
||||||
TASK_STRUCT_CP_IN("11","入库-成品-生产入库"),
|
TASK_STRUCT_CP_IN("11","入库-成品-生产入库"),
|
||||||
TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"),
|
TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"),
|
||||||
TASK_STRUCT_CP_CHECK("13","成品-盘点"),
|
TASK_STRUCT_CP_CHECK("13","-盘点"),
|
||||||
|
TASK_WASH_LACK("20","清洗机-缺料请求"),
|
||||||
|
TASK_WASH_EMP("21","清洗机-空叫空框"),
|
||||||
|
TASK_WASH_FULL_AUTO("22","清洗机-满料请求自动"),//去半成品入库:参数不全也去异常处理位
|
||||||
|
TASK_WASH_FULL_QZ("23","清洗机-满料请求强制"),//去异常位:
|
||||||
|
|
||||||
//回调状态
|
//回调状态
|
||||||
STATUS_START("1","执行中"),
|
STATUS_START("1","执行中"),
|
||||||
@@ -52,11 +55,13 @@ public enum AcsTaskEnum {
|
|||||||
REQUEST_CALLTYPE_EMP("1","专机缺料请求"),
|
REQUEST_CALLTYPE_EMP("1","专机缺料请求"),
|
||||||
REQUEST_PLOTTER_SEND_FULL("3","刻字满料请求"),
|
REQUEST_PLOTTER_SEND_FULL("3","刻字满料请求"),
|
||||||
REQUEST_PLOTTER_CALL_EMP("4","刻字空框请求"),
|
REQUEST_PLOTTER_CALL_EMP("4","刻字空框请求"),
|
||||||
REQUEST_PLOTTER_CALL_MATERIAL("9","刻字叫料请求"),//由mes下发
|
|
||||||
REQUEST_WARP_CALL_FULL("5","包装缺料请求"),
|
REQUEST_WARP_CALL_FULL("5","包装缺料请求"),
|
||||||
REQUEST_WARP_SEND_EMP("6","包装送空框请求"),
|
REQUEST_WARP_SEND_EMP("6","包装送空框请求"),
|
||||||
REQUEST_WASH_EMP("7","清洗机器缺料请求"),
|
REQUEST_WASH_LACK("7","清洗机器缺料请求"),//深坑->清洗:相同物料的重量<150公斤;
|
||||||
REQUEST_WASH_FULL("8","清洗机器满料请求"),
|
REQUEST_WASH_EMP("8","清洗机器空框请求"),//清洗机下料位
|
||||||
|
REQUEST_WASH_FULL("9","清洗机器满料请求"),//清洗机满料请求
|
||||||
|
REQUEST_WASH_FULL_ERROR("10","清洗机-满料异常请求"),//去半成品入库
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -19,11 +19,8 @@ import cn.hutool.http.HttpUtil;
|
|||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import nl.basjes.parse.useragent.UserAgent;
|
|
||||||
import nl.basjes.parse.useragent.UserAgentAnalyzer;
|
|
||||||
import org.nl.modules.common.config.ElAdminProperties;
|
import org.nl.modules.common.config.ElAdminProperties;
|
||||||
import org.nl.modules.common.utils.ElAdminConstant;
|
import org.nl.modules.common.utils.ElAdminConstant;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
@@ -47,12 +44,12 @@ public class StringUtils {
|
|||||||
* 注入bean
|
* 注入bean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private static final UserAgentAnalyzer USER_AGENT_ANALYZER = UserAgentAnalyzer
|
// private static final UserAgentAnalyzer USER_AGENT_ANALYZER = UserAgentAnalyzer
|
||||||
.newBuilder()
|
// .newBuilder()
|
||||||
.hideMatcherLoadStats()
|
// .hideMatcherLoadStats()
|
||||||
.withCache(10000)
|
// .withCache(10000)
|
||||||
.withField(UserAgent.AGENT_NAME_VERSION)
|
// .withField(UserAgent.AGENT_NAME_VERSION)
|
||||||
.build();
|
// .build();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驼峰命名法工具
|
* 驼峰命名法工具
|
||||||
@@ -198,8 +195,9 @@ public class StringUtils {
|
|||||||
|
|
||||||
|
|
||||||
public static String getBrowser(HttpServletRequest request) {
|
public static String getBrowser(HttpServletRequest request) {
|
||||||
UserAgent.ImmutableUserAgent userAgent = USER_AGENT_ANALYZER.parse(request.getHeader("User-Agent"));
|
// UserAgent.ImmutableUserAgent userAgent = USER_AGENT_ANALYZER.parse(request.getHeader("User-Agent"));
|
||||||
return userAgent.get(UserAgent.AGENT_NAME_VERSION).getValue();
|
// return userAgent.get(UserAgent.AGENT_NAME_VERSION).getValue();
|
||||||
|
return "default";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import org.nl.wms.product_manage.sch.tasks.WashMachineryTask;
|
|||||||
import org.nl.wms.product_manage.sch.tasks.callEmpty.PlotterCallEmptyTask;
|
import org.nl.wms.product_manage.sch.tasks.callEmpty.PlotterCallEmptyTask;
|
||||||
import org.nl.wms.product_manage.sch.tasks.callMaterial.WrapCallMaterialTask;
|
import org.nl.wms.product_manage.sch.tasks.callMaterial.WrapCallMaterialTask;
|
||||||
import org.nl.wms.product_manage.sch.tasks.sendEmpty.WrapSendEmptyTask;
|
import org.nl.wms.product_manage.sch.tasks.sendEmpty.WrapSendEmptyTask;
|
||||||
import org.nl.wms.product_manage.sch.tasks.callMaterial.PlotterCallMaterialTask;
|
|
||||||
import org.nl.wms.product_manage.sch.tasks.sendMaterial.PlotterSendMaterialTask;
|
import org.nl.wms.product_manage.sch.tasks.sendMaterial.PlotterSendMaterialTask;
|
||||||
import org.springframework.context.SmartLifecycle;
|
import org.springframework.context.SmartLifecycle;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -25,10 +24,10 @@ public class ConventConfig implements SmartLifecycle {
|
|||||||
public void start() {
|
public void start() {
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_CALLTYPE_FULL, SpringContextHolder.getBean(SpeFullTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_CALLTYPE_FULL, SpringContextHolder.getBean(SpeFullTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_CALLTYPE_EMP, SpringContextHolder.getBean(SpeEmpTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_CALLTYPE_EMP, SpringContextHolder.getBean(SpeEmpTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WASH_EMP, SpringContextHolder.getBean(WashMachineryTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WASH_LACK, SpringContextHolder.getBean(WashMachineryTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_SEND_FULL, SpringContextHolder.getBean(PlotterSendMaterialTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_SEND_FULL, SpringContextHolder.getBean(PlotterSendMaterialTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_CALL_EMP, SpringContextHolder.getBean(PlotterCallEmptyTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_CALL_EMP, SpringContextHolder.getBean(PlotterCallEmptyTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_CALL_MATERIAL, SpringContextHolder.getBean(PlotterCallMaterialTask.class));
|
// AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_CALL_MATERIAL, SpringContextHolder.getBean(EngraveCallMaterialTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_CALL_FULL, SpringContextHolder.getBean(WrapCallMaterialTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_CALL_FULL, SpringContextHolder.getBean(WrapCallMaterialTask.class));
|
||||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_SEND_EMP, SpringContextHolder.getBean(WrapSendEmptyTask.class));
|
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_SEND_EMP, SpringContextHolder.getBean(WrapSendEmptyTask.class));
|
||||||
System.out.println("初始化Task_Collent完成777"+AcsToWmsServiceImpl.Task_Collent.size());
|
System.out.println("初始化Task_Collent完成777"+AcsToWmsServiceImpl.Task_Collent.size());
|
||||||
|
|||||||
@@ -16,18 +16,15 @@
|
|||||||
package org.nl.modules.common.utils;
|
package org.nl.modules.common.utils;
|
||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import cn.hutool.http.useragent.UserAgent;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import nl.basjes.parse.useragent.UserAgent;
|
|
||||||
import nl.basjes.parse.useragent.UserAgentAnalyzer;
|
|
||||||
import org.nl.modules.common.config.ElAdminProperties;
|
import org.nl.modules.common.config.ElAdminProperties;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.NetworkInterface;
|
import java.net.NetworkInterface;
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
@@ -47,12 +44,6 @@ public class StringUtils {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
private static final UserAgentAnalyzer USER_AGENT_ANALYZER = UserAgentAnalyzer
|
|
||||||
.newBuilder()
|
|
||||||
.hideMatcherLoadStats()
|
|
||||||
.withCache(10000)
|
|
||||||
.withField(UserAgent.AGENT_NAME_VERSION)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驼峰命名法工具
|
* 驼峰命名法工具
|
||||||
@@ -188,8 +179,7 @@ public class StringUtils {
|
|||||||
|
|
||||||
|
|
||||||
public static String getBrowser(HttpServletRequest request) {
|
public static String getBrowser(HttpServletRequest request) {
|
||||||
UserAgent.ImmutableUserAgent userAgent = USER_AGENT_ANALYZER.parse(request.getHeader("User-Agent"));
|
return "default";
|
||||||
return userAgent.get(UserAgent.AGENT_NAME_VERSION).getValue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public class LogServiceImpl implements LogService {
|
|||||||
logDto.setMethod(methodName);
|
logDto.setMethod(methodName);
|
||||||
logDto.setUsername(username);
|
logDto.setUsername(username);
|
||||||
logDto.setParams(getParameter(method, joinPoint.getArgs()));
|
logDto.setParams(getParameter(method, joinPoint.getArgs()));
|
||||||
logDto.setBrowser(browser);
|
logDto.setBrowser("default");
|
||||||
logRepository.save(logDto);
|
logRepository.save(logDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,86 +0,0 @@
|
|||||||
|
|
||||||
package org.nl.wms.masterdata_manage.备份pdm.rest;
|
|
||||||
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.nl.common.anno.Log;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.WorkProcedureService;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.dto.WorkProcedureDto;
|
|
||||||
import org.springframework.data.domain.Pageable;
|
|
||||||
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;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author ldjun
|
|
||||||
* @date 2021-12-19
|
|
||||||
**/
|
|
||||||
//@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
//@Api(tags = "工序管理")
|
|
||||||
//@RequestMapping("/api/workProcedure")
|
|
||||||
@Slf4j
|
|
||||||
public class WorkProcedureController {
|
|
||||||
|
|
||||||
|
|
||||||
private final WorkProcedureService workProcedureService;
|
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
@Log("查询工序")
|
|
||||||
@ApiOperation("查询工序")
|
|
||||||
//@PreAuthorize("@el.check('WorkProcedure:list')")
|
|
||||||
|
|
||||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
|
||||||
return new ResponseEntity<>(workProcedureService.queryAll(whereJson, page), HttpStatus.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping
|
|
||||||
@Log("新增工序")
|
|
||||||
@ApiOperation("新增工序")
|
|
||||||
//@PreAuthorize("@el.check('WorkProcedure:add')")
|
|
||||||
|
|
||||||
public ResponseEntity<Object> create(@Validated @RequestBody WorkProcedureDto dto) {
|
|
||||||
workProcedureService.create(dto);
|
|
||||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping
|
|
||||||
@Log("修改工序")
|
|
||||||
@ApiOperation("修改工序")
|
|
||||||
//@PreAuthorize("@el.check('WorkProcedure:edit')")
|
|
||||||
|
|
||||||
public ResponseEntity<Object> update(@Validated @RequestBody WorkProcedureDto dto) {
|
|
||||||
workProcedureService.update(dto);
|
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Log("删除工序")
|
|
||||||
@ApiOperation("删除工序")
|
|
||||||
//@PreAuthorize("@el.check('WorkProcedure:del')")
|
|
||||||
@DeleteMapping
|
|
||||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
|
|
||||||
workProcedureService.deleteAll(ids);
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/downSelect")
|
|
||||||
@Log("查询工序下拉列表")
|
|
||||||
@ApiOperation("查询工序下拉列表")
|
|
||||||
public ResponseEntity<Object> downSelect() {
|
|
||||||
return new ResponseEntity<>(workProcedureService.downSelect(), HttpStatus.OK);
|
|
||||||
}
|
|
||||||
@GetMapping("/queryWorkprocedure")
|
|
||||||
@Log("查询生产工序")
|
|
||||||
@ApiOperation("查询生产工序")
|
|
||||||
//@PreAuthorize("@el.check('workprocedure:list')")
|
|
||||||
public ResponseEntity<Object> queryWorkprocedure() {
|
|
||||||
return new ResponseEntity<>(workProcedureService.queryWorkprocedure(), HttpStatus.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
|
|
||||||
package org.nl.wms.masterdata_manage.备份pdm.service;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.dto.WorkProcedureDto;
|
|
||||||
import org.springframework.data.domain.Pageable;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ldjun
|
|
||||||
* @description 服务接口
|
|
||||||
* @date 2021-12-19
|
|
||||||
**/
|
|
||||||
public interface WorkProcedureService {
|
|
||||||
/**
|
|
||||||
* 查询数据分页
|
|
||||||
*
|
|
||||||
* @param whereJson 条件
|
|
||||||
* @param page 分页参数
|
|
||||||
* @return Map<String, Object>
|
|
||||||
*/
|
|
||||||
Map<String, Object> queryAll(Map whereJson, Pageable page);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询所有数据不分页
|
|
||||||
*
|
|
||||||
* @param whereJson 条件参数
|
|
||||||
* @return List<WorkProcedureDto>
|
|
||||||
*/
|
|
||||||
List<WorkProcedureDto> queryAll(Map whereJson);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据ID查询
|
|
||||||
*
|
|
||||||
* @param workProcedure_id ID
|
|
||||||
* @return WorkProcedure
|
|
||||||
*/
|
|
||||||
WorkProcedureDto findById(String workProcedure_id);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据编码查询
|
|
||||||
*
|
|
||||||
* @param code code
|
|
||||||
* @return WorkProcedure
|
|
||||||
*/
|
|
||||||
WorkProcedureDto findByCode(String code);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建
|
|
||||||
*
|
|
||||||
* @param dto /
|
|
||||||
*/
|
|
||||||
void create(WorkProcedureDto dto);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 多选删除
|
|
||||||
*
|
|
||||||
* @param ids /
|
|
||||||
*/
|
|
||||||
void deleteAll(Long[] ids);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑
|
|
||||||
*
|
|
||||||
* @param dto /
|
|
||||||
*/
|
|
||||||
void update(WorkProcedureDto dto);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取下拉选列表
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
JSONArray downSelect();
|
|
||||||
/**
|
|
||||||
* 查询所有数据不分页
|
|
||||||
* @param
|
|
||||||
* @return List<PdmBaseWorkprocedureDto>
|
|
||||||
*/
|
|
||||||
List<WorkProcedureDto> queryWorkprocedure();
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
package org.nl.wms.masterdata_manage.备份pdm.service.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ldjun
|
|
||||||
* @description /
|
|
||||||
* @date 2021-12-19
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class WorkProcedureDto implements Serializable {
|
|
||||||
|
|
||||||
/** 工序标识 */
|
|
||||||
private String workprocedure_id;
|
|
||||||
|
|
||||||
/** 生产区域 */
|
|
||||||
private String product_area;
|
|
||||||
|
|
||||||
/** 工序编码 */
|
|
||||||
private String workprocedure_code;
|
|
||||||
|
|
||||||
/** 工序名称 */
|
|
||||||
private String workprocedure_name;
|
|
||||||
|
|
||||||
/** 对应工段 */
|
|
||||||
private String worksection_type_scode;
|
|
||||||
|
|
||||||
/** 分段计算类型 */
|
|
||||||
private String burst_type_scode;
|
|
||||||
|
|
||||||
/** 是否关键工序 */
|
|
||||||
private String is_keyworkprocedure;
|
|
||||||
|
|
||||||
/** 是否首道工序 */
|
|
||||||
private String is_first;
|
|
||||||
|
|
||||||
/** 是否启用 */
|
|
||||||
private String is_used;
|
|
||||||
|
|
||||||
/** 备注 */
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/** 创建人 */
|
|
||||||
private String create_id;
|
|
||||||
|
|
||||||
/** 创建人姓名 */
|
|
||||||
private String create_name;
|
|
||||||
|
|
||||||
/** 创建时间 */
|
|
||||||
private String create_time;
|
|
||||||
|
|
||||||
/** 修改人 */
|
|
||||||
private String update_id;
|
|
||||||
|
|
||||||
/** 修改人姓名 */
|
|
||||||
private String update_name;
|
|
||||||
|
|
||||||
/** 修改时间 */
|
|
||||||
private String update_time;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
|
|
||||||
package org.nl.wms.masterdata_manage.备份pdm.service.impl;
|
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
|
||||||
|
|
||||||
import org.nl.common.utils.SecurityUtils;
|
|
||||||
import org.nl.modules.wql.core.bean.ResultBean;
|
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
|
||||||
import org.nl.modules.wql.util.WqlUtil;
|
|
||||||
import org.nl.wms.system_manage.service.user.dto.CurrentUser;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.WorkProcedureService;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.dto.WorkProcedureDto;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.data.domain.Pageable;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ldjun
|
|
||||||
* @description 服务实现
|
|
||||||
* @date 2021-12-19
|
|
||||||
**/
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Slf4j
|
|
||||||
public class WorkProcedureServiceImpl implements WorkProcedureService {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
|
||||||
String where = "";
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workprocedure");
|
|
||||||
String search = (String) whereJson.get("search");
|
|
||||||
String product_area = (String) whereJson.get("product_area");
|
|
||||||
if (!StrUtil.isEmpty(search)) {
|
|
||||||
where += " AND (workprocedure_code like '%" + search + "%' OR workprocedure_name like '%" + search + "%' )";
|
|
||||||
}
|
|
||||||
if(!StrUtil.isEmpty(product_area)) {
|
|
||||||
where += " AND product_area = '" + product_area + "'";
|
|
||||||
}
|
|
||||||
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_used = '1' " + where, "workprocedure_code");
|
|
||||||
final JSONObject json = rb.pageResult();
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<WorkProcedureDto> queryAll(Map whereJson) {
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
|
||||||
List<WorkProcedureDto> list = arr.toJavaList(WorkProcedureDto.class);
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public WorkProcedureDto findById(String workProcedure_id) {
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
JSONObject json = wo.query("workProcedure_id =" + workProcedure_id + "").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(json)) return null;
|
|
||||||
final WorkProcedureDto obj = json.toJavaObject(WorkProcedureDto.class);
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public WorkProcedureDto findByCode(String code) {
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
JSONObject json = wo.query("workprocedure_code ='" + code + "'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(json)) return null;
|
|
||||||
final WorkProcedureDto obj = json.toJavaObject(WorkProcedureDto.class);
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void create(WorkProcedureDto dto) {
|
|
||||||
//判断编码是否存在
|
|
||||||
String workprocedure_code = dto.getWorkprocedure_code();
|
|
||||||
WorkProcedureDto byCode = this.findByCode(workprocedure_code);
|
|
||||||
if (ObjectUtil.isNotEmpty(byCode)) throw new BadRequestException("编码已存在!");
|
|
||||||
CurrentUser currentUser = SecurityUtils.getCurrentUser();
|
|
||||||
String currentUserId = currentUser.getId();
|
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
|
||||||
|
|
||||||
dto.setWorkprocedure_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
|
||||||
dto.setCreate_id(currentUserId);
|
|
||||||
dto.setCreate_name(nickName);
|
|
||||||
dto.setUpdate_id(currentUserId);
|
|
||||||
dto.setUpdate_name(nickName);
|
|
||||||
dto.setUpdate_time(DateUtil.now());
|
|
||||||
dto.setCreate_time(DateUtil.now());
|
|
||||||
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
|
||||||
wo.insert(json);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void update(WorkProcedureDto dto) {
|
|
||||||
WorkProcedureDto entity = this.findById(dto.getWorkprocedure_id());
|
|
||||||
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
|
||||||
|
|
||||||
String workprocedure_code = entity.getWorkprocedure_code();
|
|
||||||
WorkProcedureDto byCode = this.findByCode(workprocedure_code);
|
|
||||||
if (ObjectUtil.isNotEmpty(byCode) && !dto.getWorkprocedure_id().equals(byCode.getWorkprocedure_id()))
|
|
||||||
throw new BadRequestException("存在相同的编码!");
|
|
||||||
|
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
|
||||||
|
|
||||||
|
|
||||||
dto.setUpdate_time(DateUtil.now());
|
|
||||||
dto.setUpdate_id(currentUserId);
|
|
||||||
dto.setUpdate_name(nickName);
|
|
||||||
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
|
||||||
wo.update(json);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void deleteAll(Long[] ids) {
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
|
|
||||||
for (Long workProcedure_id : ids) {
|
|
||||||
wo.delete("workProcedure_id = '" + workProcedure_id + "'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public JSONArray downSelect() {
|
|
||||||
//工序表【PDM_BI_WorkProcedure】
|
|
||||||
WQLObject workProcedureTab = WQLObject.getWQLObject("PDM_BI_WorkProcedure");
|
|
||||||
JSONArray resultJSONArray = workProcedureTab.query("is_used ='1'", "workprocedure_code").getResultJSONArray(0);
|
|
||||||
return resultJSONArray;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<WorkProcedureDto> queryWorkprocedure() {
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workprocedure");
|
|
||||||
//只查清洗 跟仓储
|
|
||||||
JSONArray arr = wo.query(" is_used = '1' and workprocedure_code in ('12','08')").getResultJSONArray(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(WorkProcedureDto.class);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -11,15 +11,9 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.nl.common.TableDataInfo;
|
import org.nl.common.TableDataInfo;
|
||||||
import org.nl.common.anno.Log;
|
import org.nl.common.anno.Log;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.modules.wql.core.bean.ResultBean;
|
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
|
||||||
import org.nl.modules.wql.util.WqlUtil;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.WorkProcedureService;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.dto.WorkProcedureDto;
|
|
||||||
import org.nl.wms.product_manage.service.workprocedure.IPdmBiWorkprocedureService;
|
import org.nl.wms.product_manage.service.workprocedure.IPdmBiWorkprocedureService;
|
||||||
import org.nl.wms.product_manage.service.workprocedure.dao.PdmBiWorkprocedure;
|
import org.nl.wms.product_manage.service.workprocedure.dao.PdmBiWorkprocedure;
|
||||||
import org.nl.wms.product_manage.service.workprocedure.dto.WorkprocedureQuery;
|
import org.nl.wms.product_manage.service.workprocedure.dto.WorkprocedureQuery;
|
||||||
import org.springframework.data.domain.Pageable;
|
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String createTask(JSONObject param) {
|
public String createTask(JSONObject param) {
|
||||||
String start_point_code = param.getString("device_code");
|
String end_point_code = param.getString("device_code");
|
||||||
PdmProduceWorkorder order = workorderService.getOne(new QueryWrapper<PdmProduceWorkorder>()
|
PdmProduceWorkorder order = workorderService.getOne(new QueryWrapper<PdmProduceWorkorder>()
|
||||||
.eq("workorder_code", param.getString("workorder_code"))
|
.eq("workorder_code", param.getString("workorder_code"))
|
||||||
.eq("is_delete", false)
|
.eq("is_delete", false)
|
||||||
@@ -111,13 +111,13 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
|||||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
task.put("task_id", taskdtl_id);
|
task.put("task_id", taskdtl_id);
|
||||||
task.put("task_name", AcsTaskEnum.TASK_PLOTTER_MAC.getDesc());
|
task.put("task_name", AcsTaskEnum.TASK_PLOTTER_EMPTY.getDesc());
|
||||||
task.put("task_type", AcsTaskEnum.TASK_PLOTTER_MAC.getCode());
|
task.put("task_type", AcsTaskEnum.TASK_PLOTTER_EMPTY.getCode());
|
||||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||||
task.put("material_id", order.getMaterial_id());
|
task.put("material_id", order.getMaterial_id());
|
||||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||||
task.put("point_code1", start_point_code);
|
task.put("point_code2", end_point_code);
|
||||||
task.put("handle_class", this.getClass().getName());
|
task.put("handle_class", this.getClass().getName());
|
||||||
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
@@ -181,7 +181,7 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
|||||||
.eq("point_code",map.get("point_code")));
|
.eq("point_code",map.get("point_code")));
|
||||||
// 设置点位
|
// 设置点位
|
||||||
taskObj.put("update_time", DateUtil.now());
|
taskObj.put("update_time", DateUtil.now());
|
||||||
taskObj.put("point_code2",map.get("point_code"));
|
taskObj.put("point_code1",map.get("point_code"));
|
||||||
SchBaseTask schBaseTask = taskObj.toJavaObject(SchBaseTask.class);
|
SchBaseTask schBaseTask = taskObj.toJavaObject(SchBaseTask.class);
|
||||||
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
||||||
schBaseTask.setUpdate_time(new Date());
|
schBaseTask.setUpdate_time(new Date());
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
package org.nl.wms.product_manage.sch.tasks.callMaterial;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @author ZZQ
|
|
||||||
* @Date 2023/6/16 08:40
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class EngraveCallMaterialTask extends AbstractAcsTask {
|
|
||||||
@Override
|
|
||||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String createTask(JSONObject param) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cancel(String task_id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void pointConfirm(JSONObject param) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +1,20 @@
|
|||||||
package org.nl.wms.product_manage.sch.tasks.callMaterial;
|
package org.nl.wms.product_manage.sch.tasks.callMaterial;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.common.enums.AcsTaskEnum;
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
|
import org.nl.common.enums.WorkerOrderEnum;
|
||||||
|
import org.nl.common.utils.IdUtil;
|
||||||
|
import org.nl.common.utils.MapOf;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.system.util.CodeUtil;
|
import org.nl.modules.system.util.CodeUtil;
|
||||||
@@ -16,9 +22,21 @@ import org.nl.modules.wql.core.bean.WQLObject;
|
|||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
||||||
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
||||||
|
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
||||||
|
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
|
||||||
|
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||||
|
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||||
|
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: lyd
|
* @Author: lyd
|
||||||
@@ -28,7 +46,12 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class WrapCallMaterialTask extends AbstractAcsTask {
|
public class WrapCallMaterialTask extends AbstractAcsTask {
|
||||||
private static final String OPT_NAME = "包装机#";
|
@Autowired
|
||||||
|
private IPdmProduceWorkorderService workorderService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wms;
|
private WmsToAcsService wms;
|
||||||
@Override
|
@Override
|
||||||
@@ -94,64 +117,54 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String createTask(JSONObject param) {
|
public String createTask(JSONObject param) {
|
||||||
WQLObject workOrderTab = WQLObject.getWQLObject("PDM_produce_workOrder");
|
PdmProduceWorkorder order = workorderService.getOne(new QueryWrapper<PdmProduceWorkorder>()
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
.eq("workorder_code", param.getString("workorder_code"))
|
||||||
String end_point_code = param.getString("device_code");
|
.eq("is_delete", false)
|
||||||
String workorder = param.getString("workorder_code");
|
.lt("workorder_status", WorkerOrderEnum.COMPLETE.getCode()));
|
||||||
if(StrUtil.isEmpty(end_point_code)) {
|
Assert.notNull(order, String.format("下发工单%s不存在未完成工单", param.getString("workorder_code")));
|
||||||
throw new BadRequestException("终点不能为空!");
|
//?刻字满料请求:可以存在多个任务?
|
||||||
}
|
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
|
||||||
if(StrUtil.isEmpty(workorder)) {
|
.eq("point_code2", param.getString("device_code")).lt("task_status", StatusEnum.TASK_FINISH.getCode())
|
||||||
throw new BadRequestException("工单不能为空!");
|
);
|
||||||
}
|
if (!CollectionUtils.isEmpty(list)){
|
||||||
// 判断当前点是否有未完成的任务
|
throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code")));
|
||||||
JSONObject taskObj = taskTab.query("is_delete='0' and point_code2 = '" + end_point_code + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(taskObj)) {
|
|
||||||
throw new BadRequestException("当前点位" + end_point_code + "存在未完成的任务");
|
|
||||||
}
|
|
||||||
// 判断工单
|
|
||||||
JSONObject workOrderObj = workOrderTab.query("workorder_code = '" + workorder + "' and workorder_status <> '" + StatusEnum.TASK_FINISH.getCode() + "' and is_delete ='0'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(workOrderObj)){
|
|
||||||
throw new BadRequestException("下发工单不存在未完成工单:"+workorder);
|
|
||||||
}
|
}
|
||||||
// 查找任务状态
|
// 查找任务状态
|
||||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextIdStr();
|
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
task.put("task_id", taskdtl_id);
|
task.put("task_id", IdUtil.getStringId());
|
||||||
task.put("task_name", AcsTaskEnum.TASK_WARP_MAC.getDesc());
|
task.put("task_name", AcsTaskEnum.TASK_WARP_MAC.getDesc());
|
||||||
task.put("task_type", AcsTaskEnum.TASK_WARP_MAC.getCode());
|
task.put("task_type", AcsTaskEnum.TASK_WARP_MAC.getCode());
|
||||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||||
task.put("point_code2", end_point_code);
|
task.put("point_code2", param.getString("device_code"));
|
||||||
task.put("handle_class", this.getClass().getName());
|
task.put("handle_class", this.getClass().getName());
|
||||||
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
task.put("create_id", currentUserId);
|
task.put("create_id", currentUserId);
|
||||||
task.put("create_name", SecurityUtils.getCurrentNickName());
|
task.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
task.put("update_id", currentUserId);
|
|
||||||
task.put("update_name", SecurityUtils.getCurrentNickName());
|
|
||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("update_time", DateUtil.now());
|
|
||||||
task.put("priority", "1");
|
task.put("priority", "1");
|
||||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(task);
|
task.put("table_fk_id",order.getWorkorder_code());
|
||||||
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
|
taskService.save(schBaseTask);
|
||||||
// 找终点
|
// 找终点
|
||||||
try {
|
try {
|
||||||
pointConfirm(task);
|
pointConfirm(task);
|
||||||
JSONArray data = new JSONArray();
|
JSONArray data = new JSONArray();
|
||||||
JSONObject result = taskTab.query("task_id = '" + taskdtl_id + "'").uniqueResult(0);
|
data.add(task);
|
||||||
data.add(result);
|
|
||||||
// 下发
|
// 下发
|
||||||
wms.issueTaskToAcs2(data);
|
wms.issueTaskToAcs2(data);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
// 未找到
|
log.error("刻字请求异常,error:{}",ex);
|
||||||
task.put("remark", ex.getMessage());
|
schBaseTask.setRemark(ex.getMessage());
|
||||||
task.put("task_status", StatusEnum.TASK_START_ERROR.getCode());
|
schBaseTask.setUpdate_time(new Date());
|
||||||
task.put("update_time", DateUtil.now());
|
schBaseTask.setUpdate_name("acs");
|
||||||
taskTab.update(task);
|
schBaseTask.setTask_status(StatusEnum.TASK_START_ERROR.getCode());
|
||||||
|
taskService.save(schBaseTask);
|
||||||
}
|
}
|
||||||
return taskdtl_id;
|
return task.getString("task_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -161,26 +174,29 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void pointConfirm(JSONObject taskObj) {
|
public void pointConfirm(JSONObject taskObj) {
|
||||||
log.info(OPT_NAME+"callMaterial param:{}",JSONObject.toJSONString(taskObj));
|
// 去刻字缓存区寻找空位
|
||||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
List<Map<String, String>> points = pointService.queryVehicle(
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
MapOf.of("is_used", "1",
|
||||||
// 去刻字缓存区找物料
|
"lock_type", StatusEnum.LOCK_OFF.getCode(),
|
||||||
JSONObject point = pointTab.query("region_code = 'A1_KZHC' AND point_status = '" +
|
"region_code", "A1_KZHC",
|
||||||
StatusEnum.POINT_STATUS_FULL.getCode() + "' AND lock_type = '" + StatusEnum.LOCK_OFF.getCode() +
|
"material_id", taskObj.getString("material_id")));
|
||||||
"' AND is_used = '" + StatusEnum.STATUS_TRUE.getCode() + "' AND is_delete = '" +
|
if (ObjectUtil.isNotEmpty(points)) {
|
||||||
StatusEnum.STATUS_FLASE.getCode() + "'").uniqueResult(0);
|
Map<String, String> map = points.get(0);
|
||||||
if (ObjectUtil.isNotEmpty(point)) {
|
if (CollectionUtils.isEmpty(map)|| StringUtils.isEmpty(map.get("point_code"))){
|
||||||
// 找到位置
|
throw new BadRequestException("刻字缓存区没有可用货位.");
|
||||||
// 点位上锁
|
}
|
||||||
point.put("lock_type", StatusEnum.LOCK_ON.getCode());
|
pointService.update(new UpdateWrapper<SchBasePoint>()
|
||||||
pointTab.update(point);
|
.set("lock_type",StatusEnum.LOCK_ON.getCode())
|
||||||
// 任务修改
|
.eq("point_code",map.get("point_code")));
|
||||||
taskObj.put("point_code1", point.getString("point_code"));
|
// 设置点位
|
||||||
taskObj.put("task_status", StatusEnum.TASK_START_END_P.getCode());
|
|
||||||
taskObj.put("update_time", DateUtil.now());
|
taskObj.put("update_time", DateUtil.now());
|
||||||
taskTab.update(taskObj);
|
taskObj.put("point_code1",map.get("point_code"));
|
||||||
|
SchBaseTask schBaseTask = taskObj.toJavaObject(SchBaseTask.class);
|
||||||
|
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
||||||
|
schBaseTask.setUpdate_time(new Date());
|
||||||
|
taskService.updateById(schBaseTask);
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("刻字缓存区没有可用空框.");
|
throw new BadRequestException("刻字缓存区没有可用货位.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.enums.AcsTaskEnum;
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
@@ -15,10 +16,18 @@ import org.nl.modules.system.util.CodeUtil;
|
|||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
||||||
|
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
||||||
|
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||||
|
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||||
|
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: lyd
|
* @Author: lyd
|
||||||
* @Description: 包装机送空框
|
* @Description: 包装机送空框
|
||||||
@@ -27,7 +36,12 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class WrapSendEmptyTask extends AbstractAcsTask {
|
public class WrapSendEmptyTask extends AbstractAcsTask {
|
||||||
private static final String OPT_NAME = "包装机#";
|
@Autowired
|
||||||
|
private IPdmProduceWorkorderService workorderService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wms;
|
private WmsToAcsService wms;
|
||||||
@Override
|
@Override
|
||||||
@@ -148,27 +162,28 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void pointConfirm(JSONObject taskObj) {
|
public void pointConfirm(JSONObject task) {
|
||||||
log.info(OPT_NAME+"sendEmptyVehicle param:{}",JSONObject.toJSONString(taskObj));
|
// 去刻字缓存区寻找空位
|
||||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
List<SchBasePoint> list = pointService.list(new QueryWrapper<SchBasePoint>().isNull("vehicle_code")
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
.eq("is_used", "1")
|
||||||
// 去刻字缓存区找空位
|
.eq("region_code","A1_KZHC")
|
||||||
JSONObject point = pointTab.query("region_code = 'A1_KZHC' AND point_status = '" +
|
.eq("lock_type", StatusEnum.LOCK_OFF.getCode()));
|
||||||
StatusEnum.POINT_STATUS_EMPTY.getCode() + "' AND lock_type = '" + StatusEnum.LOCK_OFF.getCode() +
|
|
||||||
"' AND is_used = '" + StatusEnum.STATUS_TRUE.getCode() + "' AND is_delete = '" +
|
if (ObjectUtil.isNotEmpty(list)) {
|
||||||
StatusEnum.STATUS_FLASE.getCode() + "'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(point)) {
|
|
||||||
// 找到位置
|
// 找到位置
|
||||||
// 点位上锁
|
// 点位上锁
|
||||||
point.put("lock_type", StatusEnum.LOCK_ON.getCode());
|
SchBasePoint point = list.get(0);
|
||||||
pointTab.update(point);
|
point.setLock_type(StatusEnum.LOCK_ON.getCode());
|
||||||
|
pointService.updateById(point);
|
||||||
// 设置点位
|
// 设置点位
|
||||||
taskObj.put("point_code2", point.getString("point_code"));
|
task.put("update_time", DateUtil.now());
|
||||||
taskObj.put("task_status", StatusEnum.TASK_START_END_P.getCode());
|
task.put("point_code2",point.getPoint_code());
|
||||||
taskObj.put("update_time", DateUtil.now());
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
taskTab.update(taskObj);
|
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
||||||
|
schBaseTask.setUpdate_time(new Date());
|
||||||
|
taskService.updateById(schBaseTask);
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("刻字缓存区没有可用货位.");
|
throw new BadRequestException("刻字缓存区没有可用货位.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,51 +1,59 @@
|
|||||||
package org.nl.wms.product_manage.sch.tasks.callMaterial;
|
package org.nl.wms.product_manage.sch.tasks.sendMaterial;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.nl.common.enums.AcsTaskEnum;
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
import org.nl.common.enums.WorkerOrderEnum;
|
import org.nl.common.enums.WorkerOrderEnum;
|
||||||
import org.nl.common.utils.MapOf;
|
import org.nl.common.utils.IdUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.system.util.CodeUtil;
|
import org.nl.modules.system.util.CodeUtil;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
|
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService;
|
||||||
|
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||||
|
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr;
|
||||||
|
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||||
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
import org.nl.wms.product_manage.sch.manage.AbstractAcsTask;
|
||||||
|
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
||||||
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
|
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
|
||||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.storage_manage.IOSEnum;
|
||||||
|
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
||||||
|
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.TransactionDefinition;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @Author: lyd
|
* @author ZZQ
|
||||||
* @Description: 刻字机送料
|
* @Date 2023/6/16 08:40
|
||||||
* @Date: 2023/4/3
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
@Service
|
@Service
|
||||||
public class PlotterCallMaterialTask extends AbstractAcsTask {
|
@Slf4j
|
||||||
|
public class WashSendMaterialTask extends AbstractAcsTask {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DivRuleCpService divRuleCpService;
|
||||||
|
@Autowired
|
||||||
|
private IStIvtSectattrService sectattrService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPdmProduceWorkorderService workorderService;
|
private IPdmProduceWorkorderService workorderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -55,14 +63,15 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wms;
|
private WmsToAcsService wms;
|
||||||
@Override
|
@Override
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateTaskStatus(JSONObject param, String status) {
|
public void updateTaskStatus(JSONObject param, String status) {
|
||||||
SchBaseTask task = taskService.getById(param.getString("task_id"));
|
SchBaseTask task = taskService.getById(param.getString("task_id"));
|
||||||
if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
||||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
.set("task_status",StatusEnum.TASK_RUNNING.getCode())
|
.set("task_status", StatusEnum.TASK_RUNNING.getCode())
|
||||||
.set("update_name","acs")
|
.set("update_name","acs")
|
||||||
.set("update_time",DateUtil.now()).eq("task_id",task.getTask_id()));
|
.set("update_time", DateUtil.now()).eq("task_id",task.getTask_id()));
|
||||||
}
|
}
|
||||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||||
// 完成
|
// 完成
|
||||||
@@ -75,6 +84,7 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
.in("point_code",task.getPoint_code1(),task.getPoint_code2(),task.getPoint_code3()));
|
.in("point_code",task.getPoint_code1(),task.getPoint_code2(),task.getPoint_code3()));
|
||||||
}
|
}
|
||||||
if (status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) {
|
if (status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) {
|
||||||
|
// 完成
|
||||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
.set("task_status",StatusEnum.TASK_CANNEL.getCode())
|
.set("task_status",StatusEnum.TASK_CANNEL.getCode())
|
||||||
.set("update_name","acs")
|
.set("update_name","acs")
|
||||||
@@ -96,32 +106,34 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
Assert.notNull(order, String.format("下发工单%s不存在未完成工单", param.getString("workorder_code")));
|
Assert.notNull(order, String.format("下发工单%s不存在未完成工单", param.getString("workorder_code")));
|
||||||
//?刻字满料请求:可以存在多个任务?
|
//?刻字满料请求:可以存在多个任务?
|
||||||
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
|
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
|
||||||
.eq("point_code1", param.getString("device_code")).lt("task_status", StatusEnum.TASK_FINISH.getCode())
|
.lt("task_status", StatusEnum.TASK_FINISH.getCode())
|
||||||
|
.and(wa->wa
|
||||||
|
.eq("point_code1", param.getString("device_code"))
|
||||||
|
.or()
|
||||||
|
.eq("point_code2", param.getString("device_code")))
|
||||||
);
|
);
|
||||||
if (!CollectionUtils.isEmpty(list)){
|
if (!CollectionUtils.isEmpty(list)){
|
||||||
throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code")));
|
throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code")));
|
||||||
}
|
}
|
||||||
// 查找任务状态
|
// 查找任务状态
|
||||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
String taskdtl_id = IdUtil.getStringId();
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
task.put("task_id", taskdtl_id);
|
task.put("task_id", taskdtl_id);
|
||||||
task.put("task_name", AcsTaskEnum.TASK_PLOTTER_MAC.getDesc());
|
task.put("task_name", AcsTaskEnum.REQUEST_WASH_FULL.getDesc());
|
||||||
task.put("task_type", AcsTaskEnum.TASK_PLOTTER_MAC.getCode());
|
task.put("task_type", AcsTaskEnum.REQUEST_WASH_FULL.getCode());
|
||||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||||
task.put("material_id", order.getMaterial_id());
|
task.put("material_id", order.getMaterial_id());
|
||||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
task.put("task_status", TaskStatusEnum.CREATED.getCode());
|
||||||
task.put("point_code1", start_point_code);
|
task.put("point_code1", start_point_code);
|
||||||
task.put("handle_class", this.getClass().getName());
|
task.put("handle_class", this.getClass().getName());
|
||||||
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
task.put("is_delete", StatusEnum.STATUS_FLASE.getCode());
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
task.put("create_id", currentUserId);
|
task.put("create_id", currentUserId);
|
||||||
task.put("create_name", SecurityUtils.getCurrentNickName());
|
task.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
task.put("update_id", currentUserId);
|
|
||||||
task.put("update_name", SecurityUtils.getCurrentNickName());
|
|
||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("update_time", DateUtil.now());
|
|
||||||
task.put("priority", "1");
|
task.put("priority", "1");
|
||||||
|
task.put("finished_type", "1");
|
||||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||||
task.put("table_fk_id",order.getWorkorder_code());
|
task.put("table_fk_id",order.getWorkorder_code());
|
||||||
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
@@ -134,7 +146,8 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
// 下发
|
// 下发
|
||||||
wms.issueTaskToAcs2(data);
|
wms.issueTaskToAcs2(data);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
log.error("刻字请求异常,error:{}",ex);
|
// 未找到
|
||||||
|
log.error("刻字满料请求异常,error:{}",ex);
|
||||||
schBaseTask.setRemark(ex.getMessage());
|
schBaseTask.setRemark(ex.getMessage());
|
||||||
schBaseTask.setUpdate_time(new Date());
|
schBaseTask.setUpdate_time(new Date());
|
||||||
schBaseTask.setUpdate_name("acs");
|
schBaseTask.setUpdate_name("acs");
|
||||||
@@ -155,34 +168,32 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
/**
|
/**
|
||||||
* 满料请求
|
* 满料请求
|
||||||
* 从刻字机满料缓存区中获取空位放入就行
|
* 从刻字机满料缓存区中获取空位放入就行
|
||||||
* @param taskObj: 任务对象
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void pointConfirm(JSONObject taskObj) {
|
@Transactional(timeout=TransactionDefinition.ISOLATION_READ_UNCOMMITTED)
|
||||||
|
public void pointConfirm(JSONObject task) {
|
||||||
// 去刻字缓存区寻找空位
|
// 去刻字缓存区寻找空位
|
||||||
List<Map<String, String>> points = pointService.queryVehicle(
|
//分配货位。下发任务,更新主单据状态。更新明细任务
|
||||||
MapOf.of("is_used", "1",
|
StIvtSectattr sect = sectattrService.getOne(new QueryWrapper<StIvtSectattr>().eq("sect_name", "半成品库区"));
|
||||||
"lock_type", StatusEnum.LOCK_OFF.getCode(),
|
JSONObject jo = new JSONObject();
|
||||||
"region_code", "A1_KZHC",
|
jo.put("sect_id", sect.getSect_id());
|
||||||
"material_id", taskObj.getString("material_id")));
|
jo.put("stor_id", sect.getStor_id());
|
||||||
if (ObjectUtil.isNotEmpty(points)) {
|
jo.put("rule_type", RuleUtil.PRODUCTION_IN_1);
|
||||||
Map<String, String> map = points.get(0);
|
StIvtStructattr stIvtStructattr = divRuleCpService.divRuleIn(jo);
|
||||||
if (CollectionUtils.isEmpty(map)|| StringUtils.isEmpty(map.get("point_code"))){
|
//少出入库记录
|
||||||
throw new BadRequestException("刻字缓存区没有可用货位.");
|
if (ObjectUtil.isEmpty(stIvtStructattr)) {
|
||||||
}
|
throw new BadRequestException("无可分配货位");
|
||||||
pointService.update(new UpdateWrapper<SchBasePoint>()
|
|
||||||
.set("lock_type",StatusEnum.LOCK_ON.getCode())
|
|
||||||
.eq("point_code",map.get("point_code")));
|
|
||||||
// 设置点位
|
|
||||||
taskObj.put("update_time", DateUtil.now());
|
|
||||||
taskObj.put("point_code2",map.get("point_code"));
|
|
||||||
SchBaseTask schBaseTask = taskObj.toJavaObject(SchBaseTask.class);
|
|
||||||
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
|
||||||
schBaseTask.setUpdate_time(new Date());
|
|
||||||
taskService.updateById(schBaseTask);
|
|
||||||
} else {
|
|
||||||
throw new BadRequestException("刻字缓存区没有可用货位.");
|
|
||||||
}
|
}
|
||||||
|
stIvtStructattr.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁"));
|
||||||
|
stIvtStructattr.setInv_code(task.getString("task_code"));
|
||||||
|
// 设置点位
|
||||||
|
task.put("update_time", DateUtil.now());
|
||||||
|
task.put("point_code2",stIvtStructattr.getStruct_code());
|
||||||
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
|
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
||||||
|
schBaseTask.setUpdate_time(new Date());
|
||||||
|
schBaseTask.setTask_type(AcsTaskEnum.TASK_STRUCT_IN.getCode());
|
||||||
|
taskService.updateById(schBaseTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -190,7 +201,7 @@ public class PlotterCallMaterialTask extends AbstractAcsTask {
|
|||||||
ArrayList<SchBaseTask> Merge = new ArrayList<>();
|
ArrayList<SchBaseTask> Merge = new ArrayList<>();
|
||||||
if (!CollectionUtils.isEmpty(tasks)){
|
if (!CollectionUtils.isEmpty(tasks)){
|
||||||
for (SchBaseTask task : tasks) {
|
for (SchBaseTask task : tasks) {
|
||||||
task.setTask_group_id(org.nl.common.utils.IdUtil.getStringId());
|
task.setTask_group_id(IdUtil.getStringId());
|
||||||
Merge.add(task);
|
Merge.add(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -224,6 +224,6 @@ public class PdmProduceWorkorder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 是否删除
|
* 是否删除
|
||||||
*/
|
*/
|
||||||
private Boolean is_used_fxx = false;
|
private String package_ext;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ public class PdmProduceWorkorderrecord implements Serializable {
|
|||||||
private BigDecimal person_finish_qty;
|
private BigDecimal person_finish_qty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开工时间
|
* 开始时间
|
||||||
*/
|
*/
|
||||||
private String operatetime_start;
|
private String operatetime_start;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 完工时间
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
private String operatetime_end;
|
private String operatetime_end;
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,10 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create(JSONObject form) {
|
public void create(JSONObject form) {
|
||||||
|
JSONObject ext = form.getJSONObject("package_ext");
|
||||||
|
form.put("package_ext",null);
|
||||||
PdmProduceWorkorder entity = form.toJavaObject(PdmProduceWorkorder.class);
|
PdmProduceWorkorder entity = form.toJavaObject(PdmProduceWorkorder.class);
|
||||||
|
entity.setPackage_ext(ext.toJSONString());
|
||||||
entity.setWorkorder_id(IdUtil.getStringId());
|
entity.setWorkorder_id(IdUtil.getStringId());
|
||||||
entity.setWorkorder_code(CodeUtil.getNewCode("PDM_SHIFTORDER"));
|
entity.setWorkorder_code(CodeUtil.getNewCode("PDM_SHIFTORDER"));
|
||||||
entity.setCurrent_produce_person_id(SecurityUtils.getCurrentUserId());
|
entity.setCurrent_produce_person_id(SecurityUtils.getCurrentUserId());
|
||||||
@@ -636,7 +639,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
|||||||
form.put("material_spec", material.getMaterial_spec());
|
form.put("material_spec", material.getMaterial_spec());
|
||||||
form.put("device_code", workOrder.getDevice_code());
|
form.put("device_code", workOrder.getDevice_code());
|
||||||
form.put("is_needmove", workOrder.getIs_needmove() ? 1 : 0);
|
form.put("is_needmove", workOrder.getIs_needmove() ? 1 : 0);
|
||||||
form.put("is_used_fxx", workOrder.getIs_used_fxx() ? 1 : 0);
|
form.put("package_ext", workOrder.getPackage_ext());
|
||||||
if (param.containsKey("extra_map")) {
|
if (param.containsKey("extra_map")) {
|
||||||
form.put("extra_map", param.getJSONObject("extra_map"));
|
form.put("extra_map", param.getJSONObject("extra_map"));
|
||||||
}
|
}
|
||||||
@@ -649,28 +652,32 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
|||||||
Assert.notNull(new Object[]{param, param.get("report_qty"), param.getString("workorder_id")}, "请求参数不能为空");
|
Assert.notNull(new Object[]{param, param.get("report_qty"), param.getString("workorder_id")}, "请求参数不能为空");
|
||||||
|
|
||||||
PdmProduceWorkorder workorder = this.getOne(new QueryWrapper<PdmProduceWorkorder>().eq("workorder_id", param.getString("workorder_id")));
|
PdmProduceWorkorder workorder = this.getOne(new QueryWrapper<PdmProduceWorkorder>().eq("workorder_id", param.getString("workorder_id")));
|
||||||
// if (workorder.getWorkorder_status().equals(WorkerOrderEnum.COMPLETE.getCode()) || workorder.getWorkorder_status().equals(WorkerOrderEnum.FORCE_COMPLETE.getCode())) {
|
Assert.notNull(workorder, "当前工单不存在");
|
||||||
|
// if (workorder.getWorkorder_status().equals(WorkerOrderEnum.AUTO_COMPLETE.getCode()) || workorder.getWorkorder_status().equals(WorkerOrderEnum.COMPLETE.getCode()) || workorder.getWorkorder_status().equals(WorkerOrderEnum.FORCE_COMPLETE.getCode())) {
|
||||||
// throw new BadRequestException(param.getString("workorder_id") + "当前工单已经完工不允许报工");
|
// throw new BadRequestException(param.getString("workorder_id") + "当前工单已经完工不允许报工");
|
||||||
// }
|
// }
|
||||||
Assert.notNull(workorder, "当前工单不存在");
|
|
||||||
PdmProduceWorkorderrecord one = reportRecordService.getOne(new QueryWrapper<PdmProduceWorkorderrecord>()
|
PdmProduceWorkorderrecord one = reportRecordService.getOne(new QueryWrapper<PdmProduceWorkorderrecord>()
|
||||||
.eq("workorder_id", param.getString("workorder_id")).eq("report_status", ReportEnum.REPORT_STATUS.code("生成")));
|
.eq("workorder_id", param.getString("workorder_id")).eq("report_status", ReportEnum.REPORT_STATUS.code("生成")));
|
||||||
Assert.notNull(one, param.getString("workorder_id") + "当前工单没有生成状态的报工记录");
|
Assert.notNull(one, param.getString("workorder_id") + "当前工单没有生成状态的报工记录");
|
||||||
workorder.setReport_qty(workorder.getReport_qty().add(param.getBigDecimal("report_qty")));
|
workorder.setReport_qty(workorder.getReport_qty().add(param.getBigDecimal("report_qty")));
|
||||||
if (workorder.getPlan_qty().doubleValue() <= workorder.getReport_qty().doubleValue()) {
|
if (workorder.getPlan_qty().doubleValue() <= workorder.getReport_qty().doubleValue()) {
|
||||||
workorder.setWorkorder_status(WorkerOrderEnum.COMPLETE.getCode());
|
workorder.setWorkorder_status(WorkerOrderEnum.COMPLETE.getCode());
|
||||||
JSONArray array = new JSONArray();
|
}else {
|
||||||
JSONObject map = new JSONObject();
|
workorder.setWorkorder_status(WorkerOrderEnum.STOP.getCode());
|
||||||
map.put("workorder_id", workorder.getWorkorder_id());
|
|
||||||
map.put("type", WorkerOrderEnum.COMPLETE.getCode());
|
|
||||||
array.add(map);
|
|
||||||
wmsToAcsService.orderStatusUpdate(array);
|
|
||||||
}
|
}
|
||||||
|
JSONArray array = new JSONArray();
|
||||||
|
JSONObject map = new JSONObject();
|
||||||
|
map.put("workorder_id", workorder.getWorkorder_id());
|
||||||
|
map.put("type", WorkerOrderEnum.COMPLETE.getCode());
|
||||||
|
array.add(map);
|
||||||
|
wmsToAcsService.orderStatusUpdate(array);
|
||||||
|
|
||||||
workorder.setReal_qty(null);
|
workorder.setReal_qty(null);
|
||||||
this.updateById(workorder);
|
this.updateById(workorder);
|
||||||
reportRecordService.update(new UpdateWrapper<PdmProduceWorkorderrecord>()
|
reportRecordService.update(new UpdateWrapper<PdmProduceWorkorderrecord>()
|
||||||
.set("report_qty", param.getBigDecimal("report_qty"))
|
.set("report_qty", param.getBigDecimal("report_qty"))
|
||||||
.set("report_status", ReportEnum.REPORT_STATUS.code("报工"))
|
.set("report_status", ReportEnum.REPORT_STATUS.code("报工"))
|
||||||
|
.set("operatetime_end",DateUtil.now())
|
||||||
.set("needproduct_qty", Math.max(0, workorder.getPlan_qty().intValue() - workorder.getReport_qty().intValue()))
|
.set("needproduct_qty", Math.max(0, workorder.getPlan_qty().intValue() - workorder.getReport_qty().intValue()))
|
||||||
.eq("macoperate_id", one.getMacoperate_id()));
|
.eq("macoperate_id", one.getMacoperate_id()));
|
||||||
return one.getMacoperate_id();
|
return one.getMacoperate_id();
|
||||||
|
|||||||
@@ -11,12 +11,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
|
||||||
import org.nl.wms.masterdata_manage.备份pdm.service.dto.WorkProcedureDto;
|
|
||||||
import org.nl.wms.product_manage.service.workprocedure.IPdmBiWorkprocedureService;
|
import org.nl.wms.product_manage.service.workprocedure.IPdmBiWorkprocedureService;
|
||||||
import org.nl.wms.product_manage.service.workprocedure.dao.PdmBiWorkprocedure;
|
import org.nl.wms.product_manage.service.workprocedure.dao.PdmBiWorkprocedure;
|
||||||
import org.nl.wms.product_manage.service.workprocedure.dao.mapper.PdmBiWorkprocedureMapper;
|
import org.nl.wms.product_manage.service.workprocedure.dao.mapper.PdmBiWorkprocedureMapper;
|
||||||
import org.nl.wms.system_manage.service.user.dto.CurrentUser;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -5,18 +5,16 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.nl.common.enums.WorkerOrderEnum;
|
import org.nl.common.enums.WorkerOrderEnum;
|
||||||
import org.nl.common.utils.BaseCode;
|
import org.nl.common.utils.BaseCode;
|
||||||
import org.nl.common.utils.IdUtil;
|
import org.nl.common.utils.IdUtil;
|
||||||
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
||||||
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
||||||
import org.nl.wms.product_manage.sch.tasks.callMaterial.EngraveCallMaterialTask;
|
import org.nl.wms.product_manage.sch.tasks.sendMaterial.WashSendMaterialTask;
|
||||||
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
||||||
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
|
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
|
||||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
|
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService;
|
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -24,13 +22,16 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @author ZZQ
|
* @author ZZQ "'
|
||||||
|
* //一体机加一个从入库点到刻字机的搬运任务;
|
||||||
|
* //一体机加一个刻字机到空框回库
|
||||||
|
* //一体机加一个手动打开气缸按钮
|
||||||
|
* //一体机加预料上完:上到刻字机14号设备(虚拟设备)
|
||||||
* @Date 2023/6/16 09:21
|
* @Date 2023/6/16 09:21
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@@ -45,7 +46,7 @@ public class EngraveScheduleService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IStIvtIostorinvBcpOutService stIvtIostorinvBcpOutService;
|
private IStIvtIostorinvBcpOutService stIvtIostorinvBcpOutService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private EngraveCallMaterialTask engraveCallMaterialTask;
|
private WashSendMaterialTask engraveCallMaterialTask;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMdMeMaterialbaseService materialbaseService;
|
private IMdMeMaterialbaseService materialbaseService;
|
||||||
|
|
||||||
@@ -61,6 +62,7 @@ public class EngraveScheduleService {
|
|||||||
public void EngravePublish(){
|
public void EngravePublish(){
|
||||||
/**
|
/**
|
||||||
* 1.查询当前正在执行的刻字工单数组
|
* 1.查询当前正在执行的刻字工单数组
|
||||||
|
* 3.
|
||||||
* 2.获取相同物料的工单:查询半成品库存物料:有的话则进行半成品出库:出到对接位
|
* 2.获取相同物料的工单:查询半成品库存物料:有的话则进行半成品出库:出到对接位
|
||||||
* 3.半成品出库完成后:触发刻字机叫料任务:
|
* 3.半成品出库完成后:触发刻字机叫料任务:
|
||||||
* 4。根据物料获取工单对应设备:生成刻字机叫料任务
|
* 4。根据物料获取工单对应设备:生成刻字机叫料任务
|
||||||
|
|||||||
@@ -453,7 +453,6 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
// 查出对应仓位
|
// 查出对应仓位
|
||||||
attrDao = iStIvtStructattrService.getById(struct_id);
|
attrDao = iStIvtStructattrService.getById(struct_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("未找到仓位!");
|
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("未找到仓位!");
|
||||||
|
|
||||||
// 2.更新分配明细、分配、明细、主表
|
// 2.更新分配明细、分配、明细、主表
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '海量mes系统',
|
title: '海亮mes系统',
|
||||||
logo: Logo,
|
logo: Logo,
|
||||||
title_param: 'platform'
|
title_param: 'platform'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="login" :style="'background-image:url('+ Background +');'">
|
<div class="login" :style="'background-image:url('+ Background +');'">
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
||||||
<h3 class="title">
|
<h3 class="title">
|
||||||
海量mes系统
|
海亮mes系统
|
||||||
</h3>
|
</h3>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||||
|
|||||||
@@ -157,8 +157,8 @@
|
|||||||
<el-table-column prop="nok_qty" label="报废数量" />
|
<el-table-column prop="nok_qty" label="报废数量" />
|
||||||
<el-table-column prop="repare_qty" label="报修数量" />
|
<el-table-column prop="repare_qty" label="报修数量" />
|
||||||
<el-table-column prop="person_finish_qty" label="人员期末数量" :min-width="flexWidth('person_finish_qty',tableData,'人员期末数量')"/>
|
<el-table-column prop="person_finish_qty" label="人员期末数量" :min-width="flexWidth('person_finish_qty',tableData,'人员期末数量')"/>
|
||||||
<el-table-column prop="operatetime_start" label="开工时间" :min-width="flexWidth('operatetime_start',tableData,'开工时间')"/>
|
<el-table-column prop="operatetime_start" label="开始时间" :min-width="flexWidth('operatetime_start',tableData,'开工时间')"/>
|
||||||
<el-table-column prop="operatetime_end" label="完工时间" />
|
<el-table-column prop="operatetime_end" label="结束时间" />
|
||||||
<el-table-column prop="report_status" label="报工状态" >
|
<el-table-column prop="report_status" label="报工状态" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ reportStatus[scope.row.report_status-1].label }}
|
{{ reportStatus[scope.row.report_status-1].label }}
|
||||||
|
|||||||
@@ -368,11 +368,47 @@
|
|||||||
<el-radio
|
<el-radio
|
||||||
v-for="item in dict.IS_OR_NOT"
|
v-for="item in dict.IS_OR_NOT"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
v-model="form.is_used_fxx"
|
v-model="form.package_ext.is_used_fxx"
|
||||||
:label="item.value"
|
:label="item.value"
|
||||||
>{{ item.label }}
|
>{{ item.label }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item v-show="form.workprocedure_id == '1535144822984282112'" label="包装模版" prop="package_model">
|
||||||
|
<el-input-number
|
||||||
|
v-model="form.package_ext.package_model"
|
||||||
|
style="width: 200px;"
|
||||||
|
clearable
|
||||||
|
@focus="materialShow=true"
|
||||||
|
@clear="form.material_id='',form.material_code='',form.material_name='',form.material_spec=''"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item v-show="form.workprocedure_id == '1535144822984282112'" label="拆箱数量" prop="demol_num">
|
||||||
|
<el-input-number
|
||||||
|
v-model="form.package_ext.demol_num"
|
||||||
|
style="width: 200px;"
|
||||||
|
clearable
|
||||||
|
@focus="materialShow=true"
|
||||||
|
@clear="form.material_id='',form.material_code='',form.material_name='',form.material_spec=''"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item v-show="form.workprocedure_id == '1535144822984282112'" label="总袋量" prop="demol_num">
|
||||||
|
<el-input-number
|
||||||
|
v-model="form.package_ext.demol_num"
|
||||||
|
style="width: 200px;"
|
||||||
|
clearable
|
||||||
|
@focus="materialShow=true"
|
||||||
|
@clear="form.material_id='',form.material_code='',form.material_name='',form.material_spec=''"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item v-show="form.workprocedure_id == '1535144822984282112'" label="码盘模版" prop="stack_model">
|
||||||
|
<el-input-number
|
||||||
|
v-model="form.package_ext.stack_model"
|
||||||
|
style="width: 200px;"
|
||||||
|
clearable
|
||||||
|
@focus="materialShow=true"
|
||||||
|
@clear="form.material_id='',form.material_code='',form.material_name='',form.material_spec=''"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
@@ -512,7 +548,7 @@ const defaultForm = {
|
|||||||
device_code: null,
|
device_code: null,
|
||||||
current_produce_person_id: null,
|
current_produce_person_id: null,
|
||||||
is_canupdate_update: null,
|
is_canupdate_update: null,
|
||||||
is_used_fxx: false,
|
package_ext: {},
|
||||||
workorder_status: null,
|
workorder_status: null,
|
||||||
is_needmove: null,
|
is_needmove: null,
|
||||||
sale_id: null,
|
sale_id: null,
|
||||||
|
|||||||
@@ -94,8 +94,8 @@
|
|||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </el-table-column>-->
|
<!-- </el-table-column>-->
|
||||||
<!-- <el-table-column prop="person_finish_qty" label="人员期末数量" />-->
|
<!-- <el-table-column prop="person_finish_qty" label="人员期末数量" />-->
|
||||||
<el-table-column prop="operatetime_start" label="开工时间" :min-width="flexWidth('operatetime_start',crud.data,'开工时间')"/>
|
<el-table-column prop="operatetime_start" label="开始时间" :min-width="flexWidth('operatetime_start',crud.data,'开始时间')"/>
|
||||||
<el-table-column prop="operatetime_end" label="完工时间" :min-width="flexWidth('operatetime_end',crud.data,'完工时间')"/>
|
<el-table-column prop="operatetime_end" label="完成时间" :min-width="flexWidth('operatetime_end',crud.data,'完成时间')"/>
|
||||||
<el-table-column prop="report_status" label="报工状态" >
|
<el-table-column prop="report_status" label="报工状态" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ reportStatus[scope.row.report_status-1].label }}
|
{{ reportStatus[scope.row.report_status-1].label }}
|
||||||
|
|||||||
@@ -87,8 +87,8 @@
|
|||||||
<el-input v-model="scope.row.repare_qty" /></template>
|
<el-input v-model="scope.row.repare_qty" /></template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="person_finish_qty" label="人员期末数量" />
|
<el-table-column prop="person_finish_qty" label="人员期末数量" />
|
||||||
<el-table-column prop="operatetime_start" label="开工时间" />
|
<el-table-column prop="operatetime_start" label="开始时间" />
|
||||||
<el-table-column prop="operatetime_end" label="完工时间" />
|
<el-table-column prop="operatetime_end" label="结束时间" />
|
||||||
<el-table-column prop="report_status" label="报工状态">
|
<el-table-column prop="report_status" label="报工状态">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ reportStatus[scope.row.report_status-1].label }}
|
{{ reportStatus[scope.row.report_status-1].label }}
|
||||||
|
|||||||
Reference in New Issue
Block a user