rev:修改
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
<select id="queryConsumeReport" resultType="org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto">
|
<select id="queryConsumeReport" resultType="org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto">
|
||||||
SELECT
|
SELECT
|
||||||
@rownum := @rownum + 1 AS rowNum,
|
@rownum := @rownum + 1 AS rowNum,
|
||||||
bom.create_id AS groupCode,
|
u.username AS groupCode,
|
||||||
bom.create_name AS groupName,
|
bom.create_name AS groupName,
|
||||||
mater.material_code AS materialCode,
|
mater.material_code AS materialCode,
|
||||||
mater.material_name AS materialName,
|
mater.material_name AS materialName,
|
||||||
@@ -18,12 +18,14 @@
|
|||||||
bom.qty_unit_name AS qtyUnitName
|
bom.qty_unit_name AS qtyUnitName
|
||||||
FROM
|
FROM
|
||||||
pdm_bom_callmaterial bom
|
pdm_bom_callmaterial bom
|
||||||
|
LEFT JOIN sys_user u ON bom.create_id = u.user_id
|
||||||
INNER JOIN md_me_materialbase mater ON mater.material_id = bom.material_id,
|
INNER JOIN md_me_materialbase mater ON mater.material_id = bom.material_id,
|
||||||
(SELECT @rownum := 0) r
|
(SELECT @rownum := 0) r
|
||||||
<where>
|
<where>
|
||||||
1 = 1
|
1 = 1
|
||||||
<if test="param.groupCode != null and param.groupCode != ''">
|
<if test="param.groupCode != null and param.groupCode != ''">
|
||||||
AND bom.create_id = #{param.groupCode}
|
AND (u.username LIKE #{param.groupCode} or
|
||||||
|
u.person_name LIKE #{param.groupCode})
|
||||||
</if>
|
</if>
|
||||||
<if test="param.materialCode != null and param.materialCode != ''">
|
<if test="param.materialCode != null and param.materialCode != ''">
|
||||||
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
||||||
@@ -76,7 +78,7 @@
|
|||||||
<!-- 班组焊材消耗报表全部数据(用于导出) -->
|
<!-- 班组焊材消耗报表全部数据(用于导出) -->
|
||||||
<select id="queryConsumeReportAll" resultType="org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto">
|
<select id="queryConsumeReportAll" resultType="org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto">
|
||||||
SELECT
|
SELECT
|
||||||
bom.create_id AS groupCode,
|
u.username AS groupCode,
|
||||||
bom.create_name AS groupName,
|
bom.create_name AS groupName,
|
||||||
mater.material_code AS materialCode,
|
mater.material_code AS materialCode,
|
||||||
mater.material_name AS materialName,
|
mater.material_name AS materialName,
|
||||||
@@ -89,10 +91,12 @@
|
|||||||
FROM
|
FROM
|
||||||
pdm_bom_callmaterial bom
|
pdm_bom_callmaterial bom
|
||||||
INNER JOIN md_me_materialbase mater ON mater.material_id = bom.material_id
|
INNER JOIN md_me_materialbase mater ON mater.material_id = bom.material_id
|
||||||
|
LEFT JOIN sys_user u ON bom.create_id = u.user_id
|
||||||
<where>
|
<where>
|
||||||
1 = 1
|
1 = 1
|
||||||
<if test="param.groupCode != null and param.groupCode != ''">
|
<if test="param.groupCode != null and param.groupCode != ''">
|
||||||
AND bom.create_id = #{param.groupCode}
|
AND (u.username LIKE #{param.groupCode} or
|
||||||
|
u.person_name LIKE #{param.groupCode})
|
||||||
</if>
|
</if>
|
||||||
<if test="param.materialCode != null and param.materialCode != ''">
|
<if test="param.materialCode != null and param.materialCode != ''">
|
||||||
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public class ConsumeReportServiceImpl implements IConsumeReportService {
|
|||||||
|
|
||||||
// 创建标题行
|
// 创建标题行
|
||||||
Row headerRow = sheet.createRow(0);
|
Row headerRow = sheet.createRow(0);
|
||||||
String[] headers = {"序号", "班组编码", "班组名称", "物料编码", "物料名称", "规格型号", "批次", "领料重量", "退料重量", "消耗重量", "单位"};
|
String[] headers = {"序号", "班组编码", "班组名称", "物料编码", "物料名称", "规格型号", "工单编码", "领料重量", "退料重量", "消耗重量", "单位"};
|
||||||
for (int i = 0; i < headers.length; i++) {
|
for (int i = 0; i < headers.length; i++) {
|
||||||
Cell cell = headerRow.createCell(i);
|
Cell cell = headerRow.createCell(i);
|
||||||
cell.setCellValue(headers[i]);
|
cell.setCellValue(headers[i]);
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
SELECT
|
SELECT
|
||||||
@rownum := @rownum + 1 AS rowNum,
|
@rownum := @rownum + 1 AS rowNum,
|
||||||
DATE_FORMAT(inv.confirm_time, '%Y-%m-%d %H:%i:%s') AS confirmTime,
|
DATE_FORMAT(inv.confirm_time, '%Y-%m-%d %H:%i:%s') AS confirmTime,
|
||||||
inv.confirm_optid AS groupCode,
|
u.username AS groupCode,
|
||||||
inv.confirm_optname AS groupName,
|
u.person_name AS groupName,
|
||||||
CASE inv.bill_type
|
CASE inv.bill_type
|
||||||
WHEN '1001' THEN '领料'
|
WHEN '1001' THEN '领料'
|
||||||
WHEN '0002' THEN '退料'
|
WHEN '0002' THEN '退料'
|
||||||
@@ -17,19 +17,23 @@
|
|||||||
mater.material_code AS materialCode,
|
mater.material_code AS materialCode,
|
||||||
mater.material_name AS materialName,
|
mater.material_name AS materialName,
|
||||||
mater.material_spec AS materialSpec,
|
mater.material_spec AS materialSpec,
|
||||||
dtl.pcsn AS batchNo,
|
dis.pcsn AS batchNo,
|
||||||
dtl.real_qty AS weight,
|
dis.real_qty AS weight,
|
||||||
dtl.qty_unit_name AS qtyUnitName
|
dis.qty_unit_name AS qtyUnitName
|
||||||
FROM
|
FROM
|
||||||
st_ivt_iostorinv inv
|
st_ivt_iostorinvdis dis
|
||||||
INNER JOIN st_ivt_iostorinvdtl dtl ON inv.iostorinv_id = dtl.iostorinv_id
|
INNER JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinv_id = dis.iostorinv_id
|
||||||
INNER JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id,
|
INNER JOIN st_ivt_iostorinv inv ON inv.iostorinv_id = dtl.iostorinv_id
|
||||||
|
INNER JOIN sys_user u ON u.user_id = inv.input_optid
|
||||||
|
INNER JOIN md_me_materialbase mater ON mater.material_id = dis.material_id,
|
||||||
(SELECT @rownum := 0) r
|
(SELECT @rownum := 0) r
|
||||||
<where>
|
<where>
|
||||||
inv.bill_status = '99'
|
inv.bill_status = '99'
|
||||||
|
AND inv.is_delete = '0'
|
||||||
AND inv.bill_type IN ('1001', '0002')
|
AND inv.bill_type IN ('1001', '0002')
|
||||||
<if test="param.groupCode != null and param.groupCode != ''">
|
<if test="param.groupCode != null and param.groupCode != ''">
|
||||||
AND inv.confirm_optid = #{param.groupCode}
|
AND (u.username LIKE #{param.groupCode} or
|
||||||
|
u.person_name LIKE #{param.groupCode})
|
||||||
</if>
|
</if>
|
||||||
<if test="param.materialCode != null and param.materialCode != ''">
|
<if test="param.materialCode != null and param.materialCode != ''">
|
||||||
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
||||||
@@ -83,28 +87,32 @@
|
|||||||
<select id="queryIosReportAll" resultType="org.nl.wms.biBoard.materialRequisition.dto.IosReportDto">
|
<select id="queryIosReportAll" resultType="org.nl.wms.biBoard.materialRequisition.dto.IosReportDto">
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(inv.confirm_time, '%Y-%m-%d %H:%i:%s') AS confirmTime,
|
DATE_FORMAT(inv.confirm_time, '%Y-%m-%d %H:%i:%s') AS confirmTime,
|
||||||
inv.confirm_optid AS groupCode,
|
u.username AS groupCode,
|
||||||
inv.confirm_optname AS groupName,
|
u.person_name AS groupName,
|
||||||
CASE inv.bill_type
|
CASE inv.bill_type
|
||||||
WHEN '1001' THEN '领料'
|
WHEN '1001' THEN '领料'
|
||||||
WHEN '0002' THEN '退料'
|
WHEN '0002' THEN '退料'
|
||||||
ELSE ''
|
ELSE ''
|
||||||
END AS iosType,
|
END AS iosType,
|
||||||
mater.material_code AS materialCode,
|
mater.material_code AS materialCode,
|
||||||
mater.material_name AS materialName,
|
mater.material_name AS materialName,
|
||||||
mater.material_spec AS materialSpec,
|
mater.material_spec AS materialSpec,
|
||||||
dtl.pcsn AS batchNo,
|
dis.pcsn AS batchNo,
|
||||||
dtl.real_qty AS weight,
|
dis.real_qty AS weight,
|
||||||
dtl.qty_unit_name AS qtyUnitName
|
dis.qty_unit_name AS qtyUnitName
|
||||||
FROM
|
FROM
|
||||||
st_ivt_iostorinv inv
|
st_ivt_iostorinvdis dis
|
||||||
INNER JOIN st_ivt_iostorinvdtl dtl ON inv.iostorinv_id = dtl.iostorinv_id
|
INNER JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinv_id = dis.iostorinv_id
|
||||||
INNER JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
|
INNER JOIN st_ivt_iostorinv inv ON inv.iostorinv_id = dtl.iostorinv_id
|
||||||
|
INNER JOIN sys_user u ON u.user_id = inv.input_optid
|
||||||
|
INNER JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
|
||||||
<where>
|
<where>
|
||||||
inv.bill_status = '99'
|
inv.bill_status = '99'
|
||||||
|
AND inv.is_delete = '0'
|
||||||
AND inv.bill_type IN ('1001', '0002')
|
AND inv.bill_type IN ('1001', '0002')
|
||||||
<if test="param.groupCode != null and param.groupCode != ''">
|
<if test="param.groupCode != null and param.groupCode != ''">
|
||||||
AND inv.confirm_optid = #{param.groupCode}
|
AND (u.username LIKE #{param.groupCode} or
|
||||||
|
u.person_name LIKE #{param.groupCode})
|
||||||
</if>
|
</if>
|
||||||
<if test="param.materialCode != null and param.materialCode != ''">
|
<if test="param.materialCode != null and param.materialCode != ''">
|
||||||
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
AND (mater.material_code LIKE CONCAT('%', #{param.materialCode}, '%')
|
||||||
|
|||||||
@@ -1,23 +1,18 @@
|
|||||||
package org.nl.wms.biBoard.run;
|
package org.nl.wms.biBoard.run;
|
||||||
|
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.wms.biBoard.screen.service.dto.AgvStatus;
|
import org.nl.wms.biBoard.screen.service.dto.AgvStatus;
|
||||||
import org.nl.wms.biBoard.temp.service.IBiTempRecordService;
|
|
||||||
import org.nl.wms.biBoard.temp.service.dao.BiTempRecord;
|
|
||||||
import org.nl.wms.ext.service.WmsToAcsService;
|
import org.nl.wms.ext.service.WmsToAcsService;
|
||||||
import org.nl.wms.ext.service.util.AcsResponse;
|
import org.nl.wms.ext.service.util.AgvResponse;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -33,9 +28,10 @@ import java.util.Map;
|
|||||||
@Component
|
@Component
|
||||||
@Order(value = 1)
|
@Order(value = 1)
|
||||||
public class AutoSyncAgvStatus {
|
public class AutoSyncAgvStatus {
|
||||||
public static Map<String, AgvStatus> AGV_STATUS= new HashMap<>();
|
public static Map<String, AgvStatus> AGV_STATUS = new HashMap<>();
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wmsToAcsService;
|
private WmsToAcsService wmsToAcsService;
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
System.out.println("------AutoSyncAgvStatus-------");
|
System.out.println("------AutoSyncAgvStatus-------");
|
||||||
@@ -47,20 +43,23 @@ public class AutoSyncAgvStatus {
|
|||||||
*/
|
*/
|
||||||
private void doExecute() {
|
private void doExecute() {
|
||||||
try {
|
try {
|
||||||
AcsResponse agvStatus = wmsToAcsService.getAgvStatus();
|
AgvResponse agvStatus = wmsToAcsService.getAgvStatus();
|
||||||
if (agvStatus.getStatus() == HttpStatus.HTTP_OK){
|
if (agvStatus.getStatus() == HttpStatus.HTTP_OK) {
|
||||||
final JSONObject resultData = agvStatus.getResultData();
|
|
||||||
if (!CollectionUtils.isEmpty(resultData)){
|
JSONArray resultData = agvStatus.getResultData();
|
||||||
for (String carId : resultData.keySet()) {
|
if (!CollectionUtils.isEmpty(resultData)) {
|
||||||
JSONObject object = resultData.getJSONObject(carId);
|
for (int i = 0; i < resultData.size(); i++) {
|
||||||
if (object!=null){
|
JSONObject json = resultData.getJSONObject(i);
|
||||||
AgvStatus agvStatusDto = object.toJavaObject(AgvStatus.class);
|
AgvStatus agvStatusDto = json.toJavaObject(AgvStatus.class);
|
||||||
AGV_STATUS.put(carId,agvStatusDto);
|
String carId = json.getString("carId");
|
||||||
}
|
if (carId.equals("11752")) {
|
||||||
|
agvStatusDto.setIcon("料箱式AGV.png");
|
||||||
|
}
|
||||||
|
AGV_STATUS.put(carId, agvStatusDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception ex){
|
} catch (Exception ex) {
|
||||||
log.error(ex.getMessage());
|
log.error(ex.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ public class AgvStatus {
|
|||||||
/**
|
/**
|
||||||
* 车辆图标:对应前端images中在料箱式AGV.png/潜伏式AGV.png
|
* 车辆图标:对应前端images中在料箱式AGV.png/潜伏式AGV.png
|
||||||
*/
|
*/
|
||||||
private String icon = "料箱式AGV.png";
|
private String icon = "潜伏式AGV.png";
|
||||||
/**
|
/**
|
||||||
* 当前执行任务号
|
* 当前执行任务号
|
||||||
*/
|
*/
|
||||||
private String taskCode;
|
private String task_code;
|
||||||
/**
|
/**
|
||||||
* 电量单位%
|
* 电量单位%
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.wms.ext.service;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.wms.ext.service.util.AcsResponse;
|
import org.nl.wms.ext.service.util.AcsResponse;
|
||||||
|
import org.nl.wms.ext.service.util.AgvResponse;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -31,7 +32,7 @@ public interface WmsToAcsService {
|
|||||||
*/
|
*/
|
||||||
AcsResponse getWeighAcs(JSONObject whereJson);
|
AcsResponse getWeighAcs(JSONObject whereJson);
|
||||||
AcsResponse getTempHumAcs();
|
AcsResponse getTempHumAcs();
|
||||||
AcsResponse getAgvStatus();
|
AgvResponse getAgvStatus();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认取放货
|
* 确认取放货
|
||||||
|
|||||||
@@ -2,17 +2,15 @@ package org.nl.wms.ext.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.wms.biBoard.screen.service.dto.AgvStatus;
|
|
||||||
import org.nl.wms.ext.enums.EXTConstant;
|
import org.nl.wms.ext.enums.EXTConstant;
|
||||||
import org.nl.wms.ext.service.WmsToAcsService;
|
import org.nl.wms.ext.service.WmsToAcsService;
|
||||||
import org.nl.wms.ext.service.util.AcsResponse;
|
import org.nl.wms.ext.service.util.AcsResponse;
|
||||||
|
import org.nl.wms.ext.service.util.AgvResponse;
|
||||||
import org.nl.wms.ext.util.AcsUtil;
|
import org.nl.wms.ext.util.AcsUtil;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -45,82 +43,15 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
|||||||
@Override
|
@Override
|
||||||
public AcsResponse getTempHumAcs() {
|
public AcsResponse getTempHumAcs() {
|
||||||
JSONObject object = new JSONObject();
|
JSONObject object = new JSONObject();
|
||||||
//"temp": 25.6, 温度
|
|
||||||
// "hum": 60.2 适度
|
|
||||||
// object.put("temp","25.6");
|
|
||||||
// object.put("hum","60.2");
|
|
||||||
// return AcsResponse.requestOk(object);
|
|
||||||
JSONObject whereJson = object;
|
JSONObject whereJson = object;
|
||||||
whereJson.put("device_code","WSD1");
|
whereJson.put("device_code", "WSD1");
|
||||||
return AcsUtil.notifyAcs(EXTConstant.GET_TEMPHUM_ACS_API, whereJson);
|
return AcsUtil.notifyAcs(EXTConstant.GET_TEMPHUM_ACS_API, whereJson);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AcsResponse getAgvStatus() {
|
public AgvResponse getAgvStatus() {
|
||||||
// Map<String, Object> agvStatusMap = new HashMap<>();
|
JSONObject whereJson = new JSONObject();
|
||||||
// agvStatusMap.put("1",AgvStatus.builder()
|
return AcsUtil.notifyAcsAgv(EXTConstant.GET_AGVSTATUS_ACS_API, whereJson);
|
||||||
// .status("1")
|
|
||||||
// .carId("2")
|
|
||||||
// .icon("潜伏式AGV.png")
|
|
||||||
// .carType("潜伏式AGV").power("66").taskCode("123123").build());
|
|
||||||
// agvStatusMap.put("1",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("1")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("2",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("2")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("3",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("3")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("5",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("5")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("4",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("4")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("6",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("6")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// agvStatusMap.put("7",AgvStatus.builder()
|
|
||||||
// .status("1")
|
|
||||||
// .carId("7")
|
|
||||||
// .carType("CTU料箱AGV")
|
|
||||||
// .icon("料箱式AGV.png")
|
|
||||||
// .power("77")
|
|
||||||
// .taskCode("33322")
|
|
||||||
// .build());
|
|
||||||
// return AcsResponse.requestOk(new JSONObject(agvStatusMap));
|
|
||||||
return AcsUtil.notifyAcs(EXTConstant.GET_AGVSTATUS_ACS_API,new JSONObject());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
package org.nl.wms.ext.service.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.http.HttpStatus;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.nl.wms.ext.util.BaseResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: Liuxy
|
||||||
|
* @Description: 下发acs的反馈数据*new
|
||||||
|
* @Date: 2025/05/19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AgvResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private JSONArray errArr = new JSONArray();
|
||||||
|
|
||||||
|
private JSONArray resultData = new JSONArray();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求失败
|
||||||
|
*
|
||||||
|
* @param message 错误信息
|
||||||
|
* @return AcsResponse
|
||||||
|
*/
|
||||||
|
public static AgvResponse requestError(String message) {
|
||||||
|
AgvResponse result = new AgvResponse();
|
||||||
|
result.setStatus(HttpStatus.HTTP_BAD_REQUEST);
|
||||||
|
result.setMessage(message);
|
||||||
|
result.setResponseDate(DateUtil.now());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求成功带信息
|
||||||
|
*
|
||||||
|
* @param message 信息
|
||||||
|
* @return AcsResponse
|
||||||
|
*/
|
||||||
|
public static AgvResponse requestOkMessage(String message) {
|
||||||
|
AgvResponse result = new AgvResponse();
|
||||||
|
result.setStatus(HttpStatus.HTTP_OK);
|
||||||
|
result.setMessage(message);
|
||||||
|
result.setResponseDate(DateUtil.now());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求成功
|
||||||
|
*
|
||||||
|
* @return AcsResponse
|
||||||
|
*/
|
||||||
|
public static AgvResponse requestOk() {
|
||||||
|
AgvResponse result = new AgvResponse();
|
||||||
|
result.setStatus(HttpStatus.HTTP_OK);
|
||||||
|
result.setMessage("请求成功");
|
||||||
|
result.setResponseDate(DateUtil.now());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AgvResponse requestOk(JSONArray resultData) {
|
||||||
|
AgvResponse result = new AgvResponse();
|
||||||
|
result.setStatus(HttpStatus.HTTP_OK);
|
||||||
|
result.setMessage("请求成功");
|
||||||
|
result.setResultData(resultData);
|
||||||
|
result.setResponseDate(DateUtil.now());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ import org.nl.system.enums.SysParamConstant;
|
|||||||
import org.nl.system.service.param.dao.Param;
|
import org.nl.system.service.param.dao.Param;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.ext.service.util.AcsResponse;
|
import org.nl.wms.ext.service.util.AcsResponse;
|
||||||
|
import org.nl.wms.ext.service.util.AgvResponse;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
import org.nl.wms.warehouse_management.enums.IOSConstant;
|
import org.nl.wms.warehouse_management.enums.IOSConstant;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -31,7 +32,8 @@ public class AcsUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 下发任务
|
* 下发任务
|
||||||
* @param api acs地址
|
*
|
||||||
|
* @param api acs地址
|
||||||
* @param list 下发参数
|
* @param list 下发参数
|
||||||
* @return AcsResponse
|
* @return AcsResponse
|
||||||
*/
|
*/
|
||||||
@@ -82,12 +84,13 @@ public class AcsUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 调用acs
|
* 调用acs
|
||||||
* @param api acs地址
|
*
|
||||||
|
* @param api acs地址
|
||||||
* @param param 下发参数
|
* @param param 下发参数
|
||||||
* @return AcsResponse
|
* @return AcsResponse
|
||||||
*/
|
*/
|
||||||
public static AcsResponse notifyAcs(String api, JSONObject param) {
|
public static AcsResponse notifyAcs(String api, JSONObject param) {
|
||||||
log.info("下发acs接口"+api+"的输入参数为:-------------------" + param.toString());
|
log.info("下发acs接口" + api + "的输入参数为:-------------------" + param.toString());
|
||||||
|
|
||||||
// 返回参数
|
// 返回参数
|
||||||
AcsResponse resultAcs;
|
AcsResponse resultAcs;
|
||||||
@@ -127,4 +130,52 @@ public class AcsUtil {
|
|||||||
return resultAcs;
|
return resultAcs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用acs
|
||||||
|
*
|
||||||
|
* @param api acs地址
|
||||||
|
* @param param 下发参数
|
||||||
|
* @return AcsResponse
|
||||||
|
*/
|
||||||
|
public static AgvResponse notifyAcsAgv(String api, JSONObject param) {
|
||||||
|
log.info("下发acs接口" + api + "的输入参数为:-------------------" + param.toString());
|
||||||
|
|
||||||
|
// 返回参数
|
||||||
|
AgvResponse resultAcs;
|
||||||
|
// 系统参数类
|
||||||
|
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class);
|
||||||
|
//判断是否连接ACS系统
|
||||||
|
Param isConnectAcs = sysParamService.findByCode(SysParamConstant.IS_CONNECT_ACS);
|
||||||
|
if (ObjectUtil.isEmpty(isConnectAcs)) {
|
||||||
|
return AgvResponse.requestError("系统参数表中:" + SysParamConstant.IS_CONNECT_ACS + "不存在");
|
||||||
|
}
|
||||||
|
if (isConnectAcs.getValue().equals(IOSConstant.IS_DELETE_NO)) {
|
||||||
|
return AgvResponse.requestOkMessage("下发成功,未连接ACS系统!");
|
||||||
|
}
|
||||||
|
|
||||||
|
//ACS地址
|
||||||
|
Param acsUrlParam = sysParamService.findByCode(SysParamConstant.ACS_URL);
|
||||||
|
if (ObjectUtil.isEmpty(acsUrlParam)) {
|
||||||
|
return AgvResponse.requestError("系统参数表中:" + SysParamConstant.ACS_URL + "不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
String url = acsUrlParam.getValue() + api;
|
||||||
|
try {
|
||||||
|
String resultMsg = HttpRequest.post(url)
|
||||||
|
.body(String.valueOf(param))
|
||||||
|
.execute().body();
|
||||||
|
// 格式转换
|
||||||
|
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||||
|
resultAcs = JSONObject.toJavaObject(result, AgvResponse.class);
|
||||||
|
|
||||||
|
log.info("下发ACS任务的输出参数为:-------------------" + resultMsg);
|
||||||
|
} catch (Exception e) {
|
||||||
|
//网络不通
|
||||||
|
String msg = e.getMessage();
|
||||||
|
log.error("连接失败:{}", msg);
|
||||||
|
return AgvResponse.requestError("网络不通,操作失败!");
|
||||||
|
}
|
||||||
|
return resultAcs;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
wms/nladmin-ui/src/assets/images/1.png
Normal file
BIN
wms/nladmin-ui/src/assets/images/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
BIN
wms/nladmin-ui/src/assets/images/haDian.png
Normal file
BIN
wms/nladmin-ui/src/assets/images/haDian.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
@@ -27,11 +27,11 @@
|
|||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="批次号">
|
<el-form-item label="工单编码">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.batchNo"
|
v-model="query.batchNo"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请输入批次号"
|
placeholder="请输入工单编码"
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -75,13 +75,12 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" border v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table" border 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 type="selection" width="55" />
|
||||||
<el-table-column prop="rowNum" label="序号" width="80" align="center" />
|
|
||||||
<el-table-column prop="groupCode" label="班组编码" width="120" />
|
<el-table-column prop="groupCode" label="班组编码" width="120" />
|
||||||
<el-table-column prop="groupName" label="班组名称" width="120" />
|
<el-table-column prop="groupName" label="班组名称" width="120" />
|
||||||
<el-table-column prop="materialCode" label="物料编码" width="150" />
|
<el-table-column prop="materialCode" label="物料编码" width="150" />
|
||||||
<el-table-column prop="materialName" label="物料名称" />
|
<el-table-column prop="materialName" label="物料名称" />
|
||||||
<el-table-column prop="materialSpec" label="规格型号" />
|
<el-table-column prop="materialSpec" label="规格型号" />
|
||||||
<el-table-column prop="batchNo" label="批次" width="150" />
|
<el-table-column prop="batchNo" label="工单编码" width="150" />
|
||||||
<el-table-column prop="receiveQty" label="领料重量" width="100" align="right" />
|
<el-table-column prop="receiveQty" label="领料重量" width="100" align="right" />
|
||||||
<el-table-column prop="returnQty" label="退料重量" width="100" align="right" />
|
<el-table-column prop="returnQty" label="退料重量" width="100" align="right" />
|
||||||
<el-table-column prop="consumeQty" label="消耗重量" width="100" align="right" />
|
<el-table-column prop="consumeQty" label="消耗重量" width="100" align="right" />
|
||||||
@@ -138,7 +137,7 @@ export default {
|
|||||||
startDate: this.query.startDate || '',
|
startDate: this.query.startDate || '',
|
||||||
endDate: this.query.endDate || ''
|
endDate: this.query.endDate || ''
|
||||||
}
|
}
|
||||||
|
|
||||||
crudConsumeReport.downloadExcel(params).then(res => {
|
crudConsumeReport.downloadExcel(params).then(res => {
|
||||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
|
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
|
||||||
const url = window.URL.createObjectURL(blob)
|
const url = window.URL.createObjectURL(blob)
|
||||||
|
|||||||
@@ -75,7 +75,6 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" border v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table" border 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 type="selection" width="55" />
|
||||||
<el-table-column prop="rowNum" label="序号" width="80" align="center" />
|
|
||||||
<el-table-column prop="confirmTime" label="领退时间" width="180" />
|
<el-table-column prop="confirmTime" label="领退时间" width="180" />
|
||||||
<el-table-column prop="groupCode" label="班组编码" width="120" />
|
<el-table-column prop="groupCode" label="班组编码" width="120" />
|
||||||
<el-table-column prop="groupName" label="班组名称" width="120" />
|
<el-table-column prop="groupName" label="班组名称" width="120" />
|
||||||
@@ -138,7 +137,7 @@ export default {
|
|||||||
startDate: this.query.startDate || '',
|
startDate: this.query.startDate || '',
|
||||||
endDate: this.query.endDate || ''
|
endDate: this.query.endDate || ''
|
||||||
}
|
}
|
||||||
|
|
||||||
crudIosReport.downloadExcel(params).then(res => {
|
crudIosReport.downloadExcel(params).then(res => {
|
||||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
|
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
|
||||||
const url = window.URL.createObjectURL(blob)
|
const url = window.URL.createObjectURL(blob)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!-- 头部标题 -->
|
<!-- 头部标题 -->
|
||||||
<div class="screen-header">
|
<div class="screen-header">
|
||||||
<div class="header-logo">
|
<div class="header-logo">
|
||||||
<img src="@/assets/images/logo.png" alt="logo" class="logo-img">
|
<img src="@/assets/images/1.png" alt="logo" class="logo-img">
|
||||||
</div>
|
</div>
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
哈电汽轮机(镇江)有限责任公司数字化焊材库智慧大屏
|
哈电汽轮机(镇江)有限责任公司数字化焊材库智慧大屏
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<div class="agv-status" :class="getAgvStatusClass(agv.status)">
|
<div class="agv-status" :class="getAgvStatusClass(agv.status)">
|
||||||
{{ getAgvStatusText(agv.status) }}
|
{{ getAgvStatusText(agv.status) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="agv-task">当前任务:{{ agv.taskCode || '无' }}</div>
|
<div class="agv-task">当前任务:{{ agv.task_code || '无' }}</div>
|
||||||
<div class="agv-battery">电量:{{ agv.power || 0 }}%</div>
|
<div class="agv-battery">电量:{{ agv.power || 0 }}%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user