获取pdm图纸地址

liweidong
liweidong-hj 7 hours ago
parent a88723b2fc
commit b50ff5b3c9
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/constant/DsPartConstant.java
  2. 9
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataPartClient.java
  3. 5
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataPartClientFallback.java
  4. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsPartController.java
  5. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java
  6. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  7. 6
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataPartClient.java
  8. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPartMapper.java
  9. 13
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPartMapper.xml
  10. 9
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpPartService.java
  11. 26
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpPartServiceImpl.java

@ -27,5 +27,5 @@ public interface DsPartConstant {
*/
Integer SIN_TER_TYPE_SMM = 5;
//endregion
String PDM_DRAWING_URL = "http://MESLoginUser:MESloginUseradmin@pdm.caoe.com/Windchill/netmarkets/jsp/ext/caoe/mes/export.jsp?oid=";
}

@ -43,6 +43,7 @@ public interface IErpDataPartClient {
String API_PREFIX = "/feign/erpdata/client";
String SENDING_PART_GIVE_ERP = API_PREFIX + "/sendingPartGiveErp";
String OPEN_PDM_DRAWING = API_PREFIX + "/openPdmDrawing";
/**
* 调用erp过程发送零件信息烧结零件不同步erp
@ -50,4 +51,12 @@ public interface IErpDataPartClient {
*/
@PostMapping(SENDING_PART_GIVE_ERP)
void sendingPartGiveErp(org.springblade.desk.dashboard.pojo.entity.DsPartEntity dsPart);
/**
* 获取pdm图纸地址
* @param partCode
* @return
*/
@PostMapping(OPEN_PDM_DRAWING)
String openPdmDrawing(String partCode);
}

@ -16,4 +16,9 @@ public class IErpDataPartClientFallback implements IErpDataPartClient {
public void sendingPartGiveErp(org.springblade.desk.dashboard.pojo.entity.DsPartEntity dsPart) {
R.fail("调用erp过程发送零件信息 失败");
}
@Override
public String openPdmDrawing(String partCode) {
return "获取PDM图纸失败";
}
}

@ -40,9 +40,11 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.constant.DsPartConstant;
import org.springblade.desk.dashboard.pojo.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -75,6 +77,7 @@ public class DsPartController extends BladeController {
private final IDsPartService dsPartService;
/**
* 零件信息表 详情
*/
@ -273,6 +276,21 @@ public class DsPartController extends BladeController {
return R.data(dsPartService.selectAll());
}
/**
* 获取pdm图纸地址
*/
@GetMapping("/getPdmDocLink")
@ApiOperationSupport(order = 1)
@Operation(summary = "获取pdm图纸地址")
public R syncPart(@RequestParam String partCode) {
String url = null;
String docLink = dsPartService.openPdmDrawing(partCode);
if (StringUtils.isNotBlank(docLink)) {
url = DsPartConstant.PDM_DRAWING_URL + docLink;
}
return R.data(url);
}
/**
* 测试接口

@ -288,4 +288,11 @@ public interface IDsPartService extends BaseService<DsPartEntity> {
* @return
*/
List<DsProcessMoldToolEntity> getClassCakeWork(String partCode,String roamNo,String partVersion);
/**
* 根据零件号查询图纸
* @param partCode
* @return
*/
String openPdmDrawing(String partCode);
}

@ -426,7 +426,7 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
updateById(dsPart);
if (!TaskingConstant.IS_SINTERING.equals(dsPart.getIsSintering())) {
if ((org.apache.commons.lang3.StringUtils.isNotBlank(dsPart.getCraftWay()) && dsPart.getCraftWay().contains("4"))) {
// todo getErpDataPartClient().sendingPartGiveErp(dsPart);
//todo getErpDataPartClient().sendingPartGiveErp(dsPart);
}
}
if (!CollectionUtils.isEmpty(zPartList)) {
@ -848,6 +848,21 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
return null;
}
@Override
public String openPdmDrawing(String partCode) {
//判断零件是否存在
List<DsPartEntity> dsPartEntityList = selectDsPartByPatCode(partCode);
if(CollectionUtils.isEmpty(dsPartEntityList)){
throw new ServiceException("零件号不存在:"+partCode);
}
log.info("零件号存在:{}",partCode);
//查询erp
String url = getErpDataPartClient().openPdmDrawing(partCode);
return url;
}
/**
* 创建维护任务
*/

@ -28,4 +28,10 @@ public class ErpDataPartClient implements IErpDataPartClient{
public void sendingPartGiveErp(DsPartEntity dsPart) {
partService.sendingPartGiveErp(dsPart);
}
@Override
@GetMapping(OPEN_PDM_DRAWING)
public String openPdmDrawing(String partCode) {
return partService.openPdmDrawing(partCode);
}
}

@ -1,6 +1,8 @@
package org.springblade.erpdata.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.mapper.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.erpdata.pojo.dto.table.Wo;
/**
@ -8,7 +10,10 @@ import org.springblade.erpdata.pojo.dto.table.Wo;
*
* @author lqk
*/
public interface ErpPartMapper extends BaseMapper<Wo> {
public interface ErpPartMapper extends Mapper {
String selectPdmpart(@Param("partCode") String partCode);
String selectPrtbasdef(@Param("partCode") String partCode);
}

@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace = "org.springblade.erpdata.mapper.ErpPartMapper">
<select id="selectPdmpart" resultType="java.lang.String">
select a.oid from (select a.*
from dba_mgr.v_mes_rb_pdmpart a
where a.prtno=#{partCode} order by createtime desc) a
where rownum=1
</select>
<select id="selectPrtbasdef" resultType="java.lang.String">
SELECT a.oid
FROM dba_mgr.v_mes_rb_prtbasdef a
WHERE a.prtno = #{partCode}
AND ROWNUM = 1;
</select>
</mapper>

@ -11,11 +11,18 @@ import org.springblade.erpdata.pojo.dto.table.Wo;
*
* @author lqk
*/
public interface IErpPartService extends BaseService<Wo> {
public interface IErpPartService {
/**
* 同步零件数据至ERP
* @param dsPart
*/
void sendingPartGiveErp(DsPartEntity dsPart) ;
/**
*获取pdm图纸地址
* @param partCode
* @return
*/
String openPdmDrawing(String partCode);
}

@ -1,5 +1,6 @@
package org.springblade.erpdata.service.impl;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.google.protobuf.ServiceException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -8,6 +9,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.erpdata.mapper.ErpPartMapper;
import org.springblade.erpdata.mapper.ErpPartoplinkFirseqMapper;
import org.springblade.erpdata.mapper.ErpWoMapper;
import org.springblade.erpdata.pojo.dto.table.Wo;
import org.springblade.erpdata.service.IErpPartService;
@ -26,9 +28,10 @@ import java.sql.Timestamp;
@Slf4j
@RequiredArgsConstructor
@Service
public class ErpPartServiceImpl extends BaseServiceImpl<ErpPartMapper, Wo> implements IErpPartService {
public class ErpPartServiceImpl implements IErpPartService {
private final DataSource dataSource;
private final ErpPartMapper erpPartMapper;
@Override
public void sendingPartGiveErp(DsPartEntity dsPart) {
@ -59,4 +62,25 @@ public class ErpPartServiceImpl extends BaseServiceImpl<ErpPartMapper, Wo> imple
log.error("JDBC调用ERP失败:{}", dsPart.getPartCode(), e);
}
}
@Override
public String openPdmDrawing(String partCode) {
// 查询视图 v_mes_rb_pdmpart
log.info("查询erp获取图纸地址:{}",partCode);
String url = erpPartMapper.selectPdmpart(partCode);
if(StringUtils.isNotEmpty(url)){
log.info("从pdmpart获取到pdm图纸地址:{}", url);
return url;
}
// 如果v_mes_rb_pdmpart为空,查询v_mes_rb_prtbasdef
url = erpPartMapper.selectPrtbasdef(partCode);
if(StringUtils.isNotEmpty(url)){
log.info("从prtbasdef获取到pdm图纸地址:{}", url);
return url;
}
log.warn("未找到零件{}的pdm图纸地址", partCode);
return null;
}
}

Loading…
Cancel
Save