Merge remote-tracking branch 'origin/dev-wuhan' into dev-wuhan

tags/yfai-mes-ext-v2.4
臧学普 5 months ago
commit 651fb28a10

@ -256,6 +256,14 @@ public interface IProdExtOrgService {
@ApiOperation(value = "更新工位参数配置状态(启用、禁用)") @ApiOperation(value = "更新工位参数配置状态(启用、禁用)")
int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName); int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName);
/**
*
* @param organizeCode
* @param id
*/
@ApiOperation(value = "新增工位按钮")
void insertWorkCellModuleByCfg(String organizeCode, String id);
/*************MES工位参数配置服务*****end***********/ /*************MES工位参数配置服务*****end***********/
} }

@ -47,10 +47,11 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProduceSn)) { if (!Objects.isNull(mesProduceSn)) {
rowMap.put("ASSEMBLY_BARCODE_ID", mesProduceSn.getId()) rowMap.put("ASSEMBLY_BARCODE_ID", mesProduceSn.getId())
} else { } else {
rowMap.put("ASSEMBLY_BARCODE_ID", 0)
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn"))) LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn")))
} }
}else{ }else{
rowMap.put("ASSEMBLY_BARCODE_ID", null) rowMap.put("ASSEMBLY_BARCODE_ID", 0)
} }
// //
if (!StringUtils.isEmpty(rowMap.get("product_sn"))) { if (!StringUtils.isEmpty(rowMap.get("product_sn"))) {
@ -58,10 +59,11 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProduceSn)) { if (!Objects.isNull(mesProduceSn)) {
rowMap.put("BARCODE_ID", mesProduceSn.getId()) rowMap.put("BARCODE_ID", mesProduceSn.getId())
} else { } else {
rowMap.put("BARCODE_ID", 0)
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn"))) LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn")))
} }
}else{ }else{
rowMap.put("BARCODE_ID", null) rowMap.put("BARCODE_ID", 0)
} }
// //
if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) { if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) {
@ -75,6 +77,7 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProductionRecord)) { if (!Objects.isNull(mesProductionRecord)) {
rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid()) rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid())
} else { } else {
rowMap.put("PRODUCTION_LOG_FID", null)
LOGGER.info("加工记录id{},信息不存在", String.valueOf(rowMap.get("production_record_id"))) LOGGER.info("加工记录id{},信息不存在", String.valueOf(rowMap.get("production_record_id")))
} }
}else{ }else{
@ -86,6 +89,7 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesEquipment)) { if (!Objects.isNull(mesEquipment)) {
rowMap.put("EQUIPMENT_FID", mesEquipment.getFid()) rowMap.put("EQUIPMENT_FID", mesEquipment.getFid())
} else { } else {
rowMap.put("EQUIPMENT_FID", null)
LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("equipment_code"))) LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("equipment_code")))
} }
}else{ }else{

@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.api.busi.IEquipmentExtService;
import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService; import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.mes.apiservice.util.MesCommConstWords; import cn.estsh.i3plus.mes.apiservice.util.MesCommConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
@ -16,7 +17,10 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.MesArea;
import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.model.ProdOrgExtModel; import cn.estsh.i3plus.pojo.mes.model.ProdOrgExtModel;
import cn.estsh.impp.framework.base.controller.MesBaseController; import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -30,9 +34,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Description: * @Description:
@ -388,4 +394,17 @@ public class ExtProdOrgController extends MesBaseController {
} }
} }
@PostMapping(value = "/work-cell-module/by-cfg/inset")
@ApiOperation(value = "根据配置新增工位按钮")
public ResultBean insertWorkCellModuleByCfg(@RequestBody Map<String, Object> params) {
try {
if (!CollectionUtils.isEmpty(params)) prodOrgService.insertWorkCellModuleByCfg((String) params.get(MesExtConstWords.ORGANIZE_CODE), (String) params.get(MesExtConstWords.ID));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
} }

@ -1,19 +1,27 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartPtrService; import cn.estsh.i3plus.ext.mes.api.base.IMesPartPtrService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesArea;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPtr; import cn.estsh.i3plus.pojo.mes.bean.MesPartPtr;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPtrDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@Slf4j @Slf4j
public class MesPartPtrService extends BaseMesService<MesPartPtr> implements IMesPartPtrService { public class MesPartPtrService extends BaseMesService<MesPartPtr> implements IMesPartPtrService {
@Override
protected void setPackQueryBean(MesPartPtr bean, DdlPackBean packBean) { protected void setPackQueryBean(MesPartPtr bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(bean.getSrcPartNo(), "srcPartNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getDestPartNo(), "destPartNo", packBean);
DdlPreparedPack.getNumEqualPack(bean.getStatus(), MesExtConstWords.STATUS, packBean);
DdlPreparedPack.getNumEqualPack(bean.getPrtVehicleCount(), "prtVehicleCount", packBean);
DdlPreparedPack.getNumEqualPack(bean.getPrtVehicleActualCount(), "prtVehicleActualCount", packBean);
DdlPreparedPack.getStringLikerPack(bean.getSeqInfoPrtPart(), "seqInfoPrtPart", packBean);
DdlPreparedPack.timeBuilder(bean.getStartTimeStart(), bean.getStartTimeEnd(), MesExtConstWords.START_TIME, packBean, false);
} }
} }

@ -74,8 +74,9 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
DdlPreparedPack.getStringLikerPack(bean.getRemark(), "remark", packBean); DdlPreparedPack.getStringLikerPack(bean.getRemark(), "remark", packBean);
DdlPreparedPack.getNumEqualPack(bean.getStatus(), "status", packBean); DdlPreparedPack.getNumEqualPack(bean.getStatus(), "status", packBean);
DdlPreparedPack.getInPackArray(bean.getStatusArray(), "status", packBean); DdlPreparedPack.getInPackArray(bean.getStatusArray(), "status", packBean);
DdlPreparedPack.getStringBiggerPack(bean.getPlanArriveEndTimeStart(), "planArriveEndTime", packBean); if (!StringUtils.isEmpty(bean.getPlanArriveEndTimeStart()) || !StringUtils.isEmpty(bean.getPlanArriveEndTimeEnd())) {
DdlPreparedPack.getStringSmallerPack(bean.getPlanArriveEndTimeEnd(), "planArriveEndTime", packBean); DdlPreparedPack.timeBuilder(bean.getPlanArriveEndTimeStart(), bean.getPlanArriveEndTimeEnd(), "planArriveEndTime", packBean, false);
}
if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) { if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) {
DdlPreparedPack.timeBuilder(bean.getReleaseTimeStart(), bean.getReleaseTimeEnd(), "publishTime", packBean, false); DdlPreparedPack.timeBuilder(bean.getReleaseTimeStart(), bean.getReleaseTimeEnd(), "publishTime", packBean, false);
} }

@ -280,7 +280,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
DdlPreparedPack.getStringSmallerPack(bean.getStartTimeEnd(), "planStartTime", packBean); DdlPreparedPack.getStringSmallerPack(bean.getStartTimeEnd(), "planStartTime", packBean);
DdlPreparedPack.getStringBiggerPack(bean.getEndTimeStart(), "planEndTime", packBean); DdlPreparedPack.getStringBiggerPack(bean.getEndTimeStart(), "planEndTime", packBean);
DdlPreparedPack.getStringSmallerPack(bean.getEndTimeEnd(), "planEndTime", packBean); DdlPreparedPack.getStringSmallerPack(bean.getEndTimeEnd(), "planEndTime", packBean);
packBean.setOrderByStr(" order by createDatetime desc,workOrderSeq asc,productSeq asc,workOrderNo asc "); packBean.setOrderByStr(" order by workOrderSeq desc, createDatetime desc, productSeq asc, workOrderNo asc ");
} }
@Override @Override
@ -296,9 +296,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (CollectionUtils.isEmpty(mesWorkCenterList)) { if (CollectionUtils.isEmpty(mesWorkCenterList)) {
return; return;
} }
Map<String, String> mesWorkCenterMap = mesWorkCenterList.stream().collect(Collectors.toMap(MesWorkCenter::getWorkCenterCode, MesWorkCenter::getWorkCenterName)); Map<String, List<MesWorkCenter>> mesWorkCenterMap = mesWorkCenterList.stream().collect(Collectors.groupingBy(MesWorkCenter::getWorkCenterCode));
mesWorkOrderList.forEach(t -> { mesWorkOrderList.forEach(t -> {
t.setWorkCenterName(mesWorkCenterMap.get(t.getWorkCenterCode())); t.setWorkCenterName(mesWorkCenterMap.containsKey(t.getWorkCenterCode()) ? mesWorkCenterMap.get(t.getWorkCenterCode()).iterator().next().getWorkCenterName() : "");
}); });
} }
@ -1587,10 +1587,11 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
newMesProductOffLine.setItemUnit(mesBom.getItemUnit()); newMesProductOffLine.setItemUnit(mesBom.getItemUnit());
newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getWorkOrderNo()); newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getWorkOrderNo());
newMesProductOffLine.setWorkOrderType(mesWorkOrder.getWorkOrderType()); newMesProductOffLine.setWorkOrderType(mesWorkOrder.getWorkOrderType());
newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode());
newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode()); newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode());
newMesProductOffLine.setReportType(mesWorkOrder.getReportType()); newMesProductOffLine.setReportType(mesWorkOrder.getReportType());
newMesProductOffLine.setSapWorkCenter(mesWorkOrder.getErpWorkCenter()); newMesProductOffLine.setWorkCenterCode(mesProductVersion.getWorkCenterCode());
newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode());
newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode()); newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode());
newMesProductOffLine.setDescription(nowTime); newMesProductOffLine.setDescription(nowTime);
newMesProductOffLine.setBomCode(mesBom.getBomCode()); newMesProductOffLine.setBomCode(mesBom.getBomCode());

@ -192,7 +192,7 @@ public class ProdExtOrgService implements IProdExtOrgService {
.build(); .build();
} }
workCell.setGrade(prodOrgModel.getGrade()); workCell.setGrade(prodOrgModel.getGrade());
insertWorkCellModule(workCell); insertWorkCellModuleByCfg(workCell, workCell.getModifyUser());
return workCellRepository.insert(workCell); return workCellRepository.insert(workCell);
} }
return null; return null;
@ -406,7 +406,7 @@ public class ProdExtOrgService implements IProdExtOrgService {
ConvertBean.serviceModelUpdate(workCell, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelUpdate(workCell, AuthUtil.getSessionUser().getUserName());
insertWorkCellModule(workCell); insertWorkCellModuleByCfg(workCell, workCell.getModifyUser());
return workCellRepository.save(workCell); return workCellRepository.save(workCell);
} }
@ -595,7 +595,14 @@ public class ProdExtOrgService implements IProdExtOrgService {
new Object[]{status, userName, TimeTool.getNowTime(true)}); new Object[]{status, userName, TimeTool.getNowTime(true)});
} }
private void insertWorkCellModule(MesWorkCell workCell) { @Override
public void insertWorkCellModuleByCfg(String organizeCode, String id) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(id)) return;
insertWorkCellModuleByCfg(workCellRepository.getById(Long.valueOf(id)), "系统");
}
private void insertWorkCellModuleByCfg(MesWorkCell workCell, String userInfo) {
if (null == workCell) return;
if (StringUtils.isEmpty(workCell.getGrade()) || workCell.getGrade().compareTo(MesExtEnumUtil.WORK_CELL_GRADE.SCAN.getValue()) != 0) return; if (StringUtils.isEmpty(workCell.getGrade()) || workCell.getGrade().compareTo(MesExtEnumUtil.WORK_CELL_GRADE.SCAN.getValue()) != 0) return;
List<MesWorkCellModule> workCellModuleList = getWorkCellModuleButtonList(workCell.getOrganizeCode(), workCell.getWorkCenterCode(), workCell.getWorkCellCode()); List<MesWorkCellModule> workCellModuleList = getWorkCellModuleButtonList(workCell.getOrganizeCode(), workCell.getWorkCenterCode(), workCell.getWorkCellCode());
if (!CollectionUtils.isEmpty(workCellModuleList)) return; if (!CollectionUtils.isEmpty(workCellModuleList)) return;
@ -606,6 +613,7 @@ public class ProdExtOrgService implements IProdExtOrgService {
MesWorkCellModule workCellModule = new MesWorkCellModule(); MesWorkCellModule workCellModule = new MesWorkCellModule();
BeanUtils.copyProperties(workCell, workCellModule, MesExtConstWords.ID); BeanUtils.copyProperties(workCell, workCellModule, MesExtConstWords.ID);
workCellModule.setModuleCode(workModule.getModuleCode()); workCellModule.setModuleCode(workModule.getModuleCode());
ConvertBean.serviceModelInitialize(workCellModule, userInfo);
workCellModuleRepository.insert(workCellModule); workCellModuleRepository.insert(workCellModule);
} }
} }

Loading…
Cancel
Save