tags/yfai-mes-ext-v1.0
王杰 1 year ago
parent 2e7cf645f9
commit 2538d2e917

@ -55,7 +55,7 @@ public class JxCenterWorkingBoardDispatchService implements IJxCenterWorkingBoar
case "mobile01":
return new JxCenterWorkingBoardWatchService(new JxCenterWorkingBoardMobileOneService(
new JxCenterWorkingBoardProxyAllCenterService(), new JxCenterWorkingBoardProxyStandardWorkService(), new JxCenterWorkingBoardProxyProductionScheduleService(), new JxCenterWorkingBoardProxyEnergyRateService(),
new JxCenterWorkingBoardProxyOrderService(new JxCenterWorkingBoardProxyOutPutService(new JxCenterWorkingBoardProxySpcrService()))
new JxCenterWorkingBoardProxyOrderService(new JxCenterWorkingBoardProxyOutPutService(new JxCenterWorkingBoardProxySpcrService(new JxCenterWorkingBoardProxySpcPmService())))
)).queryCenterWorkingBoardData(dataMap);
default:

@ -2,10 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx;
import cn.estsh.i3plus.ext.mes.api.base.bu.IBusiConfigService;
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxCenterWorkingBoardService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesBusiConfig;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesOutPutStatistics;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesShiftProdCenterRecord;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesWorkCenterExt;
import cn.estsh.i3plus.ext.mes.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pojo.model.jx.JxCenterWorkingBoardBusiModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
@ -77,6 +74,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo
dataMap.remove(MesWorkOrder.class.getSimpleName());
dataMap.remove(MesOutPutStatistics.class.getSimpleName());
dataMap.remove(MesShiftProdCenterRecord.class.getSimpleName());
dataMap.remove(MesShiftProdCenterPm.class.getSimpleName());
dataMap.remove(MesExtConstWords.START_TIME);
dataMap.remove(MesExtConstWords.END_TIME);
dataMap.remove(MesExtConstWords.WORK_TIME);
@ -121,6 +119,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo
Map<String, List<MesWorkOrder>> centerMap4OrderFilter = (Map<String, List<MesWorkOrder>>) dataMap.get(MesWorkOrder.class.getSimpleName());
Map<String, List<MesOutPutStatistics>> centerMap4OutPutFilter = (Map<String, List<MesOutPutStatistics>>) dataMap.get(MesOutPutStatistics.class.getSimpleName());
List<MesShiftProdCenterRecord> shiftProdCenterRecordList = (List<MesShiftProdCenterRecord>) dataMap.get(MesShiftProdCenterRecord.class.getSimpleName());
List<MesShiftProdCenterPm> shiftProdCenterPmList = (List<MesShiftProdCenterPm>) dataMap.get(MesShiftProdCenterPm.class.getSimpleName());
Double planQtyAmount = new Double(0);
Double qtyAmount = new Double(0);
@ -149,7 +148,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo
getBigDecimalPercent(divThenMul100Format1RoundHalfUp(qty, planQty)));
psData2.addChartData(workCenterExtDb.getWorkCenterCode(),
getRealWorkQty(shiftProdCenterRecordList, workCenterExtDb),
getRealWorkQty(shiftProdCenterPmList, workCenterExtDb),
getNonWorkingTime(shiftProdCenterRecordList, workCenterExtDb, curTime));
}
@ -173,10 +172,9 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo
return busiConfig;
}
private Double getRealWorkQty(List<MesShiftProdCenterRecord> shiftProdCenterRecordList, MesWorkCenterExt workCenterExtDb) {
Optional<MesShiftProdCenterRecord> optional = CollectionUtils.isEmpty(shiftProdCenterRecordList) ? null :
shiftProdCenterRecordList.stream().filter(o -> (null != o && MesExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME.getValue() == o.getProdType() &&
o.getWorkCenterCode().equals(workCenterExtDb.getWorkCenterCode()) && o.getWorkTime().equals(workCenterExtDb.getWorkTime()) && o.getShiftCode().equals(workCenterExtDb.getWorkTime()))).findFirst();
private Double getRealWorkQty(List<MesShiftProdCenterPm> shiftProdCenterPmList, MesWorkCenterExt workCenterExtDb) {
Optional<MesShiftProdCenterPm> optional = CollectionUtils.isEmpty(shiftProdCenterPmList) ? null :
shiftProdCenterPmList.stream().filter(o -> (null != o && o.getWorkCenterCode().equals(workCenterExtDb.getWorkCenterCode()) && o.getWorkTime().equals(workCenterExtDb.getWorkTime()) && o.getShiftCode().equals(workCenterExtDb.getShiftCode()))).findFirst();
return (null == optional || !optional.isPresent()) ? new Double(0) : optional.get().getWorkerQty();
}

@ -0,0 +1,60 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx;
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxCenterWorkingBoardService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesShiftProdCenterPm;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesShiftProdCenterPmRepository;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Map;
/**
* @Author : wangjie
* @CreateDate : 2022-02-15
* @Modify:
**/
@Slf4j
public class JxCenterWorkingBoardProxySpcPmService implements IJxCenterWorkingBoardService {
private MesShiftProdCenterPmRepository shiftProdCenterPmRepository;
public JxCenterWorkingBoardProxySpcPmService() {
this.shiftProdCenterPmRepository = (MesShiftProdCenterPmRepository) SpringContextsUtil.getBean("mesShiftProdCenterPmRepository");
}
@Override
public Map<String, Object> queryCenterWorkingBoardData(Map<String, Object> dataMap) {
String organizeCode = (String) dataMap.get(MesExtConstWords.ORGANIZE_CODE);
String workCenterCode = (String) dataMap.get(MesExtConstWords.WORK_CENTER_CODE);
String workTime = (String) dataMap.get(MesExtConstWords.WORK_TIME);
String shiftCode = (String) dataMap.get(MesExtConstWords.SHIFT_CODE);
String startTime = (String) dataMap.get(MesExtConstWords.START_TIME);
String endTime = (String) dataMap.get(MesExtConstWords.END_TIME);
List<MesShiftProdCenterPm> shiftProdCenterPmList = null;
if (!StringUtils.isEmpty(workCenterCode) && !StringUtils.isEmpty(workTime) && !StringUtils.isEmpty(shiftCode))
shiftProdCenterPmList = shiftProdCenterPmRepository.findByProperty(
new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID, MesExtConstWords.WORK_CENTER_CODE, MesExtConstWords.WORK_TIME, MesExtConstWords.SHIFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode, workTime, shiftCode});
else if (!StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.timeBuilder(startTime, endTime, MesExtConstWords.WORK_TIME, true, true, packBean);
shiftProdCenterPmList = shiftProdCenterPmRepository.findByHqlWhere(packBean);
}
if (CollectionUtils.isEmpty(shiftProdCenterPmList)) return dataMap;
dataMap.put(MesShiftProdCenterPm.class.getSimpleName(), shiftProdCenterPmList);
return dataMap;
}
}

@ -23,15 +23,22 @@ import java.util.Map;
@Slf4j
public class JxCenterWorkingBoardProxySpcrService implements IJxCenterWorkingBoardService {
private IJxCenterWorkingBoardService proxyService;
private MesShiftProdCenterRecordRepository shiftProdCenterRecordRepository;
public JxCenterWorkingBoardProxySpcrService() {
this.shiftProdCenterRecordRepository = (MesShiftProdCenterRecordRepository) SpringContextsUtil.getBean("mesShiftProdCenterRecordRepository");
public JxCenterWorkingBoardProxySpcrService() {}
public JxCenterWorkingBoardProxySpcrService(IJxCenterWorkingBoardService proxyService) {
this.proxyService = proxyService;
}
@Override
public Map<String, Object> queryCenterWorkingBoardData(Map<String, Object> dataMap) {
if (null != proxyService) proxyService.queryCenterWorkingBoardData(dataMap);
this.shiftProdCenterRecordRepository = (MesShiftProdCenterRecordRepository) SpringContextsUtil.getBean("mesShiftProdCenterRecordRepository");
String organizeCode = (String) dataMap.get(MesExtConstWords.ORGANIZE_CODE);
String workCenterCode = (String) dataMap.get(MesExtConstWords.WORK_CENTER_CODE);
String workTime = (String) dataMap.get(MesExtConstWords.WORK_TIME);

Loading…
Cancel
Save