手动切库清空数据源

master
ShiChangzhou 7 months ago
parent 3e57028c76
commit fdbb3fba08

@ -289,7 +289,9 @@ public class BoardServiceImpl implements IBoardService {
result.put("equipmentNumber", equipmentNumber); result.put("equipmentNumber", equipmentNumber);
} catch (Exception e) { } catch (Exception e) {
logger.error("service == parkEquipmentNumber == exception:" + e.getMessage()); logger.error("service == parkEquipmentNumber == exception:" + e.getMessage());
} }finally {
DynamicDataSourceContextHolder.poll();
}
return result; return result;
} }
@ -339,6 +341,8 @@ public class BoardServiceImpl implements IBoardService {
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("service == parkEnergyRanking == exception:" + e.getMessage()); logger.error("service == parkEnergyRanking == exception:" + e.getMessage());
} finally {
DynamicDataSourceContextHolder.poll();
} }
return result; return result;
} }

@ -76,16 +76,16 @@ public class EmsAPIServiceImpl implements IEmsApiService {
poolName = loginUser.getPoolName(); poolName = loginUser.getPoolName();
} }
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
// 多房间抄表, roomCode逗号分割
if (StringUtils.isNotEmpty(emsApiVo.getRoomCode())) {
CbsMonitorReport monitorReport = new CbsMonitorReport();
monitorReport.setRoomCode(emsApiVo.getRoomCode());
List<CbsMonitorReport> cbsMonitorReports = cbsMonitorReportMapper.selectCbsMonitorReportList(monitorReport);
List<String> monitorIdList = cbsMonitorReports.stream().map(CbsMonitorReport::getMonitorId).collect(Collectors.toList());
emsApiVo.setMonitorIdList(monitorIdList);
}
try { try {
// 多房间抄表, roomCode逗号分割
if (StringUtils.isNotEmpty(emsApiVo.getRoomCode())) {
CbsMonitorReport monitorReport = new CbsMonitorReport();
monitorReport.setRoomCode(emsApiVo.getRoomCode());
List<CbsMonitorReport> cbsMonitorReports = cbsMonitorReportMapper.selectCbsMonitorReportList(monitorReport);
List<String> monitorIdList = cbsMonitorReports.stream().map(CbsMonitorReport::getMonitorId).collect(Collectors.toList());
emsApiVo.setMonitorIdList(monitorIdList);
}
//获取水电实时数据 //获取水电实时数据
List<CbsMonitorReport> cbsMonitorReportList = this.getRealTimeData(emsApiVo); List<CbsMonitorReport> cbsMonitorReportList = this.getRealTimeData(emsApiVo);
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
@ -132,6 +132,8 @@ public class EmsAPIServiceImpl implements IEmsApiService {
} catch (Exception e) { } catch (Exception e) {
logger.error("service == getMeterReadingData == exception:", e); logger.error("service == getMeterReadingData == exception:", e);
throw new BaseException("service == getMeterReadingData == exception:" + e); throw new BaseException("service == getMeterReadingData == exception:" + e);
}finally {
DynamicDataSourceContextHolder.poll();
} }
} }
@ -254,42 +256,45 @@ public class EmsAPIServiceImpl implements IEmsApiService {
poolName = loginUser.getPoolName(); poolName = loginUser.getPoolName();
} }
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
BaseMonitorInfo monitorInfo = new BaseMonitorInfo();
monitorInfo.setPhysicalCode(physicalCode);
List<BaseMonitorInfo> monitorInfoList = monitorInfo1Mapper.selectBaseMonitorInfoList(monitorInfo);
if (monitorInfoList.size() == 0) {
throw new ServiceException("service == modifyDeviceInformation == exception:该物理编号:" + physicalCode + "能源系统未维护!");
}
BaseMonitorInfo monitor = monitorInfoList.get(0);
BaseMonitorInfo monitorInfo = new BaseMonitorInfo(); StringBuilder buffer = new StringBuilder();
monitorInfo.setPhysicalCode(physicalCode); //0-新增
List<BaseMonitorInfo> monitorInfoList = monitorInfo1Mapper.selectBaseMonitorInfoList(monitorInfo); if (modifyType == 0L) {
if (monitorInfoList.size() == 0) { monitor.setRoomCode(emsApiVo.getRoomCode());
throw new ServiceException("service == modifyDeviceInformation == exception:该物理编号:" + physicalCode + "能源系统未维护!"); monitor.setRoomName(emsApiVo.getRoomName());
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("新增CBS设备信息接口|物理编号:").append(physicalCode);
}
//1-删除
if (modifyType == 1L) {
monitor.setRoomCode("");
monitor.setRoomName("");
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("删除CBS设备信息接口|物理编号:").append(physicalCode);
}
//2-修改
if (modifyType == 2L) {
monitor.setRoomCode(emsApiVo.getRoomCode());
monitor.setRoomName(emsApiVo.getRoomName());
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("修改CBS设备信息接口|物理编号:").append(physicalCode);
}
logger.info("service == modifyDeviceInformation == Info:" + emsApiVo + monitor);
return buffer.append("|调用成功!").toString();
} finally {
DynamicDataSourceContextHolder.poll();
} }
BaseMonitorInfo monitor = monitorInfoList.get(0);
StringBuilder buffer = new StringBuilder();
//0-新增
if (modifyType == 0L) {
monitor.setRoomCode(emsApiVo.getRoomCode());
monitor.setRoomName(emsApiVo.getRoomName());
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("新增CBS设备信息接口|物理编号:").append(physicalCode);
}
//1-删除
if (modifyType == 1L) {
monitor.setRoomCode("");
monitor.setRoomName("");
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("删除CBS设备信息接口|物理编号:").append(physicalCode);
}
//2-修改
if (modifyType == 2L) {
monitor.setRoomCode(emsApiVo.getRoomCode());
monitor.setRoomName(emsApiVo.getRoomName());
monitorInfo1Mapper.updateBaseMonitorInfo(monitor);
buffer.append("修改CBS设备信息接口|物理编号:").append(physicalCode);
}
logger.info("service == modifyDeviceInformation == Info:" + emsApiVo + monitor);
return buffer.append("|调用成功!").toString();
} }

@ -36,17 +36,21 @@ public class MesBoradServiceImpl implements IMesBoradService {
@Override @Override
public AjaxResult finishProductBoard(BoardDTO boardDTO) { public AjaxResult finishProductBoard(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
Map map = new HashMap(); try {
//当日成品计划数量 Map map = new HashMap();
String sumplanquantity = mesMapper.sumPlanQuantity(); //当日成品计划数量
String sumFinshQuantity = mesMapper.sumFinshQuantity(); String sumplanquantity = mesMapper.sumPlanQuantity();
List<Map<String, String>> daySenvenProductionList = mesMapper.daySenvenProduction(); String sumFinshQuantity = mesMapper.sumFinshQuantity();
List<Map<String, String>> ProductionInProgress = mesMapper.ProductionInProgress(); List<Map<String, String>> daySenvenProductionList = mesMapper.daySenvenProduction();
map.put("sumplanquantity", sumplanquantity); List<Map<String, String>> ProductionInProgress = mesMapper.ProductionInProgress();
map.put("sumFinshQuantity", sumFinshQuantity); map.put("sumplanquantity", sumplanquantity);
map.put("daySenvenProductionList", daySenvenProductionList); map.put("sumFinshQuantity", sumFinshQuantity);
map.put("ProductionInProgress", ProductionInProgress); map.put("daySenvenProductionList", daySenvenProductionList);
return AjaxResult.success(map); map.put("ProductionInProgress", ProductionInProgress);
return AjaxResult.success(map);
}finally {
DynamicDataSourceContextHolder.poll();
}
} }
@Override @Override

@ -30,12 +30,16 @@ public class MesInterfaceServiceImpl implements MesInterfaceService {
@Override @Override
public List<MesBoard> getTechnologyBoard(MesBoard mesBoard) { public List<MesBoard> getTechnologyBoard(MesBoard mesBoard) {
DynamicDataSourceContextHolder.push(mesBoard.getFactoryCode()); DynamicDataSourceContextHolder.push(mesBoard.getFactoryCode());
List<MesBoard> dtos = mesMapper.getTechnologyBoard(mesBoard); try {
for (MesBoard dto : dtos) { List<MesBoard> dtos = mesMapper.getTechnologyBoard(mesBoard);
//取附件 for (MesBoard dto : dtos) {
List<BaseFileData> files = mesMapper.getTechnologyFiles(dto); //取附件
dto.setFiles(files); List<BaseFileData> files = mesMapper.getTechnologyFiles(dto);
dto.setFiles(files);
}
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
} }
return dtos;
} }
} }

@ -49,15 +49,19 @@ public class QuaController extends BaseController {
@PostMapping("/saveQcProCheck") @PostMapping("/saveQcProCheck")
public R<Boolean> saveQcProCheck(@RequestBody QcProCheck qcProCheck) { public R<Boolean> saveQcProCheck(@RequestBody QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("ds_"+qcProCheck.getFactoryCode()); DynamicDataSourceContextHolder.push("ds_"+qcProCheck.getFactoryCode());
qcProCheckService.saveQcProCheck(qcProCheck); try {
if (qcProCheck.getIsqua()=="1") { qcProCheckService.saveQcProCheck(qcProCheck);
WCSDTO wcsdto = new WCSDTO(); if (qcProCheck.getIsqua()=="1") {
wcsdto.setFactory(qcProCheck.getFactoryCode()); WCSDTO wcsdto = new WCSDTO();
wcsdto.setRfidNo(qcProCheck.getRfid()); wcsdto.setFactory(qcProCheck.getFactoryCode());
remoteMesService.requestDestinationStations(wcsdto); wcsdto.setRfidNo(qcProCheck.getRfid());
return R.ok(); remoteMesService.requestDestinationStations(wcsdto);
return R.ok();
}
return R.ok();
}finally {
DynamicDataSourceContextHolder.poll();
} }
return R.ok();
} }
/** /**
@ -270,13 +274,21 @@ public class QuaController extends BaseController {
@PostMapping(value = "getUserIdList") @PostMapping(value = "getUserIdList")
public List<SysUser> getUserIdList(@RequestBody SysUser sysUser) { public List<SysUser> getUserIdList(@RequestBody SysUser sysUser) {
DynamicDataSourceContextHolder.push("master"); DynamicDataSourceContextHolder.push("master");
return qcCheckTaskIncomeService.getUserIdList(sysUser); try {
return qcCheckTaskIncomeService.getUserIdList(sysUser);
}finally {
DynamicDataSourceContextHolder.poll();
}
} }
@PostMapping(value = "/getOaUserId") @PostMapping(value = "/getOaUserId")
public SysUser getOaUserId(@RequestBody SysUser sysUser) { public SysUser getOaUserId(@RequestBody SysUser sysUser) {
DynamicDataSourceContextHolder.push("master"); DynamicDataSourceContextHolder.push("master");
return qcCheckTaskIncomeService.getOaUserId(sysUser); try {
return qcCheckTaskIncomeService.getOaUserId(sysUser);
}finally {
DynamicDataSourceContextHolder.poll();
}
} }

@ -105,88 +105,89 @@ public class QcCheckTaskMarketServiceImpl implements IQcCheckTaskMarketService {
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public int insertQcCheckTaskMarket(QcCheckTaskMarket qcCheckTaskMarket) { public int insertQcCheckTaskMarket(QcCheckTaskMarket qcCheckTaskMarket) {
String factoryCode = ""; try {
if (StringUtils.isNotBlank(qcCheckTaskMarket.getFactoryCode())) { String factoryCode = "";
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskMarket.getFactoryCode()); if (StringUtils.isNotBlank(qcCheckTaskMarket.getFactoryCode())) {
factoryCode = qcCheckTaskMarket.getFactoryCode(); DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskMarket.getFactoryCode());
} else { factoryCode = qcCheckTaskMarket.getFactoryCode();
//获取当前所选工厂 } else {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); //获取当前所选工厂
String key = "#header.poolName"; HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
factoryCode = request.getHeader(key.substring(8)).replace("ds_", ""); String key = "#header.poolName";
} factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
}
qcCheckTaskMarket.setCreateTime(DateUtils.getNowDate()); qcCheckTaskMarket.setCreateTime(DateUtils.getNowDate());
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket); int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket);
String liushuiStr = String.format("%04d", liushuiNum); String liushuiStr = String.format("%04d", liushuiNum);
String createBy = SecurityUtils.getUsername(); String createBy = SecurityUtils.getUsername();
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr); qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr);
/**取检测项**/ /**取检测项**/
QcCheckTypeProject qctp = new QcCheckTypeProject(); QcCheckTypeProject qctp = new QcCheckTypeProject();
qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验 qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验
qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性 qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性
/**qc_check_type_project**/ /**qc_check_type_project**/
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
if (CollectionUtils.isEmpty(items)) { if (CollectionUtils.isEmpty(items)) {
/**qc_material_group_detail**/ /**qc_material_group_detail**/
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode()); QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode());
if (group == null) { if (group == null) {
return 0;//没有找到检测项目 return 0;//没有找到检测项目
} }
qctp.setGroupId(group.getGroupId());//共性 qctp.setGroupId(group.getGroupId());//共性
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
} }
/**qc_check_task_detail**/ /**qc_check_task_detail**/
if (CollectionUtils.isEmpty(items)) { if (CollectionUtils.isEmpty(items)) {
return 0;//没有找到检测项目 return 0;//没有找到检测项目
} }
/**qc_check_task**/ /**qc_check_task**/
String beLongId = IdUtils.fastSimpleUUID(); String beLongId = IdUtils.fastSimpleUUID();
qcCheckTaskMarket.setRecordId(beLongId); qcCheckTaskMarket.setRecordId(beLongId);
qcCheckTaskMarket.setFactoryCode(factoryCode); qcCheckTaskMarket.setFactoryCode(factoryCode);
qcCheckTaskMarket.setCreateTime(nowDate); qcCheckTaskMarket.setCreateTime(nowDate);
qcCheckTaskMarket.setTypeCode("market");//大检验节点 qcCheckTaskMarket.setTypeCode("market");//大检验节点
/**qc_task_user start**/ /**qc_task_user start**/
if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) { if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) {
String checkManName = qcCheckTaskMarket.getCheckManName(); String checkManName = qcCheckTaskMarket.getCheckManName();
String checkManCode = qcCheckTaskMarket.getCheckManCode(); String checkManCode = qcCheckTaskMarket.getCheckManCode();
qcCheckTaskMarket.setCheckManName(""); qcCheckTaskMarket.setCheckManName("");
qcCheckTaskMarket.setCheckManCode(""); qcCheckTaskMarket.setCheckManCode("");
String[] splitNames = checkManName.split(","); String[] splitNames = checkManName.split(",");
String[] splitCodes = checkManCode.split(","); String[] splitCodes = checkManCode.split(",");
List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>(); List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>();
for (int i = 0; i < splitNames.length; i++) { for (int i = 0; i < splitNames.length; i++) {
QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser();
qcCheckTaskUser.setCheckManName(splitNames[i]); qcCheckTaskUser.setCheckManName(splitNames[i]);
qcCheckTaskUser.setCheckManCode(splitCodes[i]); qcCheckTaskUser.setCheckManCode(splitCodes[i]);
qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo()); qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo());
qcCheckTaskUser.setBelongTo(beLongId); qcCheckTaskUser.setBelongTo(beLongId);
qcCheckTaskUserList.add(qcCheckTaskUser); qcCheckTaskUserList.add(qcCheckTaskUser);
} }
//检验人插入 //检验人插入
qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList);
} }
/** 不良品数据插入 */ /** 不良品数据插入 */
if(qcCheckTaskMarket.getNoOkQuality()==null){ if(qcCheckTaskMarket.getNoOkQuality()==null){
BigDecimal noOkQuality = new BigDecimal(0); BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects(); List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects();
if (!CollectionUtils.isEmpty(defectList)) { if (!CollectionUtils.isEmpty(defectList)) {
for (QcCheckTaskDefect defect : defectList) { for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(beLongId); defect.setBelongTo(beLongId);
//qcCheckTaskDefectService.insertQcCheckTaskDefect(defect); //qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality() == null ? new BigDecimal("0") : defect.getNoOkQuality()); noOkQuality = noOkQuality.add(defect.getNoOkQuality() == null ? new BigDecimal("0") : defect.getNoOkQuality());
} }
} }
qcCheckTaskMarket.setNoOkQuality(noOkQuality); qcCheckTaskMarket.setNoOkQuality(noOkQuality);
} }
// /**qc_sample_rule**/ // /**qc_sample_rule**/
// QcCheckTaskIncome sampQua = new QcCheckTaskIncome(); // QcCheckTaskIncome sampQua = new QcCheckTaskIncome();
@ -197,19 +198,22 @@ public class QcCheckTaskMarketServiceImpl implements IQcCheckTaskMarketService {
// qcCheckTaskMarket.setSampleQuality(new BigDecimal(sampNum)); // qcCheckTaskMarket.setSampleQuality(new BigDecimal(sampNum));
// } // }
/**qc_check_task**/ /**qc_check_task**/
qcCheckTaskMarketMapper.insertQcCheckTaskMarket(qcCheckTaskMarket); qcCheckTaskMarketMapper.insertQcCheckTaskMarket(qcCheckTaskMarket);
/**qc_check_task_detail**/ /**qc_check_task_detail**/
for (QcCheckTaskDetail item : items) { for (QcCheckTaskDetail item : items) {
item.setRecordId(IdUtils.fastSimpleUUID()); item.setRecordId(IdUtils.fastSimpleUUID());
item.setBelongTo(beLongId); item.setBelongTo(beLongId);
item.setCreateTime(nowDate); item.setCreateTime(nowDate);
item.setCreateBy(createBy); item.setCreateBy(createBy);
item.setFactoryCode(factoryCode); item.setFactoryCode(factoryCode);
item.setStatus("N"); item.setStatus("N");
}
return qcCheckTaskDetailMapper.addBatch(items);
}finally {
DynamicDataSourceContextHolder.poll();
} }
return qcCheckTaskDetailMapper.addBatch(items);
} }
/** /**

@ -205,17 +205,22 @@ public class QcMaterialGroupServiceImpl implements IQcMaterialGroupService {
public List<QcCheckTypeProject> getCheckTypeProjectList(QcCheckTypeProject qcCheckTypeProject) { public List<QcCheckTypeProject> getCheckTypeProjectList(QcCheckTypeProject qcCheckTypeProject) {
List<QcCheckTypeProject> dtos = qcCheckTypeProjectMapper.getCheckTypeProjectList(qcCheckTypeProject); List<QcCheckTypeProject> dtos = qcCheckTypeProjectMapper.getCheckTypeProjectList(qcCheckTypeProject);
DynamicDataSourceContextHolder.push("master"); DynamicDataSourceContextHolder.push("master");
SysDictData sData = new SysDictData(); try {
sData.setDictType("unit");
Map<String, SysDictData> dictMap = qcCheckTypeProjectMapper.getDictMap(sData); SysDictData sData = new SysDictData();
if (dictMap != null) { sData.setDictType("unit");
for (QcCheckTypeProject dto : dtos) { Map<String, SysDictData> dictMap = qcCheckTypeProjectMapper.getDictMap(sData);
if (StringUtils.isNotBlank(dto.getUnit())) { if (dictMap != null) {
dto.setUnit(dictMap.get(dto.getUnit()).getDictLabel()); for (QcCheckTypeProject dto : dtos) {
} if (StringUtils.isNotBlank(dto.getUnit())) {
} dto.setUnit(dictMap.get(dto.getUnit()).getDictLabel());
}
}
}
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
} }
return dtos;
} }
private boolean hasChild(List<QcMaterialGroup> list, QcMaterialGroup t) { private boolean hasChild(List<QcMaterialGroup> list, QcMaterialGroup t) {

Loading…
Cancel
Save