数据源切换逻辑全框架优化,设备报修自动审核转维修单

master
Yangwl 3 weeks ago
parent 7a4e65aacb
commit 1ebe3e9854

@ -3,10 +3,13 @@ package com.op.system.api;
import com.op.common.core.constant.ServiceNameConstants;
import com.op.common.core.domain.R;
import com.op.system.api.domain.DataSourcePropertyDTO;
import com.op.system.api.domain.device.DeviceRepairOrder;
import com.op.system.api.domain.device.EquRepairOrderDTO;
import com.op.system.api.domain.device.WorkOrderTangentDTO;
import com.op.system.api.factory.RemoteDeviceFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -46,4 +49,9 @@ public interface RemoteDeviceService {
//切线后创建当日新的点检工单
@PostMapping("/deviceTask/createSpotCheckWorkOrder")
public R createSpotCheckWorkOrder(@RequestBody WorkOrderTangentDTO workOrderTangentDTO);
//设备报修审核远程服务调用
@PostMapping("/faultReport/check")
public R check(@RequestBody DeviceRepairOrder deviceRepairOrder);
}

@ -3,6 +3,8 @@ package com.op.system.api.factory;
import com.op.common.core.domain.R;
import com.op.system.api.RemoteDeviceService;
import com.op.system.api.domain.DataSourcePropertyDTO;
import com.op.system.api.domain.device.DeviceRepairOrder;
import com.op.system.api.domain.device.EquRepairOrderDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@ -62,6 +64,11 @@ public class RemoteDeviceFallbackFactory implements FallbackFactory<RemoteDevice
public R createSpotCheckWorkOrder(com.op.system.api.domain.device.WorkOrderTangentDTO workOrderTangentDTO) {
return R.fail("切换产线,新增点检工单失败:" + throwable.getMessage());
}
@Override
public R check(DeviceRepairOrder deviceRepairOrder) {
return R.fail("自动审核通过失败:" + throwable.getMessage());
}
};
}
}

@ -36,7 +36,13 @@ public class DeviceInterfaceController {
@GetMapping("/getRepairWorkOrder")
public AjaxResult getRepairWorkOrder(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try{
return deviceInterfaceService.getRepairWorkOrder();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -47,7 +53,11 @@ public class DeviceInterfaceController {
@GetMapping("/getworkFaultReason")
public AjaxResult getworkFaultReason(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getworkFaultReason();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -58,7 +68,12 @@ public class DeviceInterfaceController {
@GetMapping("/getworkFaultDesc")
public AjaxResult getworkFaultDesc(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getworkFaultDesc();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -69,7 +84,11 @@ public class DeviceInterfaceController {
@GetMapping("/getWave")
public AjaxResult getWave(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getWave();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
*
@ -79,7 +98,12 @@ public class DeviceInterfaceController {
@GetMapping("/getEquipmentInfo")
public AjaxResult getEquipmentInfo(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getEquipmentInfo(equOperation);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -91,7 +115,11 @@ public class DeviceInterfaceController {
@GetMapping("/getRepairQuantity")
public AjaxResult getRepairQuantity(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getRepairQuantity(equOperation);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -103,7 +131,12 @@ public class DeviceInterfaceController {
@GetMapping("/equipmentStability")
public AjaxResult getEquipmentStabilityList(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getEquipmentStabilityList(equOperation);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -115,7 +148,12 @@ public class DeviceInterfaceController {
@GetMapping("/equipmentIntactRate")
public AjaxResult getEquipmentIntactRate(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getEquipmentIntactRate(equOperation);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -125,7 +163,12 @@ public class DeviceInterfaceController {
@GetMapping("/getDeviceRefreshTime")
public AjaxResult getDeviceRefreshTime(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getDeviceRefreshTime(equOperation);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -156,7 +199,11 @@ public class DeviceInterfaceController {
@GetMapping("/getCompletedRate")
public AjaxResult getCompletedRate(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
try {
return deviceInterfaceService.getCompletedRate();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -166,7 +213,12 @@ public class DeviceInterfaceController {
@GetMapping("/selectEquRepairWorkOrderDetail")
public AjaxResult selectEquRepairWorkOrderDetail(EquRepairWorkOrderDetailVO equRepairWorkOrderDetailVO) {
DynamicDataSourceContextHolder.push(equRepairWorkOrderDetailVO.getPoolName());
try {
return deviceInterfaceService.selectEquRepairWorkOrderDetail(equRepairWorkOrderDetailVO);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -176,7 +228,12 @@ public class DeviceInterfaceController {
@GetMapping("/selectSpotInspectionList")
public AjaxResult selectSpotInspectionList(EquOrderVO equOrderVO) {
DynamicDataSourceContextHolder.push(equOrderVO.getPoolName());
try {
return deviceInterfaceService.selectSpotInspectionList(equOrderVO);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -186,6 +243,11 @@ public class DeviceInterfaceController {
@GetMapping("/selectInspectionList")
public AjaxResult selectInspectionList(EquOrderVO equOrderVO) {
DynamicDataSourceContextHolder.push(equOrderVO.getPoolName());
try {
return deviceInterfaceService.selectInspectionList(equOrderVO);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -65,6 +65,7 @@ public class DevicePDAController extends BaseController {
//新增手持报修记录
@PostMapping("/addRepairRecord")
public AjaxResult addRepairRecord(@RequestBody EquRepairOrder equRepairOrder) {
// equRepairOrderService.checkEquRepairOrder(equRepairOrder);
return devicePDAService.addRepairRecord(equRepairOrder);
}

@ -582,6 +582,46 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
String key = "#header.poolName";
equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
equRepairOrderMapper.insertEquRepairOrder(equRepairOrder);
String code = equRepairOrder.getOrderCode().substring(10);
//审核报修单据,生成维修单
String workCode = DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + code;
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID()); //维修工单id
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId()); //报修Id
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode()); //报修单号
equRepairWorkOrder.setWorkCode("WX" + workCode); //维修单号
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode()); //设备编码
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam()); //维修组
equRepairWorkOrder.setWorkOutsource("0"); //不委外
equRepairWorkOrder.setOutWorkCode("无"); //无委外工单号
equRepairWorkOrder.setWorkHandle("1"); //是否立即维修 1是 0 否
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //计划维修时间
if (equRepairOrder.getWorkPlanDownTime() != null) { //是否停机维修 停机维修时间
equRepairWorkOrder.setWorkDownMachine("1");
equRepairWorkOrder.setWorkPlanDownTime(equRepairOrder.getWorkPlanDownTime());
} else {
equRepairWorkOrder.setWorkDownMachine("0");
}
equRepairWorkOrder.setWorkFaultDesc(equRepairOrder.getOrderDesc());
equRepairWorkOrder.setWorkStatus("0"); //工单状态 待维修
equRepairWorkOrder.setCreateTime(DateUtils.getNowDate());
equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername());
equRepairWorkOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
equRepairWorkOrderMapper.insertEquRepairWorkOrder(equRepairWorkOrder);
////审核结果
equRepairOrder.setOrderStatus("1");
////更新设备状态
EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
equEquipment.setEquipmentStatus("0"); //0故障
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
//删除照片 不需要清照片 因为是新增
//新增文件
@ -674,6 +714,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
}
//发企业微信--------------------结束
}
//自动审核成功生成维修单
return success("新增报修记录成功!");
} catch (Exception e) {
@ -681,6 +722,118 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
}
}
/**
*
*/
public AjaxResult repairSendWeChat(EquRepairWorkOrder equRepairWorkOrder) {
////企业微信维修提醒
//发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(11L); //id写死了
List<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
////判断是立即维修还是计划性维修
String workHandle = "";
if(equRepairWorkOrder.getWorkHandle().equals("1")){
workHandle = "立即维修";
}else{
workHandle = "计划性维修";
}
////判断是否需要停机维修
String workDownMachine = "";
if(equRepairWorkOrder.getWorkDownMachine().equals("1")){
workDownMachine = "停机";
}else{
workDownMachine = "不停机";
}
//在前端填的时候,需要判空!!!!!!
contentInfo = contentInfo
.replace("${message}", "\n")
.replace("${equipmentCode}", equRepairWorkOrder.getEquipmentCode()+"\n")
.replace("${workCode}", equRepairWorkOrder.getWorkCode()+"\n")
.replace("${workHandle}", workHandle+"\n");
//故障描述
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkFaultDesc())){
contentInfo = contentInfo.replace("${workFaultDesc}", equRepairWorkOrder.getWorkFaultDesc()+"\n");
}else{
contentInfo = contentInfo.replace("${workFaultDesc}", "无"+"\n");
}
//维修组
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkTeam())){
contentInfo = contentInfo.replace("${workTeam}", equRepairWorkOrder.getWorkTeam()+"\n");
}else{
contentInfo = contentInfo.replace("${workTeam}", "无"+"\n");
}
//计划停机维修时间
if(equRepairWorkOrder.getWorkPlanTime() != null){
contentInfo = contentInfo.replace("${workPlanTime}", myFmt.format(equRepairWorkOrder.getWorkPlanTime())+"\n");
}else{
contentInfo = contentInfo.replace("${workPlanTime}", "无"+"\n");
}
//计划停机维修时间
if(equRepairWorkOrder.getWorkPlanDownTime() != null){
contentInfo = contentInfo.replace("${workPlanDownTime}", myFmt.format(equRepairWorkOrder.getWorkPlanDownTime())+"\n");
}else{
contentInfo = contentInfo.replace("${workPlanDownTime}", "无"+"\n");
}
//是否停机
if(StringUtils.isNotEmpty(workDownMachine)){
contentInfo = contentInfo.replace("${workDownMachine}", workDownMachine+"\n");
}else{
contentInfo = contentInfo.replace("${workDownMachine}", "无"+"\n");
}
//查询设备相关信息
//设备名称
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairWorkOrder.getEquipmentCode());
if(StringUtils.isNotEmpty(equ.getEquipmentName())){
contentInfo = contentInfo.replace("${equipmentName}", equ.getEquipmentName()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n");
}
//设备位置
if(StringUtils.isNotEmpty(equ.getEquipmentLocation())){
contentInfo = contentInfo.replace("${equipmentLocation}", equ.getEquipmentLocation()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentLocation}", "无"+"\n");
}
//替换标签
Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("报修审核后企业微信提醒维修请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("报修审核后企业微信提醒结果(下一步开始维修):" + JSONObject.toJSONString(wxresult));
}).start();
}
//发企业微信--------------------结束
}
return success("报修审核后,企业微信发送维修信息成功!");
}
/**
* ()
*

@ -261,6 +261,8 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
public void createSpotCheckPlanFunc(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
/**equ_plan equ_plan_equ**/
EquPlan equPlan = new EquPlan();
equPlan.setPlanType("spotInspection");
@ -291,7 +293,9 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
logger.info("++++++++++++" + poolName + "++++点检结束++++++++++");
}
@ -299,7 +303,7 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
public AjaxResult createSpotCheckWorkOrder(com.op.system.api.domain.device.WorkOrderTangentDTO workOrderTangentDTO) {
DynamicDataSourceContextHolder.push(workOrderTangentDTO.getFactoryCode());// 这是数据源的key
logger.info(workOrderTangentDTO.getFactoryCode() + "工厂切线接口传输参数:" + JSONArray.toJSONString(workOrderTangentDTO));
DynamicDataSourceContextHolder.push(workOrderTangentDTO.getFactoryCode());// 这是数据源的key
try {
EquPlan equPlan = new EquPlan();
equPlan.setPlanType("spotInspection");
List<EquPlan> plans = deviceTaskMapper.getPlans(equPlan);//所有的
@ -337,9 +341,12 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
}
}
}
logger.info("++++++++++++" + workOrderTangentDTO.getFactoryCode() + "++++切线后创建微信提醒开始++++++++++");
this.spotCheckSendWeChat(addProduceLine,workOrderTangentDTO);
}finally {
DynamicDataSourceContextHolder.poll();
}
logger.info("++++++++++++" + workOrderTangentDTO.getFactoryCode() + "++++切线后创建微信提醒结束++++++++++");
logger.info("++++++++++++" + workOrderTangentDTO.getFactoryCode() + "++++切线后创建点检工单流程结束++++++++++");
return success();
@ -393,6 +400,7 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
public void createPatrolCheckPlanFunc(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
/**equ_plan equ_plan_equ**/
EquPlan equPlan = new EquPlan();
equPlan.setPlanType("inspection");
@ -408,11 +416,16 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
logger.info("++++++++++++" + poolName + "++++巡检结束++++++++++");
}
public void createMaintenancePlanFunc(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try{
/**equ_plan equ_plan_equ**/
EquPlan equPlan = new EquPlan();
equPlan.setPlanType("maintenance");
@ -441,6 +454,10 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
logger.info("++++++++++++" + poolName + "++++保养结束++++++++++");
}
@ -585,6 +602,7 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
private void createEquipmentOperation(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
// 当天未生成过运行记录
int checkNum = equOperationMapper.checkInsertOperation();
if (checkNum == 0) {
@ -618,11 +636,16 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
} else {
System.out.println("数据源:" + poolName + "当天生成过运行记录");
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
private void backupEquipmentOperation(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
// 校验当前YEAR-2是否备份过数据
EquOperation check = equOperationMapper.checkBackupOperation();
if (check == null) {
@ -653,6 +676,10 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
} else {
System.out.println("数据源:" + poolName + "---->" + "年份:" + (LocalDate.now().getYear() - 2) + "--->已备份");
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
// 循环类型为小时

@ -379,7 +379,6 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
equEquipment.setEquipmentStatus("0"); //0故障
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
}
equRepairOrder.setUpdateTime(DateUtils.getNowDate());

@ -296,6 +296,8 @@ public class RecordAlarmDataServiceImpl implements IRecordAlarmDataService {
}
} catch (Exception e) {
logger.error("service == 水瞬时报警 == exception", e);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -396,6 +398,7 @@ public class RecordAlarmDataServiceImpl implements IRecordAlarmDataService {
*/
public void hourLineLossTimingTask(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
BaseLineLoss baseLineLoss = new BaseLineLoss();
Date nowDate = DateUtils.getNowDate();
Calendar calendar = Calendar.getInstance();
@ -469,6 +472,10 @@ public class RecordAlarmDataServiceImpl implements IRecordAlarmDataService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -505,6 +512,7 @@ public class RecordAlarmDataServiceImpl implements IRecordAlarmDataService {
*/
public void dailyConsumptionTimingTask(String poolName) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
HashMap<String, Object> map = new HashMap<>();
map.put("timeSub", null);
Date today = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
@ -567,6 +575,10 @@ public class RecordAlarmDataServiceImpl implements IRecordAlarmDataService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}

@ -116,7 +116,6 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
*/
@Override
public WCSDTO requestDestinationStations(WCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
WCSDTO dto = new WCSDTO();//最终结果
try {
@ -177,6 +176,8 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} catch (Exception e) {
dto.setCode("1");
dto.setMessage("MES管理系统接口调用失败");
}finally {
DynamicDataSourceContextHolder.poll();
}
return dto;
}
@ -184,6 +185,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
@Override
public Map getMesBoardEquProductionToday(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
try {
Map boardMap = new HashMap();
List<BoardDTO> totals = null;
List<BoardDTO> everys = null;
@ -233,6 +235,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
boardMap.put("everyNum", everys);
return boardMap;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
* totalSum
@ -288,14 +293,23 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
@Override
public List<SysDept> getBoardFactory(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("master");// 这是数据源的key
try {
return mesMapper.getBoardFactory(boardDTO);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<MesShift> getProShifts(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
try {
return mesReportWorkMapper.selectProShift();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -328,6 +342,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
public void dateDeleteFunc(String poolName, List<String> tables) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate today = LocalDate.now();
System.out.println("今天的日期为:" + today);
@ -341,6 +356,10 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -411,7 +430,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
if (StringUtils.isNotBlank(mesReportWork.getFactoryCode())) {//已经加上ds_
DynamicDataSourceContextHolder.push(mesReportWork.getFactoryCode());// 这是数据源的key
}
try {
//根据belong_work_order找到sap工单(子子母)
List<MesReportWork> workOrders = mesReportWorkMapper.getSapWorkOrder(mesReportWork.getWorkorderCode());
if (CollectionUtils.isEmpty(workOrders)) {
@ -561,6 +580,11 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
}
return sapRson;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -684,6 +708,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
@Override
public Map getWhiteBoardEquPro7Days(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
try {
Map boardMap = new HashMap();
List<String> weeks = this.get7Days();
@ -722,6 +747,10 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
boardMap.put("acts",acts);
boardMap.put("finishRatio",finishRatio);
return boardMap;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -953,6 +982,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
public void dateBKFunc(String poolName, List<String> tables) {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
try {
DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate today = LocalDate.now();
LocalDate lastMonth3 = today.plus(-3, ChronoUnit.MONTHS);
@ -997,12 +1027,17 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
//删掉历史1个月的数据
mesMapper.deleteBkDateByTable(ymdhms3, ymdhms2);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public String saveLGusedLog(List<LGInfoDto> lgdtos) {
DynamicDataSourceContextHolder.push("ds_" + lgdtos.get(0).getFactoryCode());// 这是数据源的key
try {
Date nowTime = DateUtils.getNowDate();
for (LGInfoDto lgdto : lgdtos) {
lgdto.setId(IdUtils.simpleUUID());
@ -1012,11 +1047,16 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
int saveNum = mesMapper.addBatchLGInfo(lgdtos);
return "保存成功条数:" + saveNum;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public Map dryRoomDataHeader(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
try {
//成型机清单
Map map = new HashMap();
List<Map<String, String>> eqmapList = mesMapper.selectcxjList();
@ -1063,12 +1103,16 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
map.put("result", eqmapList);
return map;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public Map dryRoomDataCarousel(BoardDTO boardDTO) {
DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key
try {
Map map = new HashMap();
//查询烘房信息
List<Map<String, String>> dryingRoomListInfo = mesMapper.selectdryingRoomListInfo();
@ -1118,14 +1162,17 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
}
return map;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**烘房耗电数据**/
private List<EnergyExpend> EnergyExpend(){
DynamicDataSourceContextHolder.push("ds_" + "1000");// 这是数据源的key
try {
LocalDate today = LocalDate.now(); // Get today's date
// Start time set to 00:00 (midnight) on today's date
@ -1136,11 +1183,21 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
return h5ApiMapper.EnergyExpend(startDateTime.format(formatter),endDateTime.format(formatter));
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/***查询 烘房当日产出**/
private List<Map> getHFDailyProduction(String shiftId){
DynamicDataSourceContextHolder.push("ds_" + "999");// 这是数据源的key
try {
return mesReportWorkMapper.getHFDailyProduction(shiftId);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**白坯工厂,修正设备**/
@ -1169,6 +1226,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
return error("service == changeTransferResultTask == exception");
} finally {
executorService.shutdown();
DynamicDataSourceContextHolder.poll();
}
return success();
}
@ -1180,6 +1238,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
private R changeTransferResultFunc(BaseEquipmentDto cxj){
logger.info("++++++++++++" + cxj.getEquipmentCode() + "++++班次交接最后一车数据修正++++++++++");
DynamicDataSourceContextHolder.push("ds_999");// 这是数据源的key
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 定义日期格式
LocalDate today = LocalDate.now();
LocalDate qianDay = today.minusDays(2);
@ -1245,6 +1304,10 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
+n+"++++++++++"+JSONObject.toJSONString(todos1));
}
return R.fail("班次交接最后一车数据修正:完成");
}finally {
DynamicDataSourceContextHolder.poll();
}
}
public static void main(String args[]){

@ -39,18 +39,27 @@ public class PDAServiceImpl implements PDAService {
@Override
public List<BaseEquipmentDto> getAllEquipments(BaseEquipmentDto baseEquipmentDto) {
DynamicDataSourceContextHolder.push("ds_" + baseEquipmentDto.getFactoryCode());
try {
return mesMapper.getAllEquipments(baseEquipmentDto);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public int saveRfidWithEquip(BaseEquipmentDto baseEquipmentDto) {
DynamicDataSourceContextHolder.push("ds_" + baseEquipmentDto.getFactoryCode());
try {
baseEquipmentDto.setRecordId(IdUtils.fastSimpleUUID());
baseEquipmentDto.setCreateBy(SecurityUtils.getUsername());
baseEquipmentDto.setCreateTime(DateUtils.getNowDate());
baseEquipmentDto.setRfid(baseEquipmentDto.getRfidNo());
baseEquipmentDto.setNextMachineCode(baseEquipmentDto.getEquipmentCode());
return mesMapper.saveRfidWithEquip(baseEquipmentDto);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -1,5 +1,7 @@
package com.op.open.mapper;
import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquRepairWorkOrder;
import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.SysSapLog;
import com.op.system.api.domain.device.DeviceRepairOrder;
@ -99,6 +101,12 @@ public interface OpenMapper {
int addProductNoBatchs(@Param("list")List<BaseProductDTO> everyList);
String getProductGroup(String materialCode);
void insertEquRepairWorkOrders(EquRepairWorkOrder equRepairWorkOrder);
void updateEquipmentStatuss(EquEquipment equEquipment);
EquEquipment selectEquEquipmentByEquEquipmentCode(String equipmentCode);
//
// int updateEquBatchs(@Param("list") List<EquEquipmentDTO> updates);
//

@ -13,8 +13,14 @@ import com.op.common.core.utils.http.HttpUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquRepairWorkOrder;
import com.op.device.mapper.EquEquipmentMapper;
import com.op.device.mapper.EquRepairOrderMapper;
import com.op.device.mapper.EquRepairWorkOrderMapper;
import com.op.open.mapper.OpenMapper;
import com.op.open.service.OpenService;
import com.op.system.api.RemoteDeviceService;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.device.DeviceRepairOrder;
@ -88,6 +94,17 @@ public class OpenServiceImpl implements OpenService {
@Autowired
private OpenMapper openMapper;
@Autowired
private EquRepairOrderMapper equRepairOrderMapper;
@Autowired
private EquEquipmentMapper equEquipmentMapper;
@Autowired
private RemoteOpenService remoteOpenService;
private static Pattern p2= Pattern.compile("<[^>]+>");
/**
@ -191,6 +208,8 @@ public class OpenServiceImpl implements OpenService {
} catch (Exception e) {
dto.setCode("1");
dto.setMessage("MES管理系统接口调用失败");
}finally {
DynamicDataSourceContextHolder.poll();
}
return dto;
}
@ -279,7 +298,12 @@ public class OpenServiceImpl implements OpenService {
@Override
public List<WCSDTO> getLGInfo(WCSDTO wcsDTO) {
DynamicDataSourceContextHolder.push("ds_" + wcsDTO.getFactory());// 这是数据源的key
try {
return openMapper.getLGInfo(wcsDTO);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -289,6 +313,7 @@ public class OpenServiceImpl implements OpenService {
}
DynamicDataSourceContextHolder.push("ds_" + equRepairOrderDTO.getFactory()); // 这是数据源的key
try {
////创建报修单
DeviceRepairOrder equRepairOrder = new DeviceRepairOrder();
String serialNum = String.format("%03d", openMapper.selectOrderCodeSerialNumber()); // 获取故障报修流水号
@ -315,7 +340,50 @@ public class OpenServiceImpl implements OpenService {
if (equRepairOrderDTO.getPhoneNumber() != null) {
equRepairOrder.setOrderConnection(equRepairOrderDTO.getPhoneNumber()); // 联系方式
}
equRepairOrder.setRepairDestination("立即维修");
openMapper.insertEquRepairOrder(equRepairOrder);
//自动审核生成维修单
String code = equRepairOrder.getOrderCode().substring(10);
String workCode = DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + code;
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID()); //维修工单id
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId()); //报修Id
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode()); //报修单号
equRepairWorkOrder.setWorkCode("WX" + workCode); //维修单号
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode()); //设备编码
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam()); //维修组
equRepairWorkOrder.setWorkOutsource("0"); //不委外
equRepairWorkOrder.setOutWorkCode("无"); //无委外工单号
equRepairWorkOrder.setWorkHandle("1"); //是否立即维修 1是 0 否
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //计划维修时间
equRepairWorkOrder.setWorkPlanDownTime(DateUtils.getNowDate());
if (equRepairOrder.getWorkPlanDownTime() != null) { //是否停机维修 停机维修时间
equRepairWorkOrder.setWorkDownMachine("1");
equRepairWorkOrder.setWorkPlanDownTime(equRepairOrder.getWorkPlanDownTime());
} else {
equRepairWorkOrder.setWorkDownMachine("0");
}
equRepairWorkOrder.setWorkFaultDesc(equRepairOrder.getOrderDesc());
equRepairWorkOrder.setWorkStatus("0"); //工单状态 待维修
equRepairWorkOrder.setCreateTime(DateUtils.getNowDate());
equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
equRepairWorkOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
openMapper.insertEquRepairWorkOrders(equRepairWorkOrder);
////审核结果
equRepairOrder.setOrderStatus("1");
////更新设备状态
EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
equEquipment.setEquipmentStatus("0"); //0故障
openMapper.updateEquipmentStatuss(equEquipment);
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
////发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
@ -392,14 +460,130 @@ public class OpenServiceImpl implements OpenService {
}
//发企业微信--------------------结束
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return success();
}
/**
*
*/
public AjaxResult repairSendWeChat(EquRepairWorkOrder equRepairWorkOrder) {
////企业微信维修提醒
//发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(11L); //id写死了
List<SysNoticeGroup> notices = openMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
////判断是立即维修还是计划性维修
String workHandle = "";
if(equRepairWorkOrder.getWorkHandle().equals("1")){
workHandle = "立即维修";
}else{
workHandle = "计划性维修";
}
////判断是否需要停机维修
String workDownMachine = "";
if(equRepairWorkOrder.getWorkDownMachine().equals("1")){
workDownMachine = "停机";
}else{
workDownMachine = "不停机";
}
//在前端填的时候,需要判空!!!!!!
contentInfo = contentInfo
.replace("${message}", "\n")
.replace("${equipmentCode}", equRepairWorkOrder.getEquipmentCode()+"\n")
.replace("${workCode}", equRepairWorkOrder.getWorkCode()+"\n")
.replace("${workHandle}", workHandle+"\n");
//故障描述
if(com.op.common.core.utils.StringUtils.isNotEmpty(equRepairWorkOrder.getWorkFaultDesc())){
contentInfo = contentInfo.replace("${workFaultDesc}", equRepairWorkOrder.getWorkFaultDesc()+"\n");
}else{
contentInfo = contentInfo.replace("${workFaultDesc}", "无"+"\n");
}
//维修组
if(com.op.common.core.utils.StringUtils.isNotEmpty(equRepairWorkOrder.getWorkTeam())){
contentInfo = contentInfo.replace("${workTeam}", equRepairWorkOrder.getWorkTeam()+"\n");
}else{
contentInfo = contentInfo.replace("${workTeam}", "无"+"\n");
}
//计划停机维修时间
if(equRepairWorkOrder.getWorkPlanTime() != null){
contentInfo = contentInfo.replace("${workPlanTime}", myFmt.format(equRepairWorkOrder.getWorkPlanTime())+"\n");
}else{
contentInfo = contentInfo.replace("${workPlanTime}", "无"+"\n");
}
//计划停机维修时间
if(equRepairWorkOrder.getWorkPlanDownTime() != null){
contentInfo = contentInfo.replace("${workPlanDownTime}", myFmt.format(equRepairWorkOrder.getWorkPlanDownTime())+"\n");
}else{
contentInfo = contentInfo.replace("${workPlanDownTime}", "无"+"\n");
}
//是否停机
if(com.op.common.core.utils.StringUtils.isNotEmpty(workDownMachine)){
contentInfo = contentInfo.replace("${workDownMachine}", workDownMachine+"\n");
}else{
contentInfo = contentInfo.replace("${workDownMachine}", "无"+"\n");
}
//查询设备相关信息
//设备名称
EquEquipment equ = openMapper.selectEquEquipmentByEquEquipmentCode(equRepairWorkOrder.getEquipmentCode());
if(com.op.common.core.utils.StringUtils.isNotEmpty(equ.getEquipmentName())){
contentInfo = contentInfo.replace("${equipmentName}", equ.getEquipmentName()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n");
}
//设备位置
if(com.op.common.core.utils.StringUtils.isNotEmpty(equ.getEquipmentLocation())){
contentInfo = contentInfo.replace("${equipmentLocation}", equ.getEquipmentLocation()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentLocation}", "无"+"\n");
}
//替换标签
Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("报修审核后企业微信提醒维修请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("报修审核后企业微信提醒结果(下一步开始维修):" + JSONObject.toJSONString(wxresult));
}).start();
}
//发企业微信--------------------结束
}
return success("报修审核后,企业微信发送维修信息成功!");
}
/**首检 批次成品**/
@Override
public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) {
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode());
try {
logger.info("创建检验任务"+qcCheckTaskProduce.getCheckType()+":"+JSONObject.toJSONString(qcCheckTaskProduce));
// 同一个工单同一个批次,上个检验没完成,下一个不允许执行
String lastStatus = openMapper.getLastTask(qcCheckTaskProduce);
@ -529,6 +713,10 @@ public class OpenServiceImpl implements OpenService {
//发企业微信--------------------结束
}
return n;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -702,6 +890,8 @@ public class OpenServiceImpl implements OpenService {
} catch (Exception e) {
e.printStackTrace();
return error(e.getMessage());
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

@ -49,6 +49,12 @@
product_code = #{item.productCode}
</foreach>
</update>
<update id="updateEquipmentStatuss" parameterType="com.op.device.domain.EquEquipment">
update base_equipment
set equipment_status = #{equipmentStatus}
where equipment_code = #{equipmentCode}
and del_flag = '0'
</update>
<!--获取在邦rfid 工单的信息-->
<select id="getRfidInfo" resultType="com.op.system.api.domain.mes.ProRfidProcessDetail">
@ -430,6 +436,99 @@
)
</foreach>
</insert>
<insert id="insertEquRepairWorkOrders" parameterType="EquRepairWorkOrder">
insert into equ_repair_work_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="workId != null">work_id,</if>
<if test="orderId != null">order_id,</if>
<if test="workCode != null">work_code,</if>
<if test="orderCode != null">order_code,</if>
<if test="workHandle != null">work_handle,</if>
<if test="workPlanTime != null">work_plan_time,</if>
<if test="workPlanDownTime != null">work_plan_down_time,</if>
<if test="orderRelevance != null">order_relevance,</if>
<if test="workPerson != null">work_person,</if>
<if test="workPersonName != null">work_person_name,</if>
<if test="workTeam != null">work_team,</if>
<if test="workOutsource != null">work_outsource,</if>
<if test="workDownMachine != null">work_down_machine,</if>
<if test="equipmentCode != null">equipment_code,</if>
<if test="workReason != null">work_reason,</if>
<if test="workFaultDesc != null">work_fault_desc,</if>
<if test="workStartTime != null">work_start_time,</if>
<if test="workEndTime != null">work_end_time,</if>
<if test="actualDownStartTime != null">actual_down_start_time,</if>
<if test="actualDownEndTime != null">actual_down_end_time,</if>
<if test="workConnection != null">work_connection,</if>
<if test="workCostTime != null">work_cost_time,</if>
<if test="workCost != null">work_cost,</if>
<if test="workStatus != null">work_status,</if>
<if test="outWorkId != null">out_work_id,</if>
<if test="outWorkCode != null">out_work_code,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="delFlag != null">del_flag,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="faultType != null">fault_type,</if>
<if test="equipmentStatusDescription != null">equipment_status_description,</if>
<if test="repairMeasures != null">repair_measures,</if>
<if test="faultDownTime != null">fault_down_time,</if>
<if test="faultStartTime != null">fault_start_time,</if>
<if test="resultInspect != null">result_inspect,</if>
<if test="remark != null">remark,</if>
<if test="auditOpinion != null">audit_opinion,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="workId != null">#{workId},</if>
<if test="orderId != null">#{orderId},</if>
<if test="workCode != null">#{workCode},</if>
<if test="orderCode != null">#{orderCode},</if>
<if test="workHandle != null">#{workHandle},</if>
<if test="workPlanTime != null">#{workPlanTime},</if>
<if test="workPlanDownTime != null">#{workPlanDownTime},</if>
<if test="orderRelevance != null">#{orderRelevance},</if>
<if test="workPerson != null">#{workPerson},</if>
<if test="workPersonName != null">#{workPersonName},</if>
<if test="workTeam != null">#{workTeam},</if>
<if test="workOutsource != null">#{workOutsource},</if>
<if test="workDownMachine != null">#{workDownMachine},</if>
<if test="equipmentCode != null">#{equipmentCode},</if>
<if test="workReason != null">#{workReason},</if>
<if test="workFaultDesc != null">#{workFaultDesc},</if>
<if test="workStartTime != null">#{workStartTime},</if>
<if test="workEndTime != null">#{workEndTime},</if>
<if test="actualDownStartTime != null">#{actualDownStartTime},</if>
<if test="actualDownEndTime != null">#{actualDownEndTime},</if>
<if test="workConnection != null">#{workConnection},</if>
<if test="workCostTime != null">#{workCostTime},</if>
<if test="workCost != null">#{workCost},</if>
<if test="workStatus != null">#{workStatus},</if>
<if test="outWorkId != null">#{outWorkId},</if>
<if test="outWorkCode != null">#{outWorkCode},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="faultType != null">#{fault_type},</if>
<if test="equipmentStatusDescription != null">#{equipmentStatusDescription},</if>
<if test="repairMeasures != null">#{repairMeasures},</if>
<if test="faultDownTime != null">#{faultDownTime},</if>
<if test="faultStartTime != null">#{faultStartTime},</if>
<if test="resultInspect != null">#{resultInspect},</if>
<if test="remark != null">#{remark},</if>
<if test="auditOpinion != null">#{auditOpinion},</if>
</trim>
</insert>
<select id="getNoticesGroup" resultType="com.op.system.api.domain.SysNoticeGroup">
select sng.notice_id noticeId,
@ -472,4 +571,59 @@
order by qmg.create_time desc
</select>
<resultMap type="EquEquipment" id="EquEquipmentResult">
<result property="equipmentId" column="equipment_id"/>
<result property="equipmentCode" column="equipment_code"/>
<result property="equipmentName" column="equipment_name"/>
<result property="equipmentBrand" column="equipment_brand"/>
<result property="equipmentSpec" column="equipment_spec"/>
<result property="equipmentTypeId" column="equipment_type_id"/>
<result property="equipmentTypeCode" column="equipment_type_code"/>
<result property="equipmentTypeName" column="equipment_type_name"/>
<result property="workshopId" column="workshop_id"/>
<result property="workshopCode" column="workshop_code"/>
<result property="workshopName" column="workshop_name"/>
<result property="status" column="status"/>
<result property="remark" column="remark"/>
<result property="attr1" column="attr1"/>
<result property="attr2" column="attr2"/>
<result property="attr3" column="attr3"/>
<result property="attr4" column="attr4"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="workshopSection" column="workshop_section"/>
<result property="equipmentLocation" column="equipment_location"/>
<result property="hourlyUnitPrice" column="hourly_unit_price"/>
<result property="equipmentBarcode" column="equipment_barcode"/>
<result property="equipmentBarcodeImage" column="equipment_barcode_image"/>
<result property="manufacturer" column="manufacturer"/>
<result property="supplier" column="supplier"/>
<result property="useLife" column="use_life"/>
<result property="buyTime" column="buy_time"/>
<result property="assetOriginalValue" column="asset_original_value"/>
<result property="netAssetValue" column="net_asset_value"/>
<result property="assetHead" column="asset_head"/>
<result property="fixedAssetCode" column="fixed_asset_code"/>
<result property="department" column="department"/>
<result property="unitWorkingHours" column="unit_working_hours"/>
<result property="plcIp" column="plc_ip"/>
<result property="plcPort" column="plc_port"/>
<result property="delFlag" column="del_flag"/>
<result property="sapAsset" column="sap_asset"/>
<result property="equipmentStatus" column="equipment_status"/>
<result property="equipmentCategory" column="equipment_category"/>
</resultMap>
<sql id="selectEquEquipmentVo">
select equipment_id, equipment_code, equipment_name, equipment_brand, equipment_spec, equipment_type_id, equipment_type_code, equipment_type_name, workshop_id, workshop_code, workshop_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, workshop_section, equipment_location, hourly_unit_price, equipment_barcode, equipment_barcode_image, manufacturer, supplier, use_life, buy_time, asset_original_value, net_asset_value, asset_head, fixed_asset_code, department, unit_working_hours, plc_ip, plc_port, del_flag, sap_asset,equipment_status,equipment_category from base_equipment
</sql>
<select id="selectEquEquipmentByEquEquipmentCode" parameterType="String" resultMap="EquEquipmentResult">
<include refid="selectEquEquipmentVo"/>
where equipment_code = #{equipmentCode}
and del_flag = '0'
</select>
</mapper>

@ -854,7 +854,7 @@ public class ProOrderServiceImpl implements IProOrderService {
// Calendar calendar = Calendar.getInstance();
//// calendar.add(Calendar.DAY_OF_MONTH,1);//明天
// sapqo.setCreateTime(calendar.getTime());
//
try {
SapShopOrderQuery sapqo = new SapShopOrderQuery();
sapqo.setWerk(poolName.replace("ds_",""));
SapProOrder maxCreateTime = proOrderMapper.getMaxCreatetime();
@ -880,6 +880,10 @@ public class ProOrderServiceImpl implements IProOrderService {
}else {
syncSAPFunc(newOrders, "Job");
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**

@ -176,6 +176,8 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
factoryCode = request.getHeader(key.substring(8)).replace("ds_","");
}
try {
qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate());
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
@ -345,6 +347,12 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
//发企业微信--------------------结束
}
return bn;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**

@ -143,8 +143,14 @@ public class QcCheckTaskUserServiceImpl implements IQcCheckTaskUserService {
@Override
public int insertQcCheckTaskUserPDA(List<QcCheckTaskUser> qcCheckTaskUserList) {
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskUserList.get(0).getFactoryCode());
try {
String factoryCode = qcCheckTaskUserList.get(0).getFactoryCode();
return this.insertTaskUsers(qcCheckTaskUserList, factoryCode);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
private int insertTaskUsers(List<QcCheckTaskUser> qcCheckTaskUserList, String factoryCode) {

@ -124,8 +124,13 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService {
@Override
public List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType) {
DynamicDataSourceContextHolder.push(qcCheckType.getFactoryCode());// 这是数据源的key
try {
List<QcCheckType> dtos = qcCheckTypeMapper.getTopTaskInfo(qcCheckType);//检验任务
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

@ -36,13 +36,18 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
@Override
public List<QcInterface> getDictData(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push("master");
try {
return qcInterfaceMapper.getDictData(qcInterface);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<QcInterface> getOverallInfo(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
try {
String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD);
qcInterface.setTypeCode("checkTypeLL");
@ -87,6 +92,10 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
// dtos.add(qi2);
// /**质量看板测试结束**/
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -113,17 +122,22 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
@Override
public List<QcInterface> getSupplierBadTOP5(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
try {
String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD);
qcInterface.setCheckType("checkTypeLL");
List<QcInterface> dtos = qcInterfaceMapper.getSupplierBadTOP5(qcInterface);
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<QcInterface> getSupplierTaskList(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
try {
String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD);
List<QcInterface> dtos = qcInterfaceMapper.getSupplierTaskList(qcInterface);
@ -151,11 +165,16 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
}
}
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<QcInterface> getSupplierNoOkList(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
try {
String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD);
List<QcInterface> dtos = qcInterfaceMapper.getSupplierNoOkList(qcInterface);
@ -164,6 +183,10 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
dto.setCheckResult("Y".equals(dto.getCheckResult()) ? "合格" : "不合格");
}
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -285,6 +308,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
@Override
public QcInterface getLineDayNoOk(QcInterface qcInterface) {
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
try {
QcInterface dto = new QcInterface();
Calendar calendar = Calendar.getInstance();
@ -329,6 +353,9 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
}
dto.setSeries(series);//
return dto;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

@ -49,6 +49,7 @@ public class QcProCheckServiceImpl implements QcProCheckService {
@Override
public R<Boolean> saveQcProCheck(QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("ds_" + qcProCheck.getFactoryCode());
try {
qcProCheck.setId(UUID.randomUUID().toString().replace("-", ""));
//上传附件
@ -71,6 +72,9 @@ public class QcProCheckServiceImpl implements QcProCheckService {
qcProCheck.setCreateBy(SecurityUtils.getUsername());
qcProCheck.setCreateTime(DateUtils.getNowDate());
qcProCheckMapper.insertQcProCheck(qcProCheck);
}finally {
DynamicDataSourceContextHolder.poll();
}
return R.ok();
}
@ -93,12 +97,18 @@ public class QcProCheckServiceImpl implements QcProCheckService {
@Override
public List<QcProCheck> selectQcProCheckList(QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("ds_" + qcProCheck.getFactoryCode());
try {
return qcProCheckMapper.selectQcProCheckList(qcProCheck);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public QcProCheck getInfoByRfid(QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("ds_" + qcProCheck.getFactoryCode());
try {
QcProCheck dto = qcProCheckMapper.getInfoByRfid(qcProCheck);
if (dto == null || StringUtils.isEmpty(dto.getProductCode())) {
dto = new QcProCheck();
@ -110,6 +120,10 @@ public class QcProCheckServiceImpl implements QcProCheckService {
}
return dto;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -122,12 +136,18 @@ public class QcProCheckServiceImpl implements QcProCheckService {
public List<QcProCheck> getDictList(QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("master");
//qcProCheck.setEquipmentTypeCode("equ_type");
try {
return qcProCheckMapper.getDictList(qcProCheck);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<QcCheckTaskIncome> getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
try {
List<QcCheckTaskIncome> dtos = qcProCheckMapper.getCheckTaskList(qcCheckTaskIncome);
for (QcCheckTaskIncome dto : dtos) {
if (StringUtils.isEmpty(dto.getWorkorderCodeSap())) {
@ -140,11 +160,16 @@ public class QcProCheckServiceImpl implements QcProCheckService {
}
return dtos;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public QcCheckTaskIncome getCheckTaskDetailList(QcCheckTaskDetail qcCheckTaskDetail) {
DynamicDataSourceContextHolder.push(qcCheckTaskDetail.getFactoryCode());
try {
QcCheckTaskIncome dto = qcCheckTaskIncomeMapper.getTaskInfo(qcCheckTaskDetail.getBelongTo());
List<QcCheckTaskDetail> qcCheckTaskDetails = qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
/**qc_check_task_defect**/
@ -178,6 +203,10 @@ public class QcProCheckServiceImpl implements QcProCheckService {
dto.setDefects(defects);
return dto;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public QcCheckTaskIncome getCheckTaskDetailListCg(QcCheckTaskDetail qcCheckTaskDetail) {

@ -130,11 +130,11 @@ public class SapController extends BaseController {
sysUser.setUserId(1L);
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
List<Map<String, String>> dateSources = dateSources0.getData();
try {
dateSources.forEach(dateSource -> {
if (!"ds_999".equals(dateSource.get("poolName"))) {
logger.info("++++++++++++" + dateSource.get("poolName") + "++++bom同步开始++++++++++");
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
Date maxTime0 = sapBomMapper.getBomMaxTime();
if (maxTime0 != null) {
Calendar calendar = Calendar.getInstance();
@ -150,8 +150,11 @@ public class SapController extends BaseController {
logger.error("++++++++++++" + dateSource.get("poolName") + "++++bom同步结束++++++++++");
}
});
return R.ok();
}finally {
DynamicDataSourceContextHolder.poll();
}
return R.ok();
}
/**
@ -179,6 +182,7 @@ public class SapController extends BaseController {
sysUser.setUserId(1L);
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
List<Map<String, String>> dateSources = dateSources0.getData();
try {
dateSources.forEach(dateSource -> {
logger.info("++++++++++++" + dateSource.get("poolName") + "++++工作中心开始++++++++++");
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
@ -203,6 +207,10 @@ public class SapController extends BaseController {
}
logger.error("++++++++++++" + dateSource.get("poolName") + "++++工作中心结束++++++++++");
});
}finally {
DynamicDataSourceContextHolder.poll();
}
return R.ok();
}
@ -263,6 +271,7 @@ public class SapController extends BaseController {
sysUser.setUserId(1L);
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
List<Map<String, String>> dateSources = dateSources0.getData();
try {
dateSources.forEach(dateSource -> {
logger.info("++++++++++++" + dateSource.get("poolName") + "++++客户主数据开始++++++++++");
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
@ -288,6 +297,9 @@ public class SapController extends BaseController {
}
logger.error("++++++++++++" + dateSource.get("poolName") + "++++客户主数据结束++++++++++");
});
}finally {
DynamicDataSourceContextHolder.poll();
}
return R.ok();
}

@ -252,8 +252,10 @@ public class SapBomServiceImpl implements SapBomService {
public void createBOM(List<SapBom> sapBomList, List<SapBomComponent> sapBomComponentList) {
List<SapBom> newBomList = sapBomList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SapBom::getBomCode))), ArrayList::new));
if (newBomList.size() > 0) {
DynamicDataSourceContextHolder.push("ds_1000");
try {
if (newBomList.size() > 0) {
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for (SapBom sapBom : newBomList) {
List<SapBomComponent> sapBomComponents;
@ -295,8 +297,11 @@ public class SapBomServiceImpl implements SapBomService {
sqlSession.clearCache();
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -217,6 +217,8 @@ public class SapItemSyncImpl implements SapItemSyncService {
return R.ok();
} catch (Exception e) {
return R.fail(e.getMessage());
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -349,6 +351,8 @@ public class SapItemSyncImpl implements SapItemSyncService {
public String importProducts(List<SapBaseProduct> sapBaseProductList,String factoryCode) {
DynamicDataSourceContextHolder.push("ds_"+factoryCode);
try {
if (StringUtils.isNull(sapBaseProductList) || sapBaseProductList.size() == 0) {
throw new ServiceException("同步物料数据为空!");
}
@ -356,7 +360,7 @@ public class SapItemSyncImpl implements SapItemSyncService {
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
DynamicDataSourceContextHolder.push("ds_"+factoryCode);
for (SapBaseProduct sapBaseProduct : sapBaseProductList) {
try {
// 验证是否存在这个物料
@ -391,6 +395,10 @@ public class SapItemSyncImpl implements SapItemSyncService {
successMsg.insert(0, "恭喜您,数据已全部同步成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -1365,6 +1373,8 @@ public class SapItemSyncImpl implements SapItemSyncService {
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());
}finally {
DynamicDataSourceContextHolder.poll();
}
}

@ -52,6 +52,8 @@ public class SapRouterServiceImpl implements SapRouterService {
@Override
public R sapRouterSync(SapRouterQuery sapRouterQuery) {
DynamicDataSourceContextHolder.push("ds_"+sapRouterQuery.getWerks());
try {
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
@ -123,7 +125,7 @@ public class SapRouterServiceImpl implements SapRouterService {
JCoTable maraTable = func.getTableParameterList().getTable("LT_ROUTING");
// System.out.println("###" + metaData.toString());
List<SapProRoute> sapProRouteList = new ArrayList<>();
DynamicDataSourceContextHolder.push("ds_"+sapRouterQuery.getWerks());
for (int i = 0; i < maraTable.getNumRows(); i++) {
SapProProcess sapProProcess = new SapProProcess();
maraTable.setRow(i);
@ -312,6 +314,9 @@ public class SapRouterServiceImpl implements SapRouterService {
return R.fail(e.getMessage());
}
return R.ok(successMsg.toString());
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -138,14 +138,24 @@ public class BaseAreaServiceImpl implements IBaseAreaService {
@Override
public List<BaseArea> selectBaseAreaListSC(BaseArea baseArea) {
DynamicDataSourceContextHolder.push("ds_" + baseArea.getFactoryCode());
try {
return baseAreaMapper.selectBaseAreaList(baseArea);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public BaseWarehouse listTableCK(BaseArea baseArea) {
DynamicDataSourceContextHolder.push("ds_" + baseArea.getFactoryCode());
try {
BaseWarehouse baseWarehouse= baseAreaMapper.selectBaseWarehouse(baseArea);
return baseWarehouse;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -149,6 +149,11 @@ public class BaseWarehouseServiceImpl implements IBaseWarehouseService {
@Override
public List<BaseWarehouse> selectBaseWarehouseListTWO(BaseWarehouse baseWarehouse) {
DynamicDataSourceContextHolder.push("ds_" + baseWarehouse.getFactoryCode());
try {
return baseWarehouseMapper.selectBaseWarehouseList(baseWarehouse);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -171,7 +171,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
// @DS("#header.poolName")
public List<OdsProcureOrder> PurchaseOrderPda(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -179,6 +184,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public int PurchaseOrderdeliPda(OdsProcureOrder odsProcureOrder) {
//收货记录rawOrderInSnId。修改收货数量-------------
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
//--receiptNoCode收货单号
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//wms_raw_order_in_sn
@ -226,15 +232,23 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
//插入检验集计划
return tem;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
//@DS("#header.poolName")
public List<WmsRawOrderInSn> PurchaseOrderdetailPda(WmsRawOrderInSn wmsRawOrderInSn) {
DynamicDataSourceContextHolder.push("ds_" + wmsRawOrderInSn.getFactoryCode());
try {
wmsRawOrderInSn.setActiveFlag("1");
//u3备注
return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -675,6 +689,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
@ -711,6 +726,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
order.setCreateDate(new Date());
odsProcureOrderMapper.insertOdsProcureOrder(order);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return AjaxResult.success();
}
@ -942,6 +961,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public AjaxResult getDeliveryNoteDetail(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
//"ebelp": "10",
@ -998,6 +1018,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOrderMapper.insertOdsProcureOrder(order);
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return AjaxResult.success();
}
@ -1563,7 +1586,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public String upbatCardXNew(OdsProcureOrder order) {
String result="修改成功";
DynamicDataSourceContextHolder.push("ds_" + order.getFactoryCode());
try {
odsProcureOrderMapper.updateodsProcureOrderCardTemNumber(order);//更新标识卡。状态为1
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@ -1796,8 +1823,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//送货单,采购单,行项目,物料编码,物料名称,工厂号,托盘,状态,实际收货
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectOdsProcureOrderCardTLTWO(odsProcureOrder);
return orderList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -1859,8 +1891,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder) {
//送货单,采购单,行项目,物料编码,物料名称,工厂号,托盘,状态,实际收货
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
OdsProcureOrder order= odsProcureOrderMapper.selectOdsProcureOrderCard(odsProcureOrder);
return order;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -2259,6 +2296,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
String result="操作成功";
String factoryCode = orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
try {
for (OdsProcureOutOrder odsProcureOutOrder :
orderList) {
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
@ -2337,6 +2375,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
if (orderList1.size()>0){
OutboundPostingzcSAPGY(orderList1);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@ -2583,11 +2625,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public String addOrderCardX(List<OdsProcureOrder> orderList) {
String result1="操作成功";
String factoryCode = orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
try {
String receiptNoCode = orderList.get(0).getReceiptNoCode();
//现在是传了个list标识卡集合
String result1="操作成功";
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
//如果这样的话,就区分出来单子和对应的物料。然后根据集合放入暂收集合中
List<OdsProcureOrder> orderList1=new ArrayList<>();//
for (OdsProcureOrder order:
@ -2802,6 +2846,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
return result1;
}
return result1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

@ -242,8 +242,13 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
@Override
public List<OdsProcureOutOrder> listReturnSC(OdsProcureOutOrder odsProcureOutOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOutOrder.getFactoryCode());
try {
List<OdsProcureOutOrder> orderList = odsProcureOutOrderMapper.selectOdsProcureReturnOrderListZC(odsProcureOutOrder);
return orderList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -298,8 +303,13 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
public List<OdsProcureOutOrder> listOdsProcureOutOrderTS(OdsProcureOutOrder procureOutOrder) {
String factoryCode = procureOutOrder.getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
try {
List<OdsProcureOutOrder> odsProcureOutOrders= odsProcureOutOrderMapper.listOdsProcureOutOrderTS(procureOutOrder);
return odsProcureOutOrders;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -319,6 +329,7 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
if(orderList.size()>0){
String factoryCode = orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
try {
for (OdsProcureOutOrder odsProcureOutOrder :
orderList) {
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号"订单编号"
@ -385,6 +396,10 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}
// OdsProcureOutOrder order=new OdsProcureOutOrder();
// order.setID(ID);

@ -156,6 +156,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public WmsProductPut selectWmsProductPutByWorkOrder(String workOrder) {
//todo 需要修改
DynamicDataSourceContextHolder.push("ds_1000");
try {
/**
*
*/
@ -166,13 +167,22 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
// wmsProductPutTrayMapper.insertWmsProductPutTray(wmsProductPutTray);
// }
return wmsProductPutMapper.selectWmsProductPutByWorkOrder(workOrder);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public WmsProductPut WmsProductPutByWorkOrderquery(WmsProductPut wmsProductPut) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
try {
WmsProductPut wmsProductPut1 = wmsProductPutMapper.selectMesReportWork(wmsProductPut);
return wmsProductPut1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -188,6 +198,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public String WmsProductPutByWorkOrderConfirm(WmsProductPut wmsProductPut) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);//批次
@ -272,6 +283,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
}
return SUCCESS;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -338,8 +353,13 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public WmsProductPut WmsProductPutByWorkOrderqueryPC(WmsProductPut wmsProductPut) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
try {
WmsProductPut wmsProductPut1 = wmsProductPutMapper.selectMesReportWork(wmsProductPut);
return wmsProductPut1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -639,9 +659,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public ProOrderWorkorder selectWmsOdsWhiteEmbryoInhAnd(WmsOdsWhiteEmbryoIn wmsOdsWhiteEmbryoIns) {
//pro order workorder
//ipro order workorder batch
DynamicDataSourceContextHolder.push("ds_" + wmsOdsWhiteEmbryoIns.getSiteCode());
try {
ProOrderWorkorder proOrderWorkorder= wmsOdsWhiteEmbryoInMapper.selectProOrderWorkorder(wmsOdsWhiteEmbryoIns);
if (proOrderWorkorder!=null){
List<ProOrderWorkorderBatch> proOrderWorkorderBatchList= wmsOdsWhiteEmbryoInMapper.selectProOrderWorkorderBatch(proOrderWorkorder);
@ -658,6 +677,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
// proOrderWorkorder .setUnit("辆");
return proOrderWorkorder;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -665,6 +688,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
String result="入库成功";
//先判断这个订单是否存在//如果存在--就修改订单。-如果不存在就添加上,
DynamicDataSourceContextHolder.push("ds_" + wmsOdsWhiteEmbryoIn.getSiteCode());
try {
String unit= wmsOdsWhiteEmbryoIn.getUnit();
String userDefined1= wmsOdsWhiteEmbryoIn.getUserDefined1();
WmsOdsWhiteEmbryoIn wmsOdsWhiteEmbryoIn1= wmsOdsWhiteEmbryoInMapper.selectWmsOdsWhiteEmbryoInByOrderCodeAndUserDefined1(wmsOdsWhiteEmbryoIn);
@ -736,25 +760,39 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
// wms_ods_em_storage_news 主库
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@Override
public List<WmsProductPutTrayCode> selectSnCorrelationBarcode(WmsProductPutTrayCode wmsProductPutTrayCode) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPutTrayCode.getSiteCode());
try {
wmsProductPutTrayCode.setRelatStatus("1");
List<WmsProductPutTrayCode> wmsProductPutTrayCodeList= wmsProductPutTrayCodeMapper.selectWmsProductPutTrayCodeList(wmsProductPutTrayCode);
return wmsProductPutTrayCodeList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public String addSnCorrelationBarcode(WmsProductPutTrayCode wmsProductPutTrayCode) {
String result="关联成功";
DynamicDataSourceContextHolder.push("ds_" + wmsProductPutTrayCode.getSiteCode());
try {
wmsProductPutTrayCode.setRelatStatus("1");
wmsProductPutTrayCode.setStorageId(IdUtils.fastSimpleUUID());
wmsProductPutTrayCode.setNumber(1);
wmsProductPutTrayCodeMapper.insertWmsProductPutTrayCode(wmsProductPutTrayCode);
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@ -762,7 +800,12 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public String deletSnCorrelationBarcode(WmsProductPutTrayCode wmsProductPutTrayCode) {
String result="解除成功";
DynamicDataSourceContextHolder.push("ds_" + wmsProductPutTrayCode.getSiteCode());
try {
wmsProductPutTrayCodeMapper.deleteWmsProductPutTrayCodeByStorageId(wmsProductPutTrayCode.getStorageId());
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@ -788,6 +831,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public String selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) {
String results="提单成功";
DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode());
try {
Map<String, Object> objectMap=new HashMap<>();
objectMap.put("S_MATNR",wmsSellOutEmbryo.getProductCode());//物料号,
objectMap.put("S_TDDAT",wmsSellOutEmbryo.getAttr1());//String 计划运输日期
@ -842,6 +886,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return results;
}
@ -849,6 +897,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public String confirmFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) {
String result1="出库成功";
DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode());
try {
List<WmsProductPutTrayCode> wmsProductPutTrayCodeList= wmsSellOutEmbryo.getWmsProductPutTrayCodeList();
List<WmsFpStorageNewsSn> wmsFpStorageNewsSns = wmsSellOutEmbryo.getWmsFpStorageNewsSns();
for (WmsFpStorageNewsSn wmsFpStorageNewsSn:
@ -902,6 +951,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
wmsFpStorageNews.setWaCode(wmsFpStorageNewsSn2.getWaCode());
wmsFpStorageNewsMapper.updateWmsFpStorageNewsOut(wmsFpStorageNews);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return result1;
}
@ -909,6 +962,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public List<WmsFpStorageNewsSn> ScanCodeWholePallet(WmsProductPutTrayCode wmsProductPutTrayCode) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPutTrayCode.getSiteCode());
try {
wmsProductPutTrayCode.setRelatStatus("1");
// List<WmsProductPutTrayCode> wmsProductPutTrayCodeList= wmsProductPutTrayCodeMapper.selectWmsProductPutTrayCodeList(wmsProductPutTrayCode);//sn
WmsFpStorageNewsSn wmsFpStorageNewsSn=new WmsFpStorageNewsSn();
@ -917,11 +971,16 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
List<WmsFpStorageNewsSn> wmsFpStorageNewsSns = wmsFpStorageNewsSnMapper.selectWmsFpStorageNewsSnSTList(wmsFpStorageNewsSn);
return wmsFpStorageNewsSns;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public WmsProductPutTrayCode ScanCodeSingleBox(WmsProductPutTrayCode wmsProductPutTrayCode) {
DynamicDataSourceContextHolder.push("ds_" + wmsProductPutTrayCode.getSiteCode());
try {
wmsProductPutTrayCode.setRelatStatus("1");
//barcode
List<WmsProductPutTrayCode> wmsProductPutTrayCodeList= wmsProductPutTrayCodeMapper.selectWmsProductPutTrayCodeList(wmsProductPutTrayCode);
@ -942,6 +1001,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
return wmsProductPutTrayCode;
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return null;
}
@ -949,14 +1012,20 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public List<WmsSellOutEmbryo> selectQueryFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) {
//wms_sell_out_embryo
DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode());
try {
wmsSellOutEmbryo.setActiveFlag("1");
List<WmsSellOutEmbryo> wmsSellOutEmbryoList= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoListRE(wmsSellOutEmbryo);
return wmsSellOutEmbryoList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public String finishedProductSalesReturnTD(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
String results="提单成功";//退货单
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());
try {
Map<String, Object> objectMap=new HashMap<>();
objectMap.put("S_MATNR",wmsRuturnPutEmbryo.getProductCode());//物料号,
objectMap.put("S_TDDAT",wmsRuturnPutEmbryo.getAttr1());//String 计划运输日期
@ -1012,25 +1081,40 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
}
return results;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<BaseEquipment> selectBaseEquipmentList(BaseEquipment baseEquipment) {
DynamicDataSourceContextHolder.push("ds_" + baseEquipment.getFactoryCode());
try {
List<BaseEquipment> baseEquipments = wmsRuturnPutEmbryoMapper.selectBaseEquipmentList(baseEquipment);
return baseEquipments;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<ProOrderWorkorder> listProOrderWorkorder(ProOrderWorkorder proOrderWorkorder) {
DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
try {
List<ProOrderWorkorder> workorderList= wmsOdsWhiteEmbryoInMapper.listProOrderWorkorder(proOrderWorkorder);
return workorderList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public Integer finishedProductProductionRecords(ProOrderWorkorder proOrderWorkorder) {
DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
try {
WmsProductProductionRecords wmsProductProductionRecords=new WmsProductProductionRecords();
wmsProductProductionRecords.setSiteCode(proOrderWorkorder.getFactoryCode());
wmsProductProductionRecords.setId(IdUtils.fastSimpleUUID());
@ -1048,6 +1132,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
wmsProductProductionRecords.setCreateTime(new Date());
Integer result= wmsProductPutRecordsMapper.insertProductProductionRecord(wmsProductProductionRecords);
return result;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -1063,6 +1151,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut) {
// 使用 split 方法根据 '-' 分割字符串,结果是一个字符串数组
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
try {
// String[] attributes = wmsProductPut.getPallet().split("-");
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletcode(wmsProductPut);
String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性
@ -1117,11 +1206,16 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
wmsProductPut1.setPallet(wmsProductPut.getPallet());
return wmsProductPut1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public ProOrderWorkorder finishedProductProductionRecordscar(ProOrderWorkorder proOrderWorkorder) {
DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
try {
//String[] attributes = proOrderWorkorder.getAttr1().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletAtter(proOrderWorkorder);
@ -1141,6 +1235,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
proOrderWorkorder.setProductName(wmsProductPut1.getProductName());
// proOrderWorkorder.setAttribute3(attribute3);
return proOrderWorkorder;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -1149,6 +1247,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
// waCode
// factoryCode
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);//批次
@ -1270,15 +1369,24 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
wmsProductPutMapper.updateProOrderWorkorderBatchPallet(wmsProductPut1.getSn());
}
return SUCCESS;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<WmsSellOutEmbryo> selectQueryFinishedProductSalesTS(WmsSellOutEmbryo wmsSellOutEmbryo) {
//wms_sell_out_embryo
DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode());
try {
wmsSellOutEmbryo.setActiveFlag("1");
List<WmsSellOutEmbryo> wmsSellOutEmbryoList= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoListTS(wmsSellOutEmbryo);
return wmsSellOutEmbryoList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@ -1367,13 +1475,19 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public List<WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());
try {
List<WmsRuturnPutEmbryo> wmsRuturnPutEmbryoList= wmsRuturnPutEmbryoMapper.selectWmsRuturnPutEmbryo(wmsRuturnPutEmbryo);
return wmsRuturnPutEmbryoList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public String FinishedProductSalesReturnConfirm(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);//批次
@ -1456,19 +1570,29 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
}
return SUCCESS;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public List<WmsAllocationOutEmbryo> selectFinishedProductTransferAndOutbound(WmsAllocationOutEmbryo wmsAllocationOutEmbryo) {
DynamicDataSourceContextHolder.push("ds_" + wmsAllocationOutEmbryo.getFactoryCode());
try {
List<WmsAllocationOutEmbryo> wmsAllocationOutEmbryoList= wmsSellOutEmbryoMapper.selectWmsAllocationOutEmbryoList(wmsAllocationOutEmbryo);
return wmsAllocationOutEmbryoList;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public String confirmFinishedProductTransferAndOutbound(WmsAllocationOutEmbryo wmsRuturnPutEmbryo) {
String result1="出库成功";
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());
try {
List<WmsProductPutTrayCode> wmsProductPutTrayCodeList= wmsRuturnPutEmbryo.getWmsProductPutTrayCodeList();
//成品销售出库--确认接口---修改出库单,--出库库存
WmsAllocationOutEmbryo wmsSellOutEmbryo1 = wmsSellOutEmbryoMapper.selectWmsAllocationOutEmbryoById(wmsRuturnPutEmbryo.getId());
@ -1518,16 +1642,25 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
wmsFpStorageNewsMapper.updateWmsFpStorageNewsOut(wmsFpStorageNews);
}
return result1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public WmsFpStorageNewsSn palletScanning(WmsFpStorageNewsSn wmsFpStorageNewsSn) {
DynamicDataSourceContextHolder.push("ds_" + wmsFpStorageNewsSn.getFactoryCode());
try {
wmsFpStorageNewsSn.setActiveFlag("1");
List<WmsFpStorageNewsSn> wmsFpStorageNewsSnList= wmsFpStorageNewsSnMapper.selectWmsFpStorageNewsSnList(wmsFpStorageNewsSn);
if (wmsFpStorageNewsSnList.size()>0){
return wmsFpStorageNewsSnList.get(0);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return null;
}
@ -1535,6 +1668,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public String palletTransferConfirmation(WmsFpStorageNewsSn wmsFpStorageNewsSn) {
String result1="移库成功";
DynamicDataSourceContextHolder.push("ds_" + wmsFpStorageNewsSn.getFactoryCode());
try {
String toWlCode=wmsFpStorageNewsSn.getTowlCode();
WmsFpStorageNewsSn wmsFpStorageNewsSn1= wmsFpStorageNewsSnMapper.selectWmsFpStorageNewsSnByStorageId(wmsFpStorageNewsSn.getStorageId());
//减库存明细
@ -1587,6 +1721,10 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
} else {
wmsFpStorageNewsMapper.insertWmsFpStorageNews(wmsFpStorageNews1);
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return result1;
}
/**

@ -80,6 +80,7 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
public int insertWmsSellOutTray(WmsSellOutTray wmsSellOutTray) {
//todo 需要修改
DynamicDataSourceContextHolder.push("ds_1000");
try {
ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();
String deliveryOrder = opsForValue.get("deliveryOrder");
String productCode = opsForValue.get("productCode");
@ -142,6 +143,10 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
//// throw new ServiceException("这个产品已经出库!");
//// }
return wmsSellOutTrayMapper.insertWmsSellOutTray(wmsSellOutTray);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -192,6 +197,7 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
public int handSellOut(List<WmsSellOutTray> wmsSellOutTrays) {
//todo 需要修改
DynamicDataSourceContextHolder.push("ds_1000");
try {
for (WmsSellOutTray wmsSellOutTray : wmsSellOutTrays) {
//todo 根据箱码查询托盘号
WmsProductPutTrayCode wmsProductPutTrayCode = wmsProductPutTrayCodeMapper.selectWmsProductPutTrayCodeByBarcode(wmsSellOutTray.getBarcode());
@ -240,6 +246,10 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
redisTemplate.delete("deliveryOrder");
redisTemplate.delete("productCode");
return 1;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -254,7 +264,11 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
public List<WmsSellOutTray> selectWmsSellOutTraysByIDAndCode(String deliveryOrder, String productCode) {
//todo 需要修改
DynamicDataSourceContextHolder.push("ds_1000");
try {
return wmsSellOutTrayMapper.selectWmsSellOutTraysByDeliveryOrderAndProductCode(deliveryOrder, productCode);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -267,6 +281,11 @@ public class WmsSellOutTrayServiceImpl implements IWmsSellOutTrayService {
public int deleteWmsSellOutTrayByBarcode(String barcode) {
//todo 需要修改
DynamicDataSourceContextHolder.push("ds_1000");
try {
return wmsSellOutTrayMapper.deleteWmsSellOutTrayByBarcode(barcode);
}finally {
DynamicDataSourceContextHolder.poll();
}
}
}

@ -44,12 +44,17 @@ public class WmsToWCSInterfaceServiceImpl implements IWmsToWCSInterfaceService {
@DS("#header.poolName")
public WmsToWCSDTO requestMaterialLoadNo(WmsToWCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
WmsToWCSDTO wmsToWCSDTO = wmsToWCSInterfaceMapper.selectWmsToWCSDTO(wcsdto);
// wmsToWCSDTO.set//
wmsToWCSDTO.setCode("0");
wmsToWCSDTO.setReqCode(wcsdto.getReqCode());
wmsToWCSDTO.setMessage("OK");
return wmsToWCSDTO;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -63,6 +68,7 @@ public class WmsToWCSInterfaceServiceImpl implements IWmsToWCSInterfaceService {
@DS("#header.poolName")
public WmsToWCSDTO blankStorageOrTransferCompleted(WmsToWCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
WmsOdsWhiteEmbryoIn wmsOdsWhiteEmbryoIn1 = new WmsOdsWhiteEmbryoIn();
//rfidNo-托盘
@ -110,6 +116,10 @@ public class WmsToWCSInterfaceServiceImpl implements IWmsToWCSInterfaceService {
wmsToWCSDTO.setReqCode(wcsdto.getReqCode());
wmsToWCSDTO.setMessage("OK");
return wmsToWCSDTO;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

@ -39,6 +39,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
@Override
public WmsToWCSODTO packagingStorage(WmsToWCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
WmsToWCSDTO wmsToWCSDTO = wmsRawOrderInMapper.packagingStorage(wcsdto);
// wmsToWCSDTO.set//
if (wmsToWCSDTO == null) {
@ -63,6 +64,10 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsToWCSODTO.setMessage(MESSAGE);
return wmsToWCSODTO;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -75,6 +80,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
public WmsToWCSDTO packingMaterialsInboundCompleted(WmsToWCSDTO wmsToWCSDTO) {
DynamicDataSourceContextHolder.push("ds_" + wmsToWCSDTO.getFactory());
//wms_raw_order_in_sn
try {
WmsRawOrderInSn wmsRawOrderInSn = wmsRawOrderInSnMapper.selectwmsRfidNo(wmsToWCSDTO);
wmsRawOrderInSn.setWhCode(wmsToWCSDTO.getWarehouseNo());
wmsRawOrderInSn.setWlCode(wmsToWCSDTO.getLocation());
@ -128,6 +134,10 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsToWCSDTO.setCode("0");
wmsToWCSDTO.setMessage("OK");
return wmsToWCSDTO;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
/**
@ -140,7 +150,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
public WmsToWCSDTO packingMaterialsOutBoundCompleted(WmsToWCSDTO wcsdto) {
//记录明细消减库存--wms_raw_mission_out-
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);
//user_defined1='2'也就是查询的已经入库的托盘记录,再之后要进行标记备注5为1.不为空即是这,
@ -159,11 +169,17 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsOdsMateStorageNewsSn.setUserDefined1("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
return wcsdto;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
public WmsToWCSODTO finishedProductRequestInbound(WmsToWCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
//其中wcsdto的rfidNo属性先传托盘号原因---还没有自动码垛
WmsToWCSDTO wmsToWCSDTO = wmsRawOrderInMapper.finishedProductRequestInbound(wcsdto);
@ -192,6 +208,10 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsToWCSODTO.setMessage(MESSAGE);
return wmsToWCSODTO;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override
@ -249,8 +269,13 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
// //修改托盘记录为入库
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);
//在入库手持那里已经入了他没有用rfid而是托盘但是成品手持下线入库在下下线入库那里已经入了除非后续用自动码垛不用手持的下线入库
try {
wmsToWCSDTO.setCode("0");
wmsToWCSDTO.setMessage("OK");
}finally {
DynamicDataSourceContextHolder.poll();
}
return wmsToWCSDTO;
}
@ -258,6 +283,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
public WmsToWCSDTO finishedProductOutBoundCompleted(WmsToWCSDTO wcsdto) {
//记录明细消减库存--wms_raw_mission_out-
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
try {
WmsSellOutEmbryo wmsSellOutEmbryo=new WmsSellOutEmbryo();
wmsSellOutEmbryo.setDeliveryOrder(wcsdto.getOrderNo());//查询对应的销售订单
List<WmsSellOutEmbryo> wmsSellOutEmbryos = wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoList(wmsSellOutEmbryo);
@ -315,6 +341,10 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wcsdto.setCode("0");
wcsdto.setMessage("OK");
return wcsdto;
}finally {
DynamicDataSourceContextHolder.poll();
}
}
@Override

Loading…
Cancel
Save