forked from I3-YF/i3plus-mes-yfai
同步脚本本地备份
parent
c5987d3bd8
commit
215b62a601
@ -0,0 +1,83 @@
|
||||
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService
|
||||
import cn.estsh.i3plus.platform.common.tool.MathOperation
|
||||
import cn.estsh.i3plus.platform.common.tool.TimeTool
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
|
||||
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement
|
||||
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
|
||||
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel
|
||||
import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository
|
||||
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.util.StringUtils
|
||||
|
||||
/**
|
||||
* @Description : MES2PISCES-发运结果回传芜湖工厂
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/11/29 15:18
|
||||
* @Modify:
|
||||
**/
|
||||
class MesToPiscesMesJisShippingWuhu {
|
||||
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesJisShippingWuhu.class)
|
||||
|
||||
@Autowired
|
||||
private MesShippingOrderManagementRepository mesShippingOrderManagementRepository;
|
||||
|
||||
@Autowired
|
||||
private ISyncFuncService syncFuncService;
|
||||
|
||||
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
|
||||
if (srcData == null || srcData.size() == 0) {
|
||||
return srcData
|
||||
}
|
||||
Map<String, MesShippingOrderManagement> mesPartShippingGroupMap = new HashMap<>();
|
||||
String organizeCode = mapper.getOrganizeCode();
|
||||
Map<String, Map<String, Object>> destData = new HashMap<>();
|
||||
for (Map<String, Object> rowMap : srcData) {
|
||||
if (!StringUtils.isEmpty(rowMap.get("shipping_order_code"))) {
|
||||
MesShippingOrderManagement mesShipping = getMesShipping(organizeCode, String.valueOf(rowMap.get("shipping_order_code")), mesPartShippingGroupMap)
|
||||
if (!Objects.isNull(mesShipping)) {
|
||||
rowMap.put("HANDLE_FID", mesShipping.getFid())
|
||||
} else {
|
||||
LOGGER.info("shipping_order_code:{}信息不存在", String.valueOf(rowMap.get("shipping_order_code")))
|
||||
}
|
||||
}
|
||||
//数据汇总
|
||||
String key = String.valueOf(rowMap.get("HANDLE_FID")) + String.valueOf(rowMap.get("part_no"))
|
||||
if (destData.containsKey(key)) {
|
||||
destData.get(key).put("quantity_per_car", MathOperation.add(Double.valueOf(destData.get(key).get("quantity_per_car") + ""), Double.valueOf(rowMap.get("quantity_per_car") + "")))
|
||||
} else {
|
||||
destData.put(key, rowMap)
|
||||
}
|
||||
}
|
||||
//TRANS_ID赋值
|
||||
if(mapper.getDestColumnMapping().contains("TRANS_ID")){
|
||||
Date date = new Date();
|
||||
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel("JIS_SHIPPING_TRANS_ID");
|
||||
orderSeqSerialNoModel.setYear(MesExtEnumUtil.YEAR_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getYear(date))))
|
||||
orderSeqSerialNoModel.setMonth(MesExtEnumUtil.MONTH_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getMonth(date))))
|
||||
orderSeqSerialNoModel.setDay(TimeTool.getDay(date))
|
||||
List<String> resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel.organizeCode(organizeCode), "MES2PISCES发运单", organizeCode, srcData.size()).getResultList();
|
||||
int index = 0;
|
||||
for (Map<String, Object> rowMap : srcData) {
|
||||
rowMap.put("TRANS_ID", resultList.get(index));
|
||||
index++;
|
||||
}
|
||||
}
|
||||
return new ArrayList<>(destData.values());
|
||||
}
|
||||
|
||||
private MesShippingOrderManagement getMesShipping(String organizeCode, String shippingCode, Map<String, MesShippingOrderManagement> mesPartShippingGroupMap) {
|
||||
if (Objects.isNull(mesPartShippingGroupMap) || !mesPartShippingGroupMap.containsKey(shippingCode)) {
|
||||
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(shippingCode, "shippingCode", ddlPackBean);
|
||||
mesPartShippingGroupMap.put(shippingCode, mesShippingOrderManagementRepository.getByProperty(ddlPackBean))
|
||||
}
|
||||
return mesPartShippingGroupMap.get(shippingCode);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue