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

master
臧学普 6 months ago
commit a3c5a034fe

@ -40,5 +40,8 @@ public interface IMesEquipmentExtService {
@ApiOperation(value = "根据设备代码和通道查询设备通道信息") @ApiOperation(value = "根据设备代码和通道查询设备通道信息")
MesEquipmentChannel getMesEquipmentChannel(String organizeCode, String equipmentCode,String channel); MesEquipmentChannel getMesEquipmentChannel(String organizeCode, String equipmentCode,String channel);
@ApiOperation(value = "根据ID查询设备信息")
MesEquipment getMesEquipmentByEquipId(String organizeCode, Integer equipId);
} }

@ -1,11 +1,14 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesConfig; import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -20,6 +23,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
/** /**
* @Description : * @Description :
* @Reference : * @Reference :
@ -42,6 +47,9 @@ public class MesBusiController {
@Autowired @Autowired
private IMesConfigService mesConfigService; private IMesConfigService mesConfigService;
@Autowired
private IMesEquipmentExtService mesEquipmentExtService;
@GetMapping("/mesProduceSn/query") @GetMapping("/mesProduceSn/query")
@ApiOperation(value = "查询条码信息") @ApiOperation(value = "查询条码信息")
public ResultBean queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) { public ResultBean queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) {
@ -81,4 +89,22 @@ public class MesBusiController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} }
} }
@GetMapping("/mesEquipment/getByEquipId")
@ApiOperation(value = "根据设备ID")
public ResultBean queryMesEquipment(String organizeCode, Integer equipId) {
try {
ValidatorBean.checkNotNull(organizeCode, "工厂代码不能为空");
ValidatorBean.checkNotNull(equipId, "设备ID不能为空");
MesEquipment mesEquipmentByEquipId = mesEquipmentExtService.getMesEquipmentByEquipId(organizeCode, equipId);
if(Objects.isNull(mesEquipmentByEquipId)){
MesPcnException.throwMesBusiException("设备ID【%s】设备信息不存在",equipId);
}
return ResultBean.success("查询成功").setResultObject(mesEquipmentByEquipId);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
} }

@ -147,4 +147,12 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.EQUIPMENT_CODE, MesPcnExtConstWords.CHANNEL}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.EQUIPMENT_CODE, MesPcnExtConstWords.CHANNEL},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode, channel}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode, channel});
} }
@Override
public MesEquipment getMesEquipmentByEquipId(String organizeCode, Integer equipId) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId)) return null;
return equipmentRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.EQUIP_ID},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipId});
}
} }

@ -8,8 +8,10 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesEquipmentSpotCheckModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesEquipmentSpotCheckModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSpotCheckOrderModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSpotCheckOrderModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud; import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.pcn.util.DateUtil;
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;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
@ -29,7 +31,6 @@ import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -90,9 +91,9 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
public ListPager<MesSpotCheckOrder> querySpotCheckOrder(MesSpotCheckOrder spotCheckOrder, Pager pager) { public ListPager<MesSpotCheckOrder> querySpotCheckOrder(MesSpotCheckOrder spotCheckOrder, Pager pager) {
DdlPackBean packBean = getDdlPackBean(spotCheckOrder); DdlPackBean packBean = getDdlPackBean(spotCheckOrder);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
pager = PagerHelper.getPager(pager, spotCheckOrderRepository.findByHqlWhereCount(packBean)); pager = PagerHelper.getPager(pager, spotCheckOrderRepository.findByHqlWhereCount(packBean));
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue(),CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"status","createDatetime"}, packBean);
List<MesSpotCheckOrder> resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager); List<MesSpotCheckOrder> resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager);
if (CollectionUtils.isEmpty(resultList)) { if (CollectionUtils.isEmpty(resultList)) {
return new ListPager<>(resultList, pager); return new ListPager<>(resultList, pager);
@ -230,13 +231,19 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
//获取设定值设备数据 //获取设定值设备数据
List<MesEquipVariableCollectContext> setEquipmentLogList = new ArrayList<>(); List<MesEquipVariableCollectContext> setEquipmentLogList = new ArrayList<>();
for (List<Long> tmp : ListUtils.partition(setEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) { for (List<Long> tmp : ListUtils.partition(setEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) {
setEquipmentLogList.addAll(mesEquipmentLogExtService.getEquipmentLogCollectList(org, mesEquipment.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue(), tmp)); List<MesEquipVariableCollectContext> equipmentLogCollectList = mesEquipmentLogExtService.getEquipmentLogCollectList(org, mesEquipment.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue(), tmp);
if(!CollectionUtils.isEmpty(equipmentLogCollectList)){
setEquipmentLogList.addAll(equipmentLogCollectList);
}
} }
//设定值地址数据Map //设定值地址数据Map
setMap = setEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipVariableCollectContext::getEquipVariableId)); setMap = setEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipVariableCollectContext::getEquipVariableId));
for (List<Long> tmp : ListUtils.partition(realEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) { for (List<Long> tmp : ListUtils.partition(realEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) {
realEquipmentLogList.addAll(mesEquipmentLogExtService.getEquipmentLogCollectList(org,mesEquipment.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue(), tmp)); List<MesEquipVariableCollectContext> equipmentLogCollectList = mesEquipmentLogExtService.getEquipmentLogCollectList(org, mesEquipment.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue(), tmp);
if(!CollectionUtils.isEmpty(equipmentLogCollectList)){
realEquipmentLogList.addAll(equipmentLogCollectList);
}
} }
//实际值地址数据Map //实际值地址数据Map
realMap = realEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipVariableCollectContext::getEquipVariableId)); realMap = realEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipVariableCollectContext::getEquipVariableId));
@ -609,15 +616,13 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
} }
private DdlPackBean getDdlPackBean(MesSpotCheckOrder spotCheckOrder) { private DdlPackBean getDdlPackBean(MesSpotCheckOrder spotCheckOrder) {
String createDateTime = TimeTool.pareDateToString(DateUtil.addDays(new Date(), -(Objects.isNull(spotCheckOrder.getDays()) ? MesPcnExtConstWords.SEVEN : spotCheckOrder.getDays())));
List<Integer> statusList = new ArrayList<>();
statusList.add(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue());
statusList.add(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.COMPLETE.getValue());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode());
DdlPreparedPack.getStringLikerPack(spotCheckOrder.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringLikerPack(spotCheckOrder.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(spotCheckOrder.getWorkCellCode(), "workCellCode", packBean); DdlPreparedPack.getStringLikerPack(spotCheckOrder.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringLikerPack(spotCheckOrder.getSpotCheckOrderNo(), "spotCheckOrderNo", packBean); DdlPreparedPack.getStringLikerPack(spotCheckOrder.getSpotCheckOrderNo(), "spotCheckOrderNo", packBean);
DdlPreparedPack.getInPackList(statusList, "status", packBean); DdlPreparedPack.getStringEqualPack(spotCheckOrder.getEquipCode(), "equipCode", packBean);
packBean.setWhereAppend(packBean.getWhereAppend() + String.format(" and (model.status = %s or (model.status = %s and model.createDatetime >= %s))", MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue(), MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.COMPLETE.getValue(), createDateTime));
return packBean; return packBean;
} }

@ -402,6 +402,8 @@ public class MesPcnExtConstWords {
public static final Integer THREE = 3; public static final Integer THREE = 3;
//4 //4
public static final Integer FOUR = 4; public static final Integer FOUR = 4;
//7
public static final Integer SEVEN = 7;
//14 //14
public static final Integer FOURTEEN = 14; public static final Integer FOURTEEN = 14;
//60 //60

Loading…
Cancel
Save