手动切库清空数据源

master
ShiChangzhou 5 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(); BaseMonitorInfo monitorInfo = new BaseMonitorInfo();
monitorInfo.setPhysicalCode(physicalCode); monitorInfo.setPhysicalCode(physicalCode);
List<BaseMonitorInfo> monitorInfoList = monitorInfo1Mapper.selectBaseMonitorInfoList(monitorInfo); List<BaseMonitorInfo> monitorInfoList = monitorInfo1Mapper.selectBaseMonitorInfoList(monitorInfo);
if (monitorInfoList.size() == 0) { if (monitorInfoList.size() == 0) {
throw new ServiceException("service == modifyDeviceInformation == exception:该物理编号:" + physicalCode + "能源系统未维护!"); throw new ServiceException("service == modifyDeviceInformation == exception:该物理编号:" + physicalCode + "能源系统未维护!");
}
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();
} 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,89 +105,90 @@ 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());
int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket); String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
String liushuiStr = String.format("%04d", liushuiNum); int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket);
String liushuiStr = String.format("%04d", liushuiNum);
String createBy = SecurityUtils.getUsername();
Date nowDate = DateUtils.getNowDate(); String createBy = SecurityUtils.getUsername();
Date nowDate = DateUtils.getNowDate();
qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr);
qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr);
/**取检测项**/
QcCheckTypeProject qctp = new QcCheckTypeProject(); /**取检测项**/
qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验 QcCheckTypeProject qctp = new QcCheckTypeProject();
qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性 qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验
/**qc_check_type_project**/ qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); /**qc_check_type_project**/
if (CollectionUtils.isEmpty(items)) { List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
/**qc_material_group_detail**/ if (CollectionUtils.isEmpty(items)) {
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode()); /**qc_material_group_detail**/
if (group == null) { QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode());
return 0;//没有找到检测项目 if (group == null) {
} return 0;//没有找到检测项目
qctp.setGroupId(group.getGroupId());//共性 }
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); qctp.setGroupId(group.getGroupId());//共性
} items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
}
/**qc_check_task_detail**/
if (CollectionUtils.isEmpty(items)) { /**qc_check_task_detail**/
return 0;//没有找到检测项目 if (CollectionUtils.isEmpty(items)) {
} return 0;//没有找到检测项目
}
/**qc_check_task**/
String beLongId = IdUtils.fastSimpleUUID(); /**qc_check_task**/
qcCheckTaskMarket.setRecordId(beLongId); String beLongId = IdUtils.fastSimpleUUID();
qcCheckTaskMarket.setFactoryCode(factoryCode); qcCheckTaskMarket.setRecordId(beLongId);
qcCheckTaskMarket.setCreateTime(nowDate); qcCheckTaskMarket.setFactoryCode(factoryCode);
qcCheckTaskMarket.setTypeCode("market");//大检验节点 qcCheckTaskMarket.setCreateTime(nowDate);
/**qc_task_user start**/ qcCheckTaskMarket.setTypeCode("market");//大检验节点
if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) { /**qc_task_user start**/
String checkManName = qcCheckTaskMarket.getCheckManName(); if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) {
String checkManCode = qcCheckTaskMarket.getCheckManCode(); String checkManName = qcCheckTaskMarket.getCheckManName();
qcCheckTaskMarket.setCheckManName(""); String checkManCode = qcCheckTaskMarket.getCheckManCode();
qcCheckTaskMarket.setCheckManCode(""); qcCheckTaskMarket.setCheckManName("");
String[] splitNames = checkManName.split(","); qcCheckTaskMarket.setCheckManCode("");
String[] splitCodes = checkManCode.split(","); String[] splitNames = checkManName.split(",");
List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>(); String[] splitCodes = checkManCode.split(",");
for (int i = 0; i < splitNames.length; i++) { List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>();
QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); for (int i = 0; i < splitNames.length; i++) {
qcCheckTaskUser.setCheckManName(splitNames[i]); QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser();
qcCheckTaskUser.setCheckManCode(splitCodes[i]); qcCheckTaskUser.setCheckManName(splitNames[i]);
qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo()); qcCheckTaskUser.setCheckManCode(splitCodes[i]);
qcCheckTaskUser.setBelongTo(beLongId); qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo());
qcCheckTaskUserList.add(qcCheckTaskUser); qcCheckTaskUser.setBelongTo(beLongId);
} qcCheckTaskUserList.add(qcCheckTaskUser);
//检验人插入 }
qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); //检验人插入
} qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList);
/** 不良品数据插入 */ }
if(qcCheckTaskMarket.getNoOkQuality()==null){ /** 不良品数据插入 */
BigDecimal noOkQuality = new BigDecimal(0); if(qcCheckTaskMarket.getNoOkQuality()==null){
List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects(); BigDecimal noOkQuality = new BigDecimal(0);
if (!CollectionUtils.isEmpty(defectList)) { List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects();
for (QcCheckTaskDefect defect : defectList) { if (!CollectionUtils.isEmpty(defectList)) {
defect.setBelongTo(beLongId); for (QcCheckTaskDefect defect : defectList) {
//qcCheckTaskDefectService.insertQcCheckTaskDefect(defect); defect.setBelongTo(beLongId);
noOkQuality = noOkQuality.add(defect.getNoOkQuality() == null ? new BigDecimal("0") : defect.getNoOkQuality()); //qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
} 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();
// sampQua.setCheckType(qcCheckTaskMarket.getCheckType()); // sampQua.setCheckType(qcCheckTaskMarket.getCheckType());
@ -196,20 +197,23 @@ public class QcCheckTaskMarketServiceImpl implements IQcCheckTaskMarketService {
// if(StringUtils.isNotBlank(sampNum)){ // if(StringUtils.isNotBlank(sampNum)){
// 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