Merge branch 'liweidong'

liweidong
liweidong-hj 3 weeks ago
commit 05da1d69b6
  1. 8
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java
  3. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java
  4. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsTaskingMapper.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml
  6. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java
  8. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  9. 78
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java

@ -12,9 +12,9 @@ public interface LauncherConstant {
/**
* nacos 命名空间
*/
// String NACOS_NAMESPACE = "feaf627f-a847-463b-8b73-24a0538f526e";
String NACOS_NAMESPACE = "feaf627f-a847-463b-8b73-24a0538f526e";
// 生产环境
String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401";
// String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401";
// 测试环境
// String NACOS_NAMESPACE = "6cdd0310-0d61-4f54-891a-7fb06224d9b8";
@ -31,8 +31,8 @@ public interface LauncherConstant {
/**
* nacos dev 地址
*/
String NACOS_DEV_ADDR = "192.168.249.27:8848";
// String NACOS_DEV_ADDR = "127.0.0.1:8848";
// String NACOS_DEV_ADDR = "192.168.249.27:8848";
String NACOS_DEV_ADDR = "127.0.0.1:8848";
/**R
* nacos prod 地址

@ -182,8 +182,14 @@ public class DsTaskingEntity extends BaseEntity {
/**
* 批次号
*/
@TableField(value = "BATCH_NO")
@Schema(description = "批次号")
private String batchNo;
/**
* 返工原因
*/
@Schema(description = "返工原因")
private String reworkReason;
}

@ -401,14 +401,21 @@ public class DsTaskingController extends BladeController {
}
/**
* 零件信息表 详情-工艺详情
*/
@GetMapping("/syncPart")
public R craftDetail(@RequestParam String StartTime,
@RequestParam String endTime) {
public R syncPart( @RequestParam(required = false)String StartTime,
@RequestParam(required = false)String endTime,
@RequestParam(required = false)String partCode) {
boolean b = dsTaskingService.syncPart(StartTime,endTime,partCode);
return R.data(b);
}
@GetMapping("/syncTasking")
public R craftDetail() {
boolean b = dsTaskingService.syncPart(StartTime,endTime);
boolean b = dsTaskingService.syncTasking();
return R.data(b);
}

@ -130,5 +130,7 @@ public interface DsTaskingMapper extends BaseMapper<DsTaskingEntity> {
*/
DsPartEntity getOldMesPartByPartCode(@Param("partCode") String partCode);
List<DsPartEntity> getOldMesAllPart(@Param("startTime") String startTime,@Param("endTime") String endTime);
List<DsPartEntity> getOldMesAllPart(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("partCode") String partCode);
}

@ -391,7 +391,7 @@
src.PART_CODE, src.SUB_CODE, src.SUB_NAME, src.QUOTA,
src.SUB_TYPE, src.PRODUCT_TYPE, src.AREA, src.CONFIG_NO, src.PLATE,
src.MATERIAL, src.PLATE_CODE, src.SIN_TER_TYPE
FROM MJMES.DS_PART_SUB src where src.PART_CODE = #{partCode}
FROM TOOL_MES.DS_PART_SUB src where src.PART_CODE = #{partCode}
</select>
<select id="selectListPartByCodeLike" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartEntity">
SELECT

@ -139,8 +139,15 @@
<select id="getOldMesAllPart" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartEntity">
SELECT * FROM P_RB_SYNC_PART
WHERE UPDATE_TIME BETWEEN to_date(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND to_date(#{endTime}, 'YYYY-MM-DD HH24:MI:SS');
WHERE 1=1
<if test="startTime != null and endTime != null">
AND UPDATE_TIME BETWEEN to_date(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND to_date(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="partCode != null and partCode !=''">
AND part_code = #{partCode}
</if>
</select>
</mapper>

@ -234,5 +234,5 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
* 同步零件
* @return
*/
boolean syncPart(String startTime, String endTime);
boolean syncPart( String startTime, String endTime,String partCode);
}

@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.desk.dashboard.constant.TaskingConstant;
@ -21,6 +22,8 @@ import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.dashboard.utils.DateUtils;
import org.springblade.erpdata.feign.IErpDataPartClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@ -121,7 +124,19 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
if (!CollectionUtils.isEmpty(dsPartVOS)) {
for (DsPartVO dsPartVO : dsPartVOS) {
if(null != dsPartVO.getUpdateUser()){
dsPartVO.setUpdateUserStr(userClient.userInfo(Func.toLong(dsPartVO.getUpdateUser())).getData().getUser().getName());
// 安全获取用户名称
try {
R<UserInfo> userInfoR = userClient.userInfo(Func.toLong(dsPartVO.getUpdateUser()));
if (userInfoR != null && userInfoR.getData() != null) {
User user = userInfoR.getData().getUser();
if (user != null) {
dsPartVO.setUpdateUserStr(user.getName());
}
}
} catch (Exception e) {
log.error("获取用户信息失败, userId: {}", dsPartVO.getUpdateUser(), e);
}
}
String isSintering = dsPartVO.getIsSintering();
if (TaskingConstant.IS_SINTERING.equals(isSintering)) {
@ -133,7 +148,19 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
List<DsPartVersionVO> dsPartEntityList = dsPartMapper.selectDsPartVersionByIds(idList);
for (DsPartVersionVO dsPartVersionVO : dsPartEntityList) {
if(null != dsPartVersionVO.getUpdateUser()){
dsPartVersionVO.setUpdateUserStr(userClient.userInfo(Func.toLong(dsPartVersionVO.getUpdateUser())).getData().getUser().getName());
// 安全获取用户名称
try {
R<UserInfo> userInfoR = userClient.userInfo(Func.toLong(dsPartVersionVO.getUpdateUser()));
if (userInfoR != null && userInfoR.getData() != null) {
User user = userInfoR.getData().getUser();
if (user != null) {
dsPartVersionVO.setUpdateUserStr(user.getName());
}
}
} catch (Exception e) {
log.error("获取用户信息失败, userId: {}", dsPartVO.getUpdateUser(), e);
}
}
}
dsPartVO.setChildren(dsPartEntityList);

@ -26,6 +26,7 @@
package org.springblade.desk.dashboard.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
@ -40,14 +41,13 @@ import org.springblade.desk.dashboard.pojo.vo.*;
import org.springblade.desk.dashboard.excel.DsTaskingExcel;
import org.springblade.desk.dashboard.mapper.DsTaskingMapper;
import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.order.pojo.entity.MoldApply;
import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.service.IMoldApplyService;
import org.springblade.desk.order.service.IMoldDemandService;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.produce.service.IWorkOrderService;
import org.springblade.desk.produce.service.IWorkPlanService;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.erpdata.feign.IErpDataReworkTaskClient;
@ -155,6 +155,9 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
@Autowired
IMoldDemandService moldDemandService;
@Autowired
IReviewSheetService reviewSheetService;
@Override
@ -1001,8 +1004,11 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
partVersion = yieldOrder.getPartVersion();
}
dsTasking.setVersion(partVersion);
// todo 查审理单 获取返修原因
// 查审理单 获取返修原因
String reworkMemo = getReworkMemo(reworkOrder);
if (!StringUtils.isEmpty(reworkMemo)) {
dsTasking.setReworkReason(reworkMemo);
}
// 2. 保存任务信息
if(TaskingConstant.TASK_STATUS_ALREADY.equals(dsTasking.getTaskStatus())){
@ -1552,9 +1558,9 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
}
@Override
public boolean syncPart(String startTime, String endTime) {
public boolean syncPart(String startTime, String endTime,String partCode) {
//查询所有老mes零件
List<DsPartEntity> dsPartEntityList = taskingMapper.getOldMesAllPart(startTime,endTime);
List<DsPartEntity> dsPartEntityList = taskingMapper.getOldMesAllPart(startTime,endTime,partCode);
for (DsPartEntity partEntity : dsPartEntityList) {
// 2. 递归处理零件及其子件
@ -1565,7 +1571,6 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
}
}
return true;
}
@ -1598,6 +1603,8 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
if(TaskingConstant.TASK_STATUS_ALREADY.equals(dsTasking.getTaskStatus())){
dsTasking.setTaskStatus(TaskingConstant.TASK_STATUS_UNDERWAY);
}
// 新图变更不同步返工单号
dsTasking.setReworkOrder(null);
dsTasking.setVersion(partVersionEntity.getPartVersion());
int taskingInsert = taskingMapper.insert(dsTasking);
if (taskingInsert <= 0) {
@ -2172,7 +2179,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
}
private boolean callPartSyncService(String prtno) {
//todo 同步零件信息
return true;
}
@ -2299,4 +2306,59 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
return processTree;
}
/**
* 根据返修单号获取返修原因
* @param reworkOrder 返修单号
* @return 返修原因查询失败时返回 null
*/
private String getReworkMemo(String reworkOrder) {
if (StringUtils.isEmpty(reworkOrder)) {
log.warn("返修单号为空");
return null;
}
try {
ReviewSheetErpSearch reviewSheetErpSearch = new ReviewSheetErpSearch();
reviewSheetErpSearch.setRsCode(reworkOrder);
Page<PpmReportDetailDTO> page = new Page<>();
page.setCurrent(1L);
page.setSize(999);
IPage<PpmReportDetailDTO> pageResult = reviewSheetService.listErp(page, reviewSheetErpSearch);
if (pageResult == null) {
log.warn("查询返修单 {} 的审理单返回结果为 null", reworkOrder);
return null;
}
List<PpmReportDetailDTO> records = pageResult.getRecords();
if (records == null || records.isEmpty()) {
log.warn("未查询到返修单 {} 的审理单信息", reworkOrder);
return null;
}
PpmReportDetailDTO detail = records.get(0);
if (detail == null) {
log.warn("返修单 {} 查询到的第一条记录为 null", reworkOrder);
return null;
}
String memo = detail.getMemo();
if (StringUtils.isEmpty(memo)) {
log.warn("返修单 {} 的返修原因为空", reworkOrder);
}
return memo;
} catch (Exception e) {
log.error("查询返修单 {} 的审理单信息异常", reworkOrder, e);
return null;
}
}
}

Loading…
Cancel
Save