update:大屏接口修改;混碾工单增加是否需要拆包功能;混碾下料增加是否需要拆包判断
This commit is contained in:
@@ -1305,9 +1305,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
|||||||
status.put("device_status", driver.getStatus());
|
status.put("device_status", driver.getStatus());
|
||||||
status.put("error", driver.getError());
|
status.put("error", driver.getError());
|
||||||
status.put("open_time", driver.getOpen_time());
|
status.put("open_time", driver.getOpen_time());
|
||||||
status.put("stand_time", driver.getStandby_time() / 3600);
|
// status.put("stand_time", driver.getStandby_time() / 3600);
|
||||||
status.put("work_time", driver.getProduction_time() / 3600);
|
// status.put("work_time", driver.getProduction_time() / 3600);
|
||||||
status.put("error_time", driver.getError_time() / 3600);
|
// status.put("error_time", driver.getError_time() / 3600);
|
||||||
status.put("real_qty", driver.getQty());
|
status.put("real_qty", driver.getQty());
|
||||||
status.put("current_weight", driver.getWeight());
|
status.put("current_weight", driver.getWeight());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package org.nl.wms.cockpit.service.dao;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Administrator
|
||||||
|
* 点位信息(对接位、货架)
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FjPintInfoVo {
|
||||||
|
private String pointCode;
|
||||||
|
private String materialCode;
|
||||||
|
private String materialModel;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package org.nl.wms.cockpit.service.dao;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
* 出窑缓存货位点位信息
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class HchjMaterialInfo {
|
||||||
|
private String pointStatus;
|
||||||
|
private String pointName;
|
||||||
|
private String pointCode;
|
||||||
|
private String materialQty;
|
||||||
|
private String materialCode;
|
||||||
|
private String materialModel;
|
||||||
|
private String instorageTime;
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ public class KlMaterialInfoVo {
|
|||||||
private String pointStatus;
|
private String pointStatus;
|
||||||
private String pointName;
|
private String pointName;
|
||||||
private String pointCode;
|
private String pointCode;
|
||||||
private String materialWeight;
|
private String vehicleCode;
|
||||||
private String lastStandingTime;
|
|
||||||
private String materialCode;
|
private String materialCode;
|
||||||
|
private String instorageTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package org.nl.wms.cockpit.service.dao;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PressPointInfo {
|
||||||
|
private String pointCode;
|
||||||
|
private String materialCode;
|
||||||
|
private String materialModel;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package org.nl.wms.cockpit.service.dao;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
* 人工分拣点位信息
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RgfjMaterialInfo {
|
||||||
|
private String pointStatus;
|
||||||
|
private String pointName;
|
||||||
|
private String pointCode;
|
||||||
|
private String materialCode;
|
||||||
|
private String materialModel;
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.nl.config.thread.ThreadPoolExecutorUtil;
|
import org.nl.config.thread.ThreadPoolExecutorUtil;
|
||||||
import org.nl.wms.cockpit.service.CockpitService;
|
import org.nl.wms.cockpit.service.CockpitService;
|
||||||
import org.nl.wms.cockpit.service.dao.*;
|
import org.nl.wms.cockpit.service.dao.*;
|
||||||
@@ -274,13 +275,26 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
|
|
||||||
//压制上料位
|
//压制上料位
|
||||||
CompletableFuture<JSONArray> yzslwPositionTask = CompletableFuture.supplyAsync(() -> {
|
CompletableFuture<JSONArray> yzslwPositionTask = CompletableFuture.supplyAsync(() -> {
|
||||||
|
List<PressPointInfo> yjPoints = cockPitMapper.selectYjPoint();
|
||||||
List<String> points = cockPitMapper.selectYzslwPoint();
|
List<String> points = cockPitMapper.selectYzslwPoint();
|
||||||
if (points.isEmpty()) {
|
if (points.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
JSONArray param = new JSONArray(Collections.singletonList(points));
|
JSONArray param = new JSONArray(Collections.singletonList(points));
|
||||||
AcsResponse deviceStatus = wmsToAcsService.getDeviceStatus(param);
|
AcsResponse deviceStatus = wmsToAcsService.getDeviceStatus(param);
|
||||||
return ObjectUtil.isNotEmpty(deviceStatus) ? deviceStatus.getData() : param;
|
JSONArray data = ObjectUtil.isNotEmpty(deviceStatus) ? deviceStatus.getData() : param;
|
||||||
|
for (int i = 0; i < data.size(); i++) {
|
||||||
|
JSONObject object = data.getJSONObject(i);
|
||||||
|
object.remove("encoder_qty");
|
||||||
|
object.remove("error");
|
||||||
|
for (PressPointInfo pointInfo : yjPoints) {
|
||||||
|
String deviceCode = object.getString("device_code");
|
||||||
|
if (StringUtils.isNotEmpty(deviceCode) && pointInfo.getPointCode().equals(deviceCode.substring(0, 4))){
|
||||||
|
object.put("materialCode", pointInfo.getMaterialCode());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return data;
|
||||||
}, pool);
|
}, pool);
|
||||||
yzslwPositionTask.thenAccept(result -> {
|
yzslwPositionTask.thenAccept(result -> {
|
||||||
map.put("YzslwPositionList", result);
|
map.put("YzslwPositionList", result);
|
||||||
@@ -301,6 +315,7 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
JSONArray data = ObjectUtil.isNotEmpty(deviceStatus) ? deviceStatus.getData() : param;
|
JSONArray data = ObjectUtil.isNotEmpty(deviceStatus) ? deviceStatus.getData() : param;
|
||||||
for (int i = 0; i < data.size(); i++) {
|
for (int i = 0; i < data.size(); i++) {
|
||||||
JSONObject jsonObject = data.getJSONObject(i);
|
JSONObject jsonObject = data.getJSONObject(i);
|
||||||
|
jsonObject.remove("error");
|
||||||
if (jsonObject.getInteger("move") != 0
|
if (jsonObject.getInteger("move") != 0
|
||||||
&& ObjectUtil.isNotEmpty(jsonObject.getInteger("encoder_qty"))
|
&& ObjectUtil.isNotEmpty(jsonObject.getInteger("encoder_qty"))
|
||||||
&& jsonObject.getInteger("encoder_qty") > 0) {
|
&& jsonObject.getInteger("encoder_qty") > 0) {
|
||||||
@@ -330,7 +345,7 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
|
|
||||||
// 压机信息显示
|
// 压机信息显示
|
||||||
CompletableFuture<JSONArray> pressMachineTask = CompletableFuture.supplyAsync(() -> {
|
CompletableFuture<JSONArray> pressMachineTask = CompletableFuture.supplyAsync(() -> {
|
||||||
List<String> yjPoints = cockPitMapper.selectYjPoint();
|
List<PressPointInfo> yjPoints = cockPitMapper.selectYjPoint();
|
||||||
if (yjPoints.isEmpty()) {
|
if (yjPoints.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -343,6 +358,12 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
if (ObjectUtil.isNotEmpty(realQty)) {
|
if (ObjectUtil.isNotEmpty(realQty)) {
|
||||||
object.put("now_capacity", realQty);
|
object.put("now_capacity", realQty);
|
||||||
}
|
}
|
||||||
|
for (PressPointInfo yj : yjPoints) {
|
||||||
|
if (object.getString("device_code").equals(yj.getPointCode())) {
|
||||||
|
object.put("materialCode", yj.getMaterialCode());
|
||||||
|
object.put("materialModel", yj.getMaterialModel());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return yjData;
|
return yjData;
|
||||||
}, pool);
|
}, pool);
|
||||||
@@ -400,11 +421,11 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
//压制、分拣机械手
|
//分拣机械手
|
||||||
CompletableFuture<JSONArray> manipulatorInfoTask = CompletableFuture.supplyAsync(() -> {
|
CompletableFuture<JSONArray> manipulatorInfoTask = CompletableFuture.supplyAsync(() -> {
|
||||||
List<String> jxsPoints = cockPitMapper.selectJxsPoints();
|
List<String> jxsPoints = cockPitMapper.selectJxsPoints();
|
||||||
if (jxsPoints.isEmpty()) {
|
if (jxsPoints.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
JSONArray jxsPointsParam = new JSONArray(Collections.singletonList(jxsPoints));
|
JSONArray jxsPointsParam = new JSONArray(Collections.singletonList(jxsPoints));
|
||||||
AcsResponse jxsStatus = wmsToAcsService.getDeviceStatus(jxsPointsParam);
|
AcsResponse jxsStatus = wmsToAcsService.getDeviceStatus(jxsPointsParam);
|
||||||
@@ -434,6 +455,16 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
JSONArray fjcmdData = ObjectUtil.isNotEmpty(fjcmdStatus) ? fjcmdStatus.getData() : fjcmdPointsParam;
|
JSONArray fjcmdData = ObjectUtil.isNotEmpty(fjcmdStatus) ? fjcmdStatus.getData() : fjcmdPointsParam;
|
||||||
for (int i = 0; i < fjcmdData.size(); i++) {
|
for (int i = 0; i < fjcmdData.size(); i++) {
|
||||||
JSONObject jsonObject = fjcmdData.getJSONObject(i);
|
JSONObject jsonObject = fjcmdData.getJSONObject(i);
|
||||||
|
jsonObject.remove("encoder_qty");
|
||||||
|
jsonObject.remove("error");
|
||||||
|
String deviceCode = jsonObject.getString("device_code");
|
||||||
|
if (StringUtils.isNotEmpty(deviceCode) && "FJ01".equals(deviceCode.substring(0, 4))) {
|
||||||
|
FjPintInfoVo fjPintInfoVo = cockPitMapper.selectFJJXSMaterialInfo("FJCDJXS01");
|
||||||
|
if (null != fjPintInfoVo) {
|
||||||
|
jsonObject.put("materialCode", fjPintInfoVo.getMaterialCode());
|
||||||
|
jsonObject.put("materialModel", fjPintInfoVo.getMaterialModel());
|
||||||
|
}
|
||||||
|
}
|
||||||
if (jsonObject.getInteger("move") != 0
|
if (jsonObject.getInteger("move") != 0
|
||||||
&& ObjectUtil.isNotEmpty(jsonObject.getInteger("encoder_qty"))
|
&& ObjectUtil.isNotEmpty(jsonObject.getInteger("encoder_qty"))
|
||||||
&& jsonObject.getInteger("encoder_qty") > 0) {
|
&& jsonObject.getInteger("encoder_qty") > 0) {
|
||||||
@@ -462,7 +493,7 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 出窑缓存货架
|
// 出窑缓存货架
|
||||||
CompletableFuture<List<PointInfoVo>> outKilnHchjTask = CompletableFuture.supplyAsync(() -> {
|
CompletableFuture<List<HchjMaterialInfo>> outKilnHchjTask = CompletableFuture.supplyAsync(() -> {
|
||||||
return cockPitMapper.selectHchjList();
|
return cockPitMapper.selectHchjList();
|
||||||
}, pool);
|
}, pool);
|
||||||
outKilnHchjTask.thenAccept(result -> {
|
outKilnHchjTask.thenAccept(result -> {
|
||||||
@@ -473,7 +504,7 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
// 人工分拣拆垛
|
// 人工分拣拆垛
|
||||||
CompletableFuture<List<PointInfoVo>> manualSortingTask = CompletableFuture.supplyAsync(() -> {
|
CompletableFuture<List<RgfjMaterialInfo>> manualSortingTask = CompletableFuture.supplyAsync(() -> {
|
||||||
return cockPitMapper.selecManualSortingList();
|
return cockPitMapper.selecManualSortingList();
|
||||||
}, pool);
|
}, pool);
|
||||||
manualSortingTask.thenAccept(result -> {
|
manualSortingTask.thenAccept(result -> {
|
||||||
@@ -531,28 +562,28 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
List<InOutKilnVo> res = new ArrayList<>();
|
List<InOutKilnVo> res = new ArrayList<>();
|
||||||
for (int i = 0; i < data.size(); i++) {
|
for (int i = 0; i < data.size(); i++) {
|
||||||
JSONObject object = data.getJSONObject(i);
|
JSONObject object = data.getJSONObject(i);
|
||||||
if ("RYHCX01".equals(object.getString("device_code"))){
|
if ("RYHCX01".equals(object.getString("device_code"))) {
|
||||||
InOutKilnVo in = cockPitMapper.selectInKilnInfo();
|
InOutKilnVo in = cockPitMapper.selectInKilnInfo();
|
||||||
if (null == in) {
|
if (null == in) {
|
||||||
in = new InOutKilnVo();
|
in = new InOutKilnVo();
|
||||||
}
|
}
|
||||||
if ("0".equals(object.getString("error"))){
|
if ("0".equals(object.getString("error"))) {
|
||||||
in.setStat("2");
|
in.setStat("2");
|
||||||
}else {
|
} else {
|
||||||
in.setStat("1");
|
in.setStat("1");
|
||||||
}
|
}
|
||||||
in.setPointName("入窑输送线");
|
in.setPointName("入窑输送线");
|
||||||
// in.setWorkTime("3.5");
|
// in.setWorkTime("3.5");
|
||||||
res.add(in);
|
res.add(in);
|
||||||
}
|
}
|
||||||
if ("CYHCX01".equals(object.getString("device_code"))){
|
if ("CYHCX01".equals(object.getString("device_code"))) {
|
||||||
InOutKilnVo out = cockPitMapper.selectOutKilnInfo();
|
InOutKilnVo out = cockPitMapper.selectOutKilnInfo();
|
||||||
if (null == out) {
|
if (null == out) {
|
||||||
out = new InOutKilnVo();
|
out = new InOutKilnVo();
|
||||||
}
|
}
|
||||||
if ("0".equals(object.getString("error"))){
|
if ("0".equals(object.getString("error"))) {
|
||||||
out.setStat("2");
|
out.setStat("2");
|
||||||
}else {
|
} else {
|
||||||
out.setStat("1");
|
out.setStat("1");
|
||||||
}
|
}
|
||||||
out.setPointName("出窑输送线");
|
out.setPointName("出窑输送线");
|
||||||
@@ -594,4 +625,9 @@ public class CockpitServiceImpl implements CockpitService {
|
|||||||
kilnVo.setMaterialInfos(kilnMaterialInfo);
|
kilnVo.setMaterialInfos(kilnMaterialInfo);
|
||||||
return kilnVo;
|
return kilnVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String substring = "FJ01CDW01".substring(0, 4);
|
||||||
|
System.out.println(substring);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public interface CockPitMapper {
|
|||||||
|
|
||||||
List<String> selectYzPoint();
|
List<String> selectYzPoint();
|
||||||
|
|
||||||
List<String> selectYjPoint();
|
List<PressPointInfo> selectYjPoint();
|
||||||
|
|
||||||
List<String> selectHnjPoints();
|
List<String> selectHnjPoints();
|
||||||
|
|
||||||
@@ -52,13 +52,15 @@ public interface CockPitMapper {
|
|||||||
|
|
||||||
List<ErrorRecordVo> queryRecord();
|
List<ErrorRecordVo> queryRecord();
|
||||||
|
|
||||||
List<PointInfoVo> selectHchjList();
|
List<HchjMaterialInfo> selectHchjList();
|
||||||
|
|
||||||
List<PointInfoVo> selecManualSortingList();
|
List<RgfjMaterialInfo> selecManualSortingList();
|
||||||
|
|
||||||
List<klInfoVo> queryKlInfoList();
|
List<klInfoVo> queryKlInfoList();
|
||||||
|
|
||||||
List<KlMaterialInfoVo> selectKlhwInfo();
|
List<KlMaterialInfoVo> selectKlhwInfo();
|
||||||
|
|
||||||
List<String> selectYzslwPoint();
|
List<String> selectYzslwPoint();
|
||||||
|
|
||||||
|
FjPintInfoVo selectFJJXSMaterialInfo(String pointCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,22 +166,20 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectInKilnInfo" resultType="org.nl.wms.cockpit.service.dao.InOutKilnVo">
|
<select id="selectInKilnInfo" resultType="org.nl.wms.cockpit.service.dao.InOutKilnVo">
|
||||||
SELECT COUNT(1) as palletNum,
|
SELECT COUNT(1) AS palletNum,
|
||||||
sum(sbv.material_qty) as deliveredMaterialNum,
|
sum(sbv.material_qty) AS deliveredMaterialNum,
|
||||||
(select count(1)
|
sum(CASE WHEN sbv.group_bind_material_status = '2' THEN sbv.material_qty ELSE 0 END) AS materialNum,
|
||||||
from sch_base_task
|
(SELECT count(1)
|
||||||
|
FROM sch_base_task
|
||||||
WHERE config_code = 'YZMLTask'
|
WHERE config_code = 'YZMLTask'
|
||||||
and task_status = '5'
|
AND task_status = '5'
|
||||||
and DATE ( create_time ) = CURDATE()) as deliveredPalletNum,
|
AND DATE ( create_time ) = CURDATE()) AS deliveredPalletNum
|
||||||
sum(sbv.material_qty) as materialNum
|
FROM
|
||||||
FROM sch_base_vehiclematerialgroup sbv
|
sch_base_vehiclematerialgroup sbv
|
||||||
left join sch_base_point p
|
|
||||||
on p.vehicle_code = sbv.vehicle_code
|
WHERE
|
||||||
WHERE sbv.group_bind_material_status = '2'
|
sbv.point_code='RYHCX01'
|
||||||
and p.point_status = '1'
|
AND DATE ( sbv.create_time ) = CURDATE()
|
||||||
and p.is_used = '1'
|
|
||||||
and p.region_code = 'RYHCX'
|
|
||||||
and DATE ( sbv.create_time ) = CURDATE()
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectOutKilnInfo" resultType="org.nl.wms.cockpit.service.dao.InOutKilnVo">
|
<select id="selectOutKilnInfo" resultType="org.nl.wms.cockpit.service.dao.InOutKilnVo">
|
||||||
@@ -191,7 +189,8 @@
|
|||||||
where config_code = 'CYHCXMLTask'
|
where config_code = 'CYHCXMLTask'
|
||||||
and task_status = '5'
|
and task_status = '5'
|
||||||
and DATE ( create_time ) = CURDATE()) as palletNum,
|
and DATE ( create_time ) = CURDATE()) as palletNum,
|
||||||
sum(material_qty) as materialNum
|
sum(material_qty) as deliveredMaterialNum,
|
||||||
|
sum(CASE WHEN point_code = 'CYHCX01' THEN material_qty ELSE 0 END) AS materialNum
|
||||||
from sch_base_vehiclematerialgroup
|
from sch_base_vehiclematerialgroup
|
||||||
where out_kiln_time is not null
|
where out_kiln_time is not null
|
||||||
and DATE ( create_time ) = CURDATE()
|
and DATE ( create_time ) = CURDATE()
|
||||||
@@ -226,12 +225,18 @@
|
|||||||
and region_code = 'YZ'
|
and region_code = 'YZ'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectYjPoint" resultType="java.lang.String">
|
<select id="selectYjPoint" resultType="org.nl.wms.cockpit.service.dao.PressPointInfo">
|
||||||
SELECT point_code AS device_code
|
SELECT p.point_code as pointCode,
|
||||||
FROM `sch_base_point`
|
m.material_code as materialCode,
|
||||||
WHERE point_type = '1'
|
m.material_model as materialModel
|
||||||
and region_code = 'YZ'
|
FROM `sch_base_point` p
|
||||||
and LENGTH(point_code) = 4
|
LEFT JOIN pdm_bd_workorder o on p.point_code = o.point_code
|
||||||
|
LEFT JOIN md_base_material m ON o.material_id = m.material_id
|
||||||
|
WHERE p.point_type = '1'
|
||||||
|
AND p.region_code = 'YZ'
|
||||||
|
AND LENGTH(p.point_code) = 4
|
||||||
|
AND o.workorder_status = '3'
|
||||||
|
ORDER BY p.point_code
|
||||||
</select>
|
</select>
|
||||||
<select id="selectHnjPoints" resultType="java.lang.String">
|
<select id="selectHnjPoints" resultType="java.lang.String">
|
||||||
SELECT point_code AS device_code
|
SELECT point_code AS device_code
|
||||||
@@ -253,7 +258,7 @@
|
|||||||
p.point_name as pointName,
|
p.point_name as pointName,
|
||||||
p.point_status as pointStatus
|
p.point_status as pointStatus
|
||||||
FROM `sch_base_point` p
|
FROM `sch_base_point` p
|
||||||
WHERE p.region_code in ('YZ', 'FJ')
|
WHERE p.region_code in ('FJ')
|
||||||
AND P.point_type = '1'
|
AND P.point_type = '1'
|
||||||
and LENGTH(point_code) <![CDATA[ > ]]> 4
|
and LENGTH(point_code) <![CDATA[ > ]]> 4
|
||||||
ORDER BY p.point_code
|
ORDER BY p.point_code
|
||||||
@@ -267,50 +272,56 @@
|
|||||||
LEFT JOIN sch_base_point p ON r.device_code = p.point_code
|
LEFT JOIN sch_base_point p ON r.device_code = p.point_code
|
||||||
ORDER BY r.record_time desc limit 100
|
ORDER BY r.record_time desc limit 100
|
||||||
</select>
|
</select>
|
||||||
<select id="selectHchjList" resultType="org.nl.wms.cockpit.service.dao.PointInfoVo">
|
<select id="selectHchjList" resultType="org.nl.wms.cockpit.service.dao.HchjMaterialInfo">
|
||||||
SELECT p.point_code as pointCode,
|
SELECT p.point_code AS pointCode,
|
||||||
p.point_name as pointName,
|
p.point_name AS pointName,
|
||||||
p.point_status as pointStatus
|
p.point_status AS pointStatus,
|
||||||
|
g.material_qty AS materialQty,
|
||||||
|
g.update_time AS instorageTime,
|
||||||
|
m.material_code AS materialCode,
|
||||||
|
m.material_model AS materialModel
|
||||||
FROM `sch_base_point` p
|
FROM `sch_base_point` p
|
||||||
WHERE p.region_code ='HCHJ'
|
LEFT JOIN sch_base_vehiclematerialgroup g ON p.point_code = g.point_code
|
||||||
|
AND g.group_bind_material_status = '2'
|
||||||
|
LEFT JOIN md_base_material m ON g.material_id = m.material_id
|
||||||
|
WHERE p.region_code = 'HCHJ'
|
||||||
ORDER BY p.point_code
|
ORDER BY p.point_code
|
||||||
</select>
|
</select>
|
||||||
<select id="selecManualSortingList" resultType="org.nl.wms.cockpit.service.dao.PointInfoVo">
|
<select id="selecManualSortingList" resultType="org.nl.wms.cockpit.service.dao.RgfjMaterialInfo">
|
||||||
SELECT p.point_code as pointCode,
|
SELECT p.point_code AS pointCode,
|
||||||
p.point_name as pointName,
|
p.point_name AS pointName,
|
||||||
p.point_status as pointStatus
|
p.point_status AS pointStatus,
|
||||||
|
m.material_code AS materialCode,
|
||||||
|
m.material_model AS materialModel
|
||||||
FROM `sch_base_point` p
|
FROM `sch_base_point` p
|
||||||
WHERE p.region_code ='RGFJ'
|
LEFT JOIN sch_base_vehiclematerialgroup g ON p.point_code = g.point_code
|
||||||
|
AND g.group_bind_material_status = '2'
|
||||||
|
LEFT JOIN md_base_material m ON g.material_id = m.material_id
|
||||||
|
WHERE p.region_code = 'RGFJ'
|
||||||
ORDER BY p.point_code
|
ORDER BY p.point_code
|
||||||
</select>
|
</select>
|
||||||
<select id="queryKlInfoList" resultType="org.nl.wms.cockpit.service.dao.klInfoVo">
|
<select id="queryKlInfoList" resultType="org.nl.wms.cockpit.service.dao.klInfoVo">
|
||||||
SELECT p.point_code as materialCode,
|
SELECT m.raw_material_code as materialCode,
|
||||||
if(sum(v.material_weight) > 0.00, sum(v.material_weight), 0.00) as weight
|
if(sum(v.material_weight) > 0.00, sum(v.material_weight), 0.00) as weight
|
||||||
FROM sch_base_point P
|
FROM sch_base_point P
|
||||||
LEFT JOIN sch_base_vehiclematerialgroup v ON p.point_code = v.point_code
|
LEFT JOIN sch_base_vehiclematerialgroup v ON p.point_code = v.point_code
|
||||||
|
left join md_base_material m on v.material_id = m.material_id
|
||||||
WHERE p.region_code IN ('KL')
|
WHERE p.region_code IN ('KL')
|
||||||
AND p.point_code NOT LIKE ('CBJ%')
|
AND p.point_code NOT LIKE ('CBJ%')
|
||||||
|
and v.group_bind_material_status = '2'
|
||||||
GROUP BY materialCode
|
GROUP BY materialCode
|
||||||
ORDER BY weight desc
|
ORDER BY weight desc
|
||||||
</select>
|
</select>
|
||||||
<select id="selectKlhwInfo" resultType="org.nl.wms.cockpit.service.dao.KlMaterialInfoVo">
|
<select id="selectKlhwInfo" resultType="org.nl.wms.cockpit.service.dao.KlMaterialInfoVo">
|
||||||
SELECT p.point_code AS pointCode,
|
SELECT p.point_code AS pointCode,
|
||||||
p.point_name AS pointName,
|
p.point_name AS pointName,
|
||||||
p.point_status AS pointStatus,
|
p.point_status AS pointStatus,
|
||||||
if(g.material_weight > 0.00, g.material_weight, 0.00) AS materialWeight,
|
g.redundance_material_code AS materialCode,
|
||||||
IF
|
g.vehicle_code AS vehicleCode,
|
||||||
(
|
g.instorage_time AS instorageTime
|
||||||
TIMESTAMPDIFF(
|
|
||||||
MINUTE, g.instorage_time,
|
|
||||||
NOW()) >= g.standing_time,
|
|
||||||
0,
|
|
||||||
g.standing_time - TIMESTAMPDIFF(
|
|
||||||
MINUTE, g.instorage_time,
|
|
||||||
NOW())
|
|
||||||
) AS lastStandingTime,
|
|
||||||
g.redundance_material_code as materialCode
|
|
||||||
FROM `sch_base_point` p
|
FROM `sch_base_point` p
|
||||||
LEFT JOIN sch_base_vehiclematerialgroup g ON p.point_code = g.point_code
|
LEFT JOIN sch_base_vehiclematerialgroup g ON p.point_code = g.point_code
|
||||||
|
AND g.group_bind_material_status = '2'
|
||||||
WHERE p.region_code = 'KL'
|
WHERE p.region_code = 'KL'
|
||||||
AND p.point_code NOT LIKE 'CBJ%'
|
AND p.point_code NOT LIKE 'CBJ%'
|
||||||
ORDER BY p.point_code
|
ORDER BY p.point_code
|
||||||
@@ -321,5 +332,14 @@
|
|||||||
WHERE point_type in ('3','4')
|
WHERE point_type in ('3','4')
|
||||||
and region_code = 'YZ'
|
and region_code = 'YZ'
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectFJJXSMaterialInfo" resultType="org.nl.wms.cockpit.service.dao.FjPintInfoVo">
|
||||||
|
SELECT m.material_code,
|
||||||
|
m.material_model
|
||||||
|
FROM pdm_bd_workorder p
|
||||||
|
LEFT JOIN md_base_material m ON p.material_id = m.material_id
|
||||||
|
WHERE p.workorder_status = '3'
|
||||||
|
and p.point_code = #{pointCode}
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -152,6 +152,9 @@ public class PdmBdWorkorder implements Serializable {
|
|||||||
@ApiModelProperty(value = "不合格数")
|
@ApiModelProperty(value = "不合格数")
|
||||||
private Integer unqualified_qty;
|
private Integer unqualified_qty;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否需要拆包(0否,1是)")
|
||||||
|
private String need_unpack;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String material_name;
|
private String material_name;
|
||||||
|
|
||||||
|
|||||||
@@ -204,19 +204,23 @@ public class HNMLTask extends AbstractTask {
|
|||||||
endPointObj.setVehicle_type(GeneralDefinition.MATERIAL_CUP);
|
endPointObj.setVehicle_type(GeneralDefinition.MATERIAL_CUP);
|
||||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||||
pointService.updateById(endPointObj);
|
pointService.updateById(endPointObj);
|
||||||
// 更新组盘数据
|
|
||||||
groupEntity.setPoint_code(endPointObj.getPoint_code());
|
|
||||||
groupEntity.setPoint_name(endPointObj.getPoint_name());
|
|
||||||
groupEntity.setMove_way(groupEntity.getMove_way() + " -> " + endPointObj.getPoint_code());
|
|
||||||
groupEntity.setTask_code(taskObj.getTask_code());
|
|
||||||
TaskUtils.setGroupUpdateByType(groupEntity, taskFinishedType);
|
|
||||||
vehiclematerialgroupService.updateById(groupEntity);
|
|
||||||
// 更新工单上的实际重量
|
// 更新工单上的实际重量
|
||||||
// 更新混碾工单
|
// 更新混碾工单
|
||||||
PdmBdWorkorder workOrderObj = workorderService.getByCode(groupEntity.getWorkorder_code());
|
PdmBdWorkorder workOrderObj = workorderService.getByCode(groupEntity.getWorkorder_code());
|
||||||
workOrderObj.setReal_weight(workOrderObj.getReal_weight().add(groupEntity.getMaterial_weight()));
|
workOrderObj.setReal_weight(workOrderObj.getReal_weight().add(groupEntity.getMaterial_weight()));
|
||||||
TaskUtils.setWorkOrderUpdateByType(workOrderObj, taskFinishedType);
|
TaskUtils.setWorkOrderUpdateByType(workOrderObj, taskFinishedType);
|
||||||
workorderService.updateById(workOrderObj);
|
workorderService.updateById(workOrderObj);
|
||||||
|
// 更新组盘数据
|
||||||
|
groupEntity.setPoint_code(endPointObj.getPoint_code());
|
||||||
|
groupEntity.setPoint_name(endPointObj.getPoint_name());
|
||||||
|
groupEntity.setMove_way(groupEntity.getMove_way() + " -> " + endPointObj.getPoint_code());
|
||||||
|
groupEntity.setTask_code(taskObj.getTask_code());
|
||||||
|
//如果工单不需要拆包,直接设置组盘信息为已拆包
|
||||||
|
if ("0".equals(workOrderObj.getNeed_unpack())){
|
||||||
|
groupEntity.setUnpack("1");
|
||||||
|
}
|
||||||
|
TaskUtils.setGroupUpdateByType(groupEntity, taskFinishedType);
|
||||||
|
vehiclematerialgroupService.updateById(groupEntity);
|
||||||
// 如果终点是布料机,那就是需要将压机工单对应(新、旧)料的真实值相加
|
// 如果终点是布料机,那就是需要将压机工单对应(新、旧)料的真实值相加
|
||||||
if (RegionConstant.PRESSED_AREA.equals(endPointObj.getRegion_code())) {
|
if (RegionConstant.PRESSED_AREA.equals(endPointObj.getRegion_code())) {
|
||||||
PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(endPoint);
|
PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(endPoint);
|
||||||
|
|||||||
@@ -323,6 +323,12 @@
|
|||||||
<el-form-item v-if="false" label="工单类型" prop="workorder_type">
|
<el-form-item v-if="false" label="工单类型" prop="workorder_type">
|
||||||
<el-input v-model="form.workorder_type" style="width: 240px;"/>
|
<el-input v-model="form.workorder_type" style="width: 240px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="是否需要拆包" prop="need_unpack">
|
||||||
|
<el-radio-group v-model="form.need_unpack" style="width: 240px">
|
||||||
|
<el-radio :label="true">是</el-radio>
|
||||||
|
<el-radio :label="false">否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="是否自动搬运" prop="is_needmove">
|
<el-form-item label="是否自动搬运" prop="is_needmove">
|
||||||
<el-radio-group v-model="form.is_needmove" style="width: 240px">
|
<el-radio-group v-model="form.is_needmove" style="width: 240px">
|
||||||
<el-radio :label="true">是</el-radio>
|
<el-radio :label="true">是</el-radio>
|
||||||
@@ -434,6 +440,15 @@
|
|||||||
{{ scope.row.is_new ? '新料' : '旧料' }}
|
{{ scope.row.is_new ? '新料' : '旧料' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="need_unpack"
|
||||||
|
label="是否需要拆包"
|
||||||
|
:min-width="flexWidth('need_unpack',crud.data,'是否需要拆包')"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.need_unpack ? '是' : '否' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="is_needmove"
|
prop="is_needmove"
|
||||||
label="是否自动搬运"
|
label="是否自动搬运"
|
||||||
@@ -512,6 +527,7 @@ const defaultForm = {
|
|||||||
region_code: 'HN',
|
region_code: 'HN',
|
||||||
region_name: null,
|
region_name: null,
|
||||||
workorder_status: null,
|
workorder_status: null,
|
||||||
|
need_unpack: true,
|
||||||
is_needmove: true,
|
is_needmove: true,
|
||||||
workorder_type: null,
|
workorder_type: null,
|
||||||
passback_status: null,
|
passback_status: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user