forked from I3-YF/i3plus-mes-yfai
问题清单修复
parent
a6c1d5a485
commit
763ad4546c
@ -0,0 +1,66 @@
|
||||
import cn.estsh.i3plus.platform.plugin.datasource.DynamicDataSourceProxy
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg
|
||||
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
|
||||
import cn.estsh.i3plus.pojo.mes.repository.IMesCrossOrganizeCfgRepository
|
||||
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.jdbc.core.namedparam.NamedParameterJdbcTemplate
|
||||
import org.springframework.util.CollectionUtils
|
||||
|
||||
import javax.annotation.Resource
|
||||
|
||||
/**
|
||||
* @Description : 跨工厂防错
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/7/22 11:03
|
||||
* @Modify:
|
||||
* */
|
||||
class MesToPiscesProductSn {
|
||||
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesProductSn.class)
|
||||
|
||||
@Autowired
|
||||
private IMesCrossOrganizeCfgRepository mesCrossOrganizeCfgRepository;
|
||||
|
||||
@Resource(name = "mesDataSource")
|
||||
private DynamicDataSourceProxy mesDataSource;
|
||||
|
||||
def readData(MesInterfaceDataMapper mapper) throws Exception {
|
||||
String organizeCode = mapper.getOrganizeCode();
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.CROSS_ORGANIZE_CFG_TYPE.REVERSE_SYNC.getValue(), "type", packBean)
|
||||
List<MesCrossOrganizeCfg> crossOrganizeCfgList = mesCrossOrganizeCfgRepository.findByHqlWhere(packBean);
|
||||
if (CollectionUtils.isEmpty(crossOrganizeCfgList)) {
|
||||
LOGGER.info("未查询到跨工厂配置");
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<Map<String, Object>> srcData = new ArrayList<>();
|
||||
//循环处理数据
|
||||
for (MesCrossOrganizeCfg crossOrganizeCfg : crossOrganizeCfgList) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("srcOrganizeCode", crossOrganizeCfg.getOrganizeCode())
|
||||
params.put("partNo", crossOrganizeCfg.getPartNo())
|
||||
String sql = "select * from " + mapper.getSrcTableName() + " where organize_code = :srcOrganizeCode and part_no = :partNo and " + mapper.getSrcWhere() + " order by " + mapper.getSrcOrderBy() + " limit " + mapper.getSrcGetLimit()
|
||||
//查询待同步的数据
|
||||
List<Map<String, Object>> dataList = queryDataTable(sql, params);
|
||||
if (!CollectionUtils.isEmpty(dataList)) {
|
||||
//目标工厂
|
||||
for (Map<String, Object> rowMap : dataList) {
|
||||
rowMap.put("DEST_ORGANIZE_CODE", crossOrganizeCfg.getSrcOrganizeCode())
|
||||
}
|
||||
srcData.addAll(dataList);
|
||||
}
|
||||
}
|
||||
return srcData;
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> queryDataTable(String sql, Map<String, Object> params) {
|
||||
NamedParameterJdbcTemplate namedJdbcTemplate = new NamedParameterJdbcTemplate(mesDataSource.getDataSource())
|
||||
return namedJdbcTemplate.queryForList(sql, params);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue