package com.lxzn.mes.service.impl;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.lxzn.base.service.IDncLogService;
|
import com.lxzn.base.service.IMultilevelDictionaryService;
|
import com.lxzn.framework.domain.base.DncLog;
|
import com.lxzn.framework.domain.base.MultilevelDictionary;
|
import com.lxzn.framework.domain.base.ext.MultilevelDictionaryExt;
|
import com.lxzn.framework.domain.mes.ext.MesDispatchTaskReceive;
|
import com.lxzn.framework.domain.mes.ext.MesProcedureFinishReceive;
|
import com.lxzn.framework.domain.mes.ext.MesSyncEquipmentReceive;
|
import com.lxzn.framework.domain.mes.ext.MesSyncWorkmanshipReceive;
|
import com.lxzn.framework.domain.plm.QueryNcProgramLog;
|
import com.lxzn.framework.utils.JsonMapper;
|
import com.lxzn.framework.utils.LogCodeUtil;
|
import com.lxzn.mes.ext.MesResultList;
|
import com.lxzn.mes.ext.MesResultModel;
|
import com.lxzn.mes.service.*;
|
import com.lxzn.plm.service.IPdmProgramSourceService;
|
import com.lxzn.plm.service.IQueryNcProgramLogService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import javax.jws.WebParam;
|
import javax.jws.WebService;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author clown
|
* * @date 2022/10/28
|
*/
|
@Component
|
@WebService(name = "MesWebServiceApi", targetNamespace = "http://mes.lxzn.com",
|
endpointInterface = "com.lxzn.mes.service.MesWebServiceApi")
|
@Slf4j
|
public class MesWebServiceImpl implements MesWebServiceApi {
|
|
@Autowired
|
private IMesDispatchTaskService mesDispatchTaskService;
|
@Autowired
|
private IMesProcedureFinishService mesProcedureFinishService;
|
@Autowired
|
private IMesSyncEquipmentService mesSyncEquipmentService;
|
@Autowired
|
private IMesSyncWorkmanshipService mesSyncWorkmanshipService;
|
@Autowired
|
private IDncLogService dncLogService;
|
@Autowired
|
private IPdmProgramSourceService pdmProgramSourceService;
|
@Autowired
|
private IQueryNcProgramLogService queryNcProgramLogService;
|
@Autowired
|
private IMultilevelDictionaryService multilevelDictionaryService;
|
|
|
@Override
|
public String issuedDispatchTask(@WebParam String data) {
|
if(null == data || "".equals(data.trim())){
|
return MesResultModel.error("接收到的数据为空");
|
}
|
DncLog dncLog = new DncLog();
|
dncLog.setNcType(LogCodeUtil.mes_code);
|
JsonMapper mapper = new JsonMapper();
|
try {
|
MesDispatchTaskReceive setMes = mapper.fromJson(data, new TypeReference<MesDispatchTaskReceive>() {});
|
dncLog.setIsSuccess(LogCodeUtil.success_is_false);
|
if (StringUtils.isEmpty(setMes.getMdsWorkcenterId())) {
|
dncLog.setContentName("工厂不存在,数据处理失败");
|
dncLogService.save(dncLog);
|
return MesResultModel.error("工厂不存在,数据处理失败");
|
}
|
dncLog.setWorkshopNo(setMes.getMdsWorkcenterId());
|
if (StringUtils.isEmpty(setMes.getMdsEquipmentId())) {
|
dncLog.setContentName("设备编号为空,数据处理失败");
|
dncLogService.save(dncLog);
|
return MesResultModel.error("设备编号为空,数据处理失败");
|
}
|
dncLog.setEquipmentId(setMes.getMdsEquipmentId());
|
|
//去除部分数据
|
List<MultilevelDictionaryExt> dictionaryList = multilevelDictionaryService.findListByTypeCode("workcenter");
|
if (dictionaryList != null && !dictionaryList.isEmpty()) {
|
Map<String,String> map = new HashMap<>();
|
for (MultilevelDictionaryExt ext : dictionaryList) {
|
map.put(ext.getDicName(),ext.getDicName());
|
}
|
if (!map.containsKey(setMes.getMdsWorkcenterId())) {
|
return MesResultModel.error(setMes.getMdsWorkcenterId() + " 车间不在此实施范围内!!!");
|
}
|
}
|
|
if (StringUtils.isEmpty(setMes.getMdsItemCode())) {
|
dncLog.setContentName("零件号不存在,数据处理失败");
|
dncLogService.save(dncLog);
|
return MesResultModel.error("零件号不存在,数据处理失败");
|
}
|
if (StringUtils.isEmpty(setMes.getBatchNo())) {
|
dncLog.setContentName("工艺信息不存在,数据处理失败");
|
dncLogService.save(dncLog);
|
return MesResultModel.error("工艺信息不存在,数据处理失败");
|
}
|
if (StringUtils.isEmpty(setMes.getRouteId())) {
|
dncLog.setContentName("工艺规程版本不存在,数据处理失败");
|
dncLogService.save(dncLog);
|
return MesResultModel.error("工艺规程版本不存在,数据处理失败");
|
}
|
MesResultModel list = mesDispatchTaskService.saveOrUpdateDis(setMes);
|
if(list == null) {
|
log.error("[list]:数据保存失败");
|
return MesResultModel.error("数据保存失败");
|
}
|
return MesResultModel.success(list.getSuccFlag());
|
} catch (Exception e) {
|
log.error(data);
|
e.printStackTrace();
|
return MesResultModel.error("数据异常,格式不对,无法解析" + "_"+ e.getMessage());
|
|
}
|
}
|
|
@Override
|
public String issuedProcedureFinish(String data) {
|
if(null == data || "".equals(data.trim())){
|
return MesResultList.error("接收到的数据为空");
|
}
|
JsonMapper mapper = new JsonMapper();
|
try {
|
MesProcedureFinishReceive setMes = mapper.fromJson(data, new TypeReference<MesProcedureFinishReceive>(){});
|
|
MesResultModel list = mesProcedureFinishService.saveOrUpdateDis(setMes);
|
if(list == null) {
|
log.error("[list]:数据保存失败");
|
return MesResultModel.error("数据保存失败");
|
}
|
return MesResultModel.success(list.getSuccFlag());
|
} catch (Exception e) {
|
log.error("接收到数据:" + data);
|
e.printStackTrace();
|
return MesResultModel.error("数据异常,格式不对,无法解析" + "_"+ e.getMessage());
|
|
}
|
}
|
|
|
@Override
|
public String syncEquipmentListInfo(String data) {
|
if(null == data || "".equals(data.trim())){
|
return MesResultList.error("接收到的数据为空");
|
}
|
JsonMapper mapper = new JsonMapper();
|
try {
|
MesSyncEquipmentReceive setMes = mapper.fromJson(data, new TypeReference<MesSyncEquipmentReceive>() {});
|
|
MesResultModel list = mesSyncEquipmentService.saveOrUpdateDis(setMes);
|
if(list == null) {
|
log.error("[list]:数据保存失败");
|
return MesResultModel.error("数据保存失败");
|
}
|
return MesResultModel.success(list.getSuccFlag());
|
} catch (Exception e) {
|
log.error("接收到数据:" + data);
|
e.printStackTrace();
|
return MesResultModel.error("数据异常,格式不对,无法解析" + "_"+ e.getMessage());
|
|
}
|
}
|
|
@Override
|
public String syncWorkmanship(String data) {
|
if(null == data || "".equals(data.trim())){
|
return MesResultList.error("接收到的数据为空");
|
}
|
JsonMapper mapper = new JsonMapper();
|
try {
|
MesSyncWorkmanshipReceive setMes = mapper.fromJson(data, new TypeReference<MesSyncWorkmanshipReceive>() {});
|
log.error("接收到数据:" + data);
|
MesResultModel list = mesSyncWorkmanshipService.saveOrUpdateMes(setMes);
|
if(list == null) {
|
log.error("[list]:数据保存失败");
|
return MesResultModel.error("数据保存失败");
|
}
|
return MesResultModel.success(list.getSuccFlag());
|
} catch (Exception e) {
|
e.printStackTrace();
|
return MesResultModel.error("数据异常,格式不对,无法解析" + "_"+ e.getMessage());
|
|
}
|
}
|
|
@Override
|
public String syncPlmNcLogProgram(String data) {
|
if(null == data || "".equals(data.trim())){
|
return MesResultModel.error("接收到的数据为空");
|
}
|
JsonMapper mapper = new JsonMapper();
|
try {
|
QueryNcProgramLog setMes = mapper.fromJson(data, new TypeReference<QueryNcProgramLog>(){});
|
|
queryNcProgramLogService.save(setMes);
|
/*try {
|
pdmProgramSourceService.pdmProgramSyncSave(setMes);
|
}catch (Exception e) {
|
e.getMessage();
|
return MesResultModel.success("2");
|
}*/
|
/*if(!bf) {
|
log.error("[list]:数据保存失败");
|
return MesResultModel.error("数据保存失败");
|
}*/
|
return MesResultModel.success("1");
|
} catch (Exception e) {
|
log.error("接收到数据:" + data);
|
e.printStackTrace();
|
}
|
return MesResultModel.error("接收到的数据为空");
|
}
|
|
}
|