汇总工单信息发送给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 {
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;
@Override
public List<MesWorkOrderModel> sumMesWorkOrderQtyToSap(String organizeCode, List<Integer> statusList,String lastSendToSapTime) {
StringBuffer hql = new StringBuffer("select organize_Code as organizeCode,part_No as partNo, plan_Start_Time as planStartTime, product_Version as productVersion, " +
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, 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 " +
" 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_Status not in(:statusList) group by organize_code,part_No, date_format( plan_Start_Time, '%Y-%m-%d' ), product_Version ");
" 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 ");
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);
query.setParameter("modifyDatetime", lastSendToSapTime);
query.setParameter("partNoList", partNoList);
query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
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.MesException;
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.apiservice.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -39,6 +40,7 @@ import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
@Slf4j
@ -1271,8 +1273,17 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
List<Integer> statusList = new ArrayList<>();
statusList.add(MesExtEnumUtil.ORDER_STATUS.CREATE.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
@ -1415,7 +1426,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
return mesWorkOrderList;
}
public List<MesWorkOrderToWms> saveMesWorkOrderToWms(MesWorkOrder mesWorkOrder, List<MesBom> mesBomList) {
List<MesWorkOrderToWms> mesWorkOrderToWmsList = new ArrayList<>();
MesWorkOrderToWms mesWorkOrderToWms = null;
@ -1462,7 +1473,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
// }
// mesProductOffLineService.insertBatch(mesProductOffLineList);
//保存数据
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
MesProductOffLine newMesProductOffLine;
for (MesProductionRecord produceSn : mesProductionRecordList) {

Loading…
Cancel
Save