汇总工单给SAP 时间分组方式,关闭状态数量逻辑变更

tags/yfai-mes-ext-v1.5
gsz 9 months ago
parent 73a11a618a
commit 458b24957d

@ -1,14 +1,19 @@
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanUtil;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderModel;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.SQLQuery;
import org.hibernate.transform.Transformers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
@ -27,15 +32,28 @@ public class MesWorkOrderDaoImpl implements IMesWorkOrderDao {
@Override
public List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList) {
StringBuffer hql = new StringBuffer("select new " + MesWorkOrderModel.class.getName() + "(partNo,planStartTime,productVersion,sum(case when workOrderStatus = 40 then 0 else qty end) as sumQty) " +
" from MesWorkOrder where isDeleted=:isDeleted and isValid = :isValid and organizeCode = :organizeCode " +
" and workOrderType = 20 "+
"and workOrderStatus not in(:statusList) group by partNo,planStartTime,productVersion");
Query query = entityManager.createQuery(hql.toString(), MesWorkOrderModel.class);
StringBuffer hql = new StringBuffer("select part_No as partNo, plan_Start_Time as planStartTime, product_Version as productVersion, " +
" sum( CASE WHEN work_Order_Status = 40 THEN complete_Qty ELSE qty END ) AS sumQty " +
" from Mes_Work_Order where is_Deleted=:isDeleted and is_Valid = :isValid and organize_Code = :organizeCode " +
" and work_order_type = 20 "+
"and work_Order_Status not in(:statusList) group by part_No, date_format( plan_Start_Time, '%Y-%m-%d' ), product_Version ");
Query query = entityManager.createNativeQuery(hql.toString());
query.setParameter("organizeCode", organizeCode);
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("statusList", statusList);
return query.getResultList();
query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<HashMap<String, Object>> hashMaps = query.getResultList();
List<MesWorkOrderModel> mesWorkOrderList =new ArrayList<>();
for (HashMap<String, Object> hashMap : hashMaps) {
try {
mesWorkOrderList.add((MesWorkOrderModel) BeanUtil.populateBean(hashMap, MesWorkOrderModel.class));
} catch (Exception e) {
e.printStackTrace();
}
}
return mesWorkOrderList;
}
}

Loading…
Cancel
Save