diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/brick/service/dao/MdBaseBrickInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/brick/service/dao/MdBaseBrickInfo.java
index 43f660a..d082cf4 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/brick/service/dao/MdBaseBrickInfo.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/brick/service/dao/MdBaseBrickInfo.java
@@ -39,6 +39,7 @@ public class MdBaseBrickInfo implements Serializable {
private String grinding_number;
+ /** 实际重量 */
private String weight;
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseResponse.java
index f624625..8755bec 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseResponse.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/BaseResponse.java
@@ -33,7 +33,7 @@ public class BaseResponse implements Serializable {
private String responseDate;
/**
- * 结果 200成功
+ * 结果 200成功|400异常,(其他定义)
*/
private int code;
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
index f3face8..fde49d7 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
@@ -735,6 +735,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
mesMudConsumptionDto.setSENDTIM(DateUtil.now());
mesMudConsumptionDto.setCREATE_TM(DateUtil.now());
mesMudConsumptionDto.setOP_FLAG(GeneralDefinition.NO);
+ mesMudConsumptionDto.setDATA_FLAG("1");
mesMudConsumptionDto.setSLEEP_TIME(CommonUtils.dTOAMinutes(one.getInstorage_time(), DateUtil.now()));
log.info("泥料消耗上报参数:{}", mesMudConsumptionDto);
// 反馈数据给acs
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml
index 9a66f88..1c29cb5 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml
@@ -4,9 +4,9 @@
INSERT INTO "LMSTELCOM"."RECEIVE_MUDMATERIEL_OUT"( MSGID, PWORKSCHE_ID, OUT_FINNUM, PRESSUNIT, FBAGCODE, LOGT
, SENDTIM
- , CREATE_TM, OP_FLAG, SLEEP_TIME)
+ , CREATE_TM, OP_FLAG, SLEEP_TIME, DATA_FLAG)
VALUES ( #{MSGID}, #{PWORKSCHE_ID}, #{OUT_FINNUM}, #{PRESSUNIT}, #{FBAGCODE}, #{LOGT}
- , #{SENDTIM}, #{CREATE_TM}, #{OP_FLAG}, #{SLEEP_TIME})
+ , #{SENDTIM}, #{CREATE_TM}, #{OP_FLAG}, #{SLEEP_TIME}, #{DATA_FLAG})
INSERT INTO "LMSTELCOM"."RECEIVE_R_SEMIPRODUCT"( MSGID, FORDER_NO, PWORKSCHE_ID, FPRODUCT_MATERIAL_ID
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesMudConsumptionDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesMudConsumptionDto.java
index 5b308a2..c08fa94 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesMudConsumptionDto.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesMudConsumptionDto.java
@@ -89,5 +89,9 @@ public class MesMudConsumptionDto implements Serializable {
* 实际困料时间
*/
private BigDecimal SLEEP_TIME;
+ /**
+ * 数据类型:1表示自动排料上传,2表示冲突解绑上传
+ */
+ private String DATA_FLAG;
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java
index 4be284c..265541c 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java
@@ -33,6 +33,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -564,10 +565,15 @@ public class WmsToMesServiceImpl implements WmsToMesService {
throw new BadRequestException("工单不存在,上报MES失败");
}
MdBaseMaterial material = mdBaseMaterialService.getById(workorder.getMaterial_id());
- String singleWeight = material.getSingle_weight();
+ String singleWeight = brickInfo.getWeight();
String volume = brickInfo.getVolume();
double w = Double.parseDouble(singleWeight);
double v = Double.parseDouble(volume);
+ // 计算 w / v 并乘以 1000
+ double result = v == 0 ? 0 : (w / v) * 1000;
+ // 使用 BigDecimal 保留3位小数
+ BigDecimal bd = new BigDecimal(result);
+ bd = bd.setScale(3, RoundingMode.HALF_UP);
MesQSPressMonitorData monitorData = new MesQSPressMonitorData();
monitorData.setBRICK_ID(brickInfo.getBrick_id());
monitorData.setGET_STATION(device.getExt_point_code());
@@ -588,7 +594,8 @@ public class WmsToMesServiceImpl implements WmsToMesService {
monitorData.setMATERIAL_NAME(material.getMaterial_name());
monitorData.setMATERIAL_SPEC(material.getMaterial_spec());
monitorData.setMATERIAL_MODEL(material.getMaterial_model());
- monitorData.setMACHINE_WET(String.valueOf(v == 0 ? "0" : (w / v)));
+ monitorData.setMACHINE_WET(bd.toString());
+ log.info("计算实时重量:{} / 体积:{} = {}", w, v, monitorData.getMACHINE_WET());
monitorData.setUNQUALIFIED_QTY(brickInfo.getUnqualified_qty());
monitorData.setWORKORDER_CODE(brickInfo.getWorkorder_code());
monitorData.setCREATE_TM(DateUtil.now());
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/impl/PdmBdWorkorderServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/impl/PdmBdWorkorderServiceImpl.java
index 36ee965..910f2d8 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/impl/PdmBdWorkorderServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/workorder/service/impl/PdmBdWorkorderServiceImpl.java
@@ -193,6 +193,9 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda();
lam.eq(PdmBdWorkorder::getWorkorder_code, orderCode);
return pdmBdWorkorderMapper.selectOne(lam);
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java
index fd8199d..391b283 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java
@@ -100,6 +100,14 @@ public interface ISchBaseVehiclematerialgroupService extends IService queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
@@ -142,6 +156,46 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl lambda = new QueryWrapper().lambda();
+ lambda.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode)
+ .eq(SchBaseVehiclematerialgroup::getVehicle_type, vehicleType)
+ // 不是解绑的
+ .ne(SchBaseVehiclematerialgroup::getGroup_bind_material_status, GroupBindMaterialStatusEnum.UNBOUND.getValue())
+ .eq(SchBaseVehiclematerialgroup::getIs_delete, false);
+ List list = vehiclematerialgroupMapper.selectList(lambda);
+ list.forEach(schBaseVehiclematerialgroup -> {
+ String workorderCode = schBaseVehiclematerialgroup.getWorkorder_code();
+ PdmBdWorkorder order = workorderService.getByCode(workorderCode);
+ // 上报MES 记录泥料
+ MesMudConsumptionDto mesMudConsumptionDto = new MesMudConsumptionDto();
+ mesMudConsumptionDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
+ mesMudConsumptionDto.setPWORKSCHE_ID(workorderCode);
+ mesMudConsumptionDto.setOUT_FINNUM(schBaseVehiclematerialgroup.getMaterial_weight());
+ if (ObjectUtil.isNotEmpty(order)) {
+ SchBasePoint devicePoint = pointService.getById(order.getPoint_code());
+ mesMudConsumptionDto.setPRESSUNIT(devicePoint.getExt_point_code());
+ } else {
+ mesMudConsumptionDto.setPRESSUNIT("-");
+ }
+ mesMudConsumptionDto.setFBAGCODE(schBaseVehiclematerialgroup.getPcsn());
+ mesMudConsumptionDto.setLOGT("配料仓");
+ mesMudConsumptionDto.setSENDTIM("-");
+ mesMudConsumptionDto.setCREATE_TM(schBaseVehiclematerialgroup.getCreate_time());
+ mesMudConsumptionDto.setOP_FLAG(GeneralDefinition.NO);
+ mesMudConsumptionDto.setSLEEP_TIME(BigDecimal.valueOf(0));
+ mesMudConsumptionDto.setDATA_FLAG("2");
+ log.info("泥料消耗上报参数:{}", mesMudConsumptionDto);
+ // 回传给mes系统
+ wmsToMesService.reportMudConsumption(mesMudConsumptionDto);
+ schBaseVehiclematerialgroup.setRemark("冲突解绑");
+ schBaseVehiclematerialgroup.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue());
+ TaskUtils.setGroupUpdateByAcs(schBaseVehiclematerialgroup);
+ });
+ this.updateBatchById(list);
+ }
+
@Override
public SchBaseVehiclematerialgroup getOneByVehicleCode(String vehicleCode, String value) {
List list = new ArrayList<>();
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java
index 5dbb1a1..1dba263 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java
@@ -336,7 +336,7 @@ public class HNMLTask extends AbstractTask {
// 找到相同组盘信息就直接返回id,避免任务取消组盘信息还存在,重复插入
// 找到不直接返回,用那条数据进行修改
// 解绑同载具的信息
- vehiclematerialgroupService.unBindingSameVehicleMaterial(vehicleCode, vehicleType);
+ vehiclematerialgroupService.unBindingSameVehicleMaterialToMes(vehicleCode, vehicleType);
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
// 要把数据存到组盘表
diff --git a/lms/nladmin-ui/src/assets/images/ma.png b/lms/nladmin-ui/src/assets/images/ma.png
new file mode 100644
index 0000000..7da55c9
Binary files /dev/null and b/lms/nladmin-ui/src/assets/images/ma.png differ
diff --git a/lms/nladmin-ui/src/layout/components/Sidebar/Logo.vue b/lms/nladmin-ui/src/layout/components/Sidebar/Logo.vue
index c331a60..54942c1 100644
--- a/lms/nladmin-ui/src/layout/components/Sidebar/Logo.vue
+++ b/lms/nladmin-ui/src/layout/components/Sidebar/Logo.vue
@@ -14,7 +14,7 @@