You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
i3plus-mes-yfai/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesLoadingListDe...

84 lines
3.9 KiB
Groovy

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesLoadingListRepository
import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.util.StringUtils
/**
* @Description : MES2PISCES 装车单明细
* @Reference :
* @Author : gsz
* @CreateDate 2024/7/14 10:59
* @Modify:
* */
class MesToPiscesMesLoadingListDetail {
public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesLoadingListDetail.class)
@Autowired
private MesLoadingListRepository mesLoadingListRepository;
@Autowired
private MesShippingOrderManagementRepository mesShippingRepository;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
String organizeCode = mapper.getOrganizeCode();
Map<String, MesShippingOrderManagement> mesProductionRecordMap = new HashMap<>();
Map<Long, MesLoadingList> mesLoadingListMap = new HashMap<>();
for (Map<String, Object> rowMap : srcData) {
//发运单
if (!StringUtils.isEmpty(rowMap.get("shipping_code"))) {
MesShippingOrderManagement mesShippingOrderManagement = getShippingCode(organizeCode,String.valueOf(rowMap.get("shipping_code")),mesProductionRecordMap)
if (!Objects.isNull(mesShippingOrderManagement)) {
rowMap.put("SHIPPING_FID", mesShippingOrderManagement.getFid())
} else {
rowMap.put("SHIPPING_FID", null)
LOGGER.info("发运单shipping_code{},信息不存在", String.valueOf(rowMap.get("shipping_code")))
}
}else{
rowMap.put("SHIPPING_FID", null)
}
//装车单
if (!StringUtils.isEmpty(rowMap.get("pid"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("pid")));
if (Objects.isNull(mesLoadingListMap) || !mesLoadingListMap.containsKey(id)) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",packBean)
mesLoadingListMap.put(id, mesLoadingListRepository.getByProperty(packBean))
}
MesLoadingList mesLoadingList = mesLoadingListMap.get(id)
if (!Objects.isNull(mesLoadingList)) {
rowMap.put("LOADING_LIST_FID", mesLoadingList.getFid())
} else {
rowMap.put("LOADING_LIST_FID", null)
LOGGER.info("装车id{},信息不存在", String.valueOf(rowMap.get("pid")))
}
}else{
rowMap.put("LOADING_LIST_FID", null)
}
}
return srcData;
}
private MesShippingOrderManagement getShippingCode(String organizeCode, String shippingCode, Map<String, MesShippingOrderManagement> mesShippingOrderManagementMap) {
if (Objects.isNull(mesShippingOrderManagementMap) || !mesShippingOrderManagementMap.containsKey(shippingCode)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(shippingCode, "shippingCode", ddlPackBean);
mesShippingOrderManagementMap.put(shippingCode, mesShippingRepository.getByProperty(ddlPackBean))
}
return mesShippingOrderManagementMap.get(shippingCode);
}
}