fix: 反馈MES泥料数据、砖块信息
This commit is contained in:
@@ -39,6 +39,7 @@ public class MdBaseBrickInfo implements Serializable {
|
|||||||
|
|
||||||
private String grinding_number;
|
private String grinding_number;
|
||||||
|
|
||||||
|
/** 实际重量 */
|
||||||
private String weight;
|
private String weight;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class BaseResponse implements Serializable {
|
|||||||
private String responseDate;
|
private String responseDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结果 200成功
|
* 结果 200成功|400异常,(其他定义)
|
||||||
*/
|
*/
|
||||||
private int code;
|
private int code;
|
||||||
|
|
||||||
|
|||||||
@@ -735,6 +735,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
mesMudConsumptionDto.setSENDTIM(DateUtil.now());
|
mesMudConsumptionDto.setSENDTIM(DateUtil.now());
|
||||||
mesMudConsumptionDto.setCREATE_TM(DateUtil.now());
|
mesMudConsumptionDto.setCREATE_TM(DateUtil.now());
|
||||||
mesMudConsumptionDto.setOP_FLAG(GeneralDefinition.NO);
|
mesMudConsumptionDto.setOP_FLAG(GeneralDefinition.NO);
|
||||||
|
mesMudConsumptionDto.setDATA_FLAG("1");
|
||||||
mesMudConsumptionDto.setSLEEP_TIME(CommonUtils.dTOAMinutes(one.getInstorage_time(), DateUtil.now()));
|
mesMudConsumptionDto.setSLEEP_TIME(CommonUtils.dTOAMinutes(one.getInstorage_time(), DateUtil.now()));
|
||||||
log.info("泥料消耗上报参数:{}", mesMudConsumptionDto);
|
log.info("泥料消耗上报参数:{}", mesMudConsumptionDto);
|
||||||
// 反馈数据给acs
|
// 反馈数据给acs
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<insert id="insertMudConsumptionInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesMudConsumptionDto">
|
<insert id="insertMudConsumptionInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesMudConsumptionDto">
|
||||||
INSERT INTO "LMSTELCOM"."RECEIVE_MUDMATERIEL_OUT"( MSGID, PWORKSCHE_ID, OUT_FINNUM, PRESSUNIT, FBAGCODE, LOGT
|
INSERT INTO "LMSTELCOM"."RECEIVE_MUDMATERIEL_OUT"( MSGID, PWORKSCHE_ID, OUT_FINNUM, PRESSUNIT, FBAGCODE, LOGT
|
||||||
, SENDTIM
|
, SENDTIM
|
||||||
, CREATE_TM, OP_FLAG, SLEEP_TIME)
|
, CREATE_TM, OP_FLAG, SLEEP_TIME, DATA_FLAG)
|
||||||
VALUES ( #{MSGID}, #{PWORKSCHE_ID}, #{OUT_FINNUM}, #{PRESSUNIT}, #{FBAGCODE}, #{LOGT}
|
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>
|
</insert>
|
||||||
<insert id="insertProductData" parameterType="org.nl.wms.ext.mes.service.dto.MesProductDataDto">
|
<insert id="insertProductData" parameterType="org.nl.wms.ext.mes.service.dto.MesProductDataDto">
|
||||||
INSERT INTO "LMSTELCOM"."RECEIVE_R_SEMIPRODUCT"( MSGID, FORDER_NO, PWORKSCHE_ID, FPRODUCT_MATERIAL_ID
|
INSERT INTO "LMSTELCOM"."RECEIVE_R_SEMIPRODUCT"( MSGID, FORDER_NO, PWORKSCHE_ID, FPRODUCT_MATERIAL_ID
|
||||||
|
|||||||
@@ -89,5 +89,9 @@ public class MesMudConsumptionDto implements Serializable {
|
|||||||
* 实际困料时间
|
* 实际困料时间
|
||||||
*/
|
*/
|
||||||
private BigDecimal SLEEP_TIME;
|
private BigDecimal SLEEP_TIME;
|
||||||
|
/**
|
||||||
|
* 数据类型:1表示自动排料上传,2表示冲突解绑上传
|
||||||
|
*/
|
||||||
|
private String DATA_FLAG;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.springframework.scheduling.annotation.Async;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -564,10 +565,15 @@ public class WmsToMesServiceImpl implements WmsToMesService {
|
|||||||
throw new BadRequestException("工单不存在,上报MES失败");
|
throw new BadRequestException("工单不存在,上报MES失败");
|
||||||
}
|
}
|
||||||
MdBaseMaterial material = mdBaseMaterialService.getById(workorder.getMaterial_id());
|
MdBaseMaterial material = mdBaseMaterialService.getById(workorder.getMaterial_id());
|
||||||
String singleWeight = material.getSingle_weight();
|
String singleWeight = brickInfo.getWeight();
|
||||||
String volume = brickInfo.getVolume();
|
String volume = brickInfo.getVolume();
|
||||||
double w = Double.parseDouble(singleWeight);
|
double w = Double.parseDouble(singleWeight);
|
||||||
double v = Double.parseDouble(volume);
|
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();
|
MesQSPressMonitorData monitorData = new MesQSPressMonitorData();
|
||||||
monitorData.setBRICK_ID(brickInfo.getBrick_id());
|
monitorData.setBRICK_ID(brickInfo.getBrick_id());
|
||||||
monitorData.setGET_STATION(device.getExt_point_code());
|
monitorData.setGET_STATION(device.getExt_point_code());
|
||||||
@@ -588,7 +594,8 @@ public class WmsToMesServiceImpl implements WmsToMesService {
|
|||||||
monitorData.setMATERIAL_NAME(material.getMaterial_name());
|
monitorData.setMATERIAL_NAME(material.getMaterial_name());
|
||||||
monitorData.setMATERIAL_SPEC(material.getMaterial_spec());
|
monitorData.setMATERIAL_SPEC(material.getMaterial_spec());
|
||||||
monitorData.setMATERIAL_MODEL(material.getMaterial_model());
|
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.setUNQUALIFIED_QTY(brickInfo.getUnqualified_qty());
|
||||||
monitorData.setWORKORDER_CODE(brickInfo.getWorkorder_code());
|
monitorData.setWORKORDER_CODE(brickInfo.getWorkorder_code());
|
||||||
monitorData.setCREATE_TM(DateUtil.now());
|
monitorData.setCREATE_TM(DateUtil.now());
|
||||||
|
|||||||
@@ -193,6 +193,9 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PdmBdWorkorder getByCode(String orderCode) {
|
public PdmBdWorkorder getByCode(String orderCode) {
|
||||||
|
if (orderCode == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
LambdaQueryWrapper<PdmBdWorkorder> lam = new QueryWrapper<PdmBdWorkorder>().lambda();
|
LambdaQueryWrapper<PdmBdWorkorder> lam = new QueryWrapper<PdmBdWorkorder>().lambda();
|
||||||
lam.eq(PdmBdWorkorder::getWorkorder_code, orderCode);
|
lam.eq(PdmBdWorkorder::getWorkorder_code, orderCode);
|
||||||
return pdmBdWorkorderMapper.selectOne(lam);
|
return pdmBdWorkorderMapper.selectOne(lam);
|
||||||
|
|||||||
@@ -100,6 +100,14 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
|||||||
*/
|
*/
|
||||||
void unBindingSameVehicleMaterial(String vehicleCode, String vehicleType);
|
void unBindingSameVehicleMaterial(String vehicleCode, String vehicleType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 泥料解绑同载具的信息并上传MES
|
||||||
|
*
|
||||||
|
* @param vehicleCode
|
||||||
|
* @param vehicleType
|
||||||
|
*/
|
||||||
|
void unBindingSameVehicleMaterialToMes(String vehicleCode, String vehicleType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 包装获取组盘信息
|
* 包装获取组盘信息
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,16 +12,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
|
import org.nl.wms.ext.mes.service.WmsToMesService;
|
||||||
|
import org.nl.wms.ext.mes.service.dto.MesMudConsumptionDto;
|
||||||
|
import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService;
|
||||||
|
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
|
||||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
|
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
|
||||||
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||||
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
||||||
|
import org.nl.wms.util.CommonUtils;
|
||||||
import org.nl.wms.util.TaskUtils;
|
import org.nl.wms.util.TaskUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -37,6 +45,12 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
||||||
|
@Autowired
|
||||||
|
private IPdmBdWorkorderService workorderService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private WmsToMesService wmsToMesService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
|
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
|
||||||
@@ -142,6 +156,46 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
this.updateBatchById(list);
|
this.updateBatchById(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unBindingSameVehicleMaterialToMes(String vehicleCode, String vehicleType) {
|
||||||
|
LambdaQueryWrapper<SchBaseVehiclematerialgroup> lambda = new QueryWrapper<SchBaseVehiclematerialgroup>().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<SchBaseVehiclematerialgroup> 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
|
@Override
|
||||||
public SchBaseVehiclematerialgroup getOneByVehicleCode(String vehicleCode, String value) {
|
public SchBaseVehiclematerialgroup getOneByVehicleCode(String vehicleCode, String value) {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ public class HNMLTask extends AbstractTask {
|
|||||||
// 找到相同组盘信息就直接返回id,避免任务取消组盘信息还存在,重复插入
|
// 找到相同组盘信息就直接返回id,避免任务取消组盘信息还存在,重复插入
|
||||||
// 找到不直接返回,用那条数据进行修改
|
// 找到不直接返回,用那条数据进行修改
|
||||||
// 解绑同载具的信息
|
// 解绑同载具的信息
|
||||||
vehiclematerialgroupService.unBindingSameVehicleMaterial(vehicleCode, vehicleType);
|
vehiclematerialgroupService.unBindingSameVehicleMaterialToMes(vehicleCode, vehicleType);
|
||||||
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
|
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
|
||||||
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||||
// 要把数据存到组盘表
|
// 要把数据存到组盘表
|
||||||
|
|||||||
BIN
lms/nladmin-ui/src/assets/images/ma.png
Normal file
BIN
lms/nladmin-ui/src/assets/images/ma.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
@@ -14,7 +14,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Logo from '@/assets/images/logo2.png'
|
import Logo from '@/assets/images/ma.png'
|
||||||
import variables from '@/assets/styles/variables.scss'
|
import variables from '@/assets/styles/variables.scss'
|
||||||
export default {
|
export default {
|
||||||
name: 'SidebarLogo',
|
name: 'SidebarLogo',
|
||||||
|
|||||||
Reference in New Issue
Block a user