汇总工单信息发送给SAP

tags/yfai-mes-ext-v1.6
jun 9 months ago
parent 95759dd876
commit 2935bd40f7

@ -13,5 +13,5 @@ import java.util.List;
**/ **/
public interface IMesWorkOrderDao { public interface IMesWorkOrderDao {
List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList,String lastSendToSapTime); List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList,List<String> partNoList);
} }

@ -31,18 +31,18 @@ public class MesWorkOrderDaoImpl implements IMesWorkOrderDao {
private EntityManager entityManager; private EntityManager entityManager;
@Override @Override
public List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList,String lastSendToSapTime) { public List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList,List<String> partNoList) {
StringBuffer hql = new StringBuffer("select organize_Code as organizeCode,part_No as partNo, plan_Start_Time as planStartTime, product_Version as productVersion, " + StringBuffer hql = new StringBuffer("select organize_Code as organizeCode,part_No as partNo, date_format(plan_start_time, '%Y-%m-%d' ) as planStartTime, product_Version as productVersion, " +
" sum( CASE WHEN work_Order_Status = 40 THEN complete_Qty ELSE qty END ) AS qty " + " sum( CASE WHEN work_Order_Status = 40 THEN complete_Qty ELSE qty END ) AS qty " +
" from Mes_Work_Order where is_Deleted=:isDeleted and is_Valid = :isValid and organize_Code = :organizeCode " + " from Mes_Work_Order where is_Deleted=:isDeleted and is_Valid = :isValid and organize_Code = :organizeCode " +
" and work_order_type = 20 and order_flag !='P' and modify_date_time >= :modifyDatetime "+ " and work_order_type = 20 and order_flag !='P' and part_no in (:partNoList) "+
" and work_Order_Status not in(:statusList) group by organize_code,part_No, date_format( plan_Start_Time, '%Y-%m-%d' ), product_Version "); " and work_Order_Status not in(:statusList) group by organize_code,part_No, date_format(plan_start_time, '%Y-%m-%d' ), product_Version ");
Query query = entityManager.createNativeQuery(hql.toString()); Query query = entityManager.createNativeQuery(hql.toString());
query.setParameter("organizeCode", organizeCode); query.setParameter("organizeCode", organizeCode);
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("statusList", statusList); query.setParameter("statusList", statusList);
query.setParameter("modifyDatetime", lastSendToSapTime); query.setParameter("partNoList", partNoList);
query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<HashMap<String, Object>> hashMaps = query.getResultList(); List<HashMap<String, Object>> hashMaps = query.getResultList();

@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt; import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException; import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
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.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.apiservice.util.DateUtil; import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -39,6 +40,7 @@ import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service @Service
@Slf4j @Slf4j
@ -1271,8 +1273,17 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
List<Integer> statusList = new ArrayList<>(); List<Integer> statusList = new ArrayList<>();
statusList.add(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue()); statusList.add(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
// statusList.add(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()); // statusList.add(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(),MesExtConstWords.WORK_ORDER_TYPE,packBean);
DdlPreparedPack.getStringNoEqualPack(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue(),"orderFlag",packBean);
DdlPreparedPack.getNotInPack(statusList, MesExtConstWords.WORK_ORDER_STATUS, packBean);
DdlPreparedPack.getStringBiggerPack(lastSendToSapTime,"modifyDatetime",packBean);
List<MesWorkOrder> mesWorkOrderList = mesWorkOrderRDao.findByHqlWhere(packBean);
if(CollectionUtils.isEmpty(mesWorkOrderList)) return null;
List<String> partNoList = mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).filter(partNo -> !StringUtil.isEmptyAndNull(partNo)).distinct().collect(Collectors.toList());
if(CollectionUtils.isEmpty(partNoList)) return null;
//查询汇总工单数量 //查询汇总工单数量
return mesWorkOrderDao.sumMesWorkOrderQtyToSap(organizeCode, statusList,lastSendToSapTime); return mesWorkOrderDao.sumMesWorkOrderQtyToSap(organizeCode, statusList,partNoList);
} }
@Override @Override

Loading…
Cancel
Save