update:大屏接口修改;混碾工单增加是否需要拆包功能;混碾下料增加是否需要拆包判断

This commit is contained in:
songxiaopeng
2024-04-19 16:51:42 +08:00
parent 920008c300
commit 803979594d
12 changed files with 218 additions and 76 deletions

View File

@@ -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());
} }

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
} }

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);
}
} }

View File

@@ -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);
} }

View File

@@ -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>

View File

@@ -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;

View File

@@ -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);

View File

@@ -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,