liweidong-hj 3 weeks ago
commit f53d87c04f
  1. 2
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/LiquidTankTaskVO.java
  3. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsTaskingMapper.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml
  5. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml
  6. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  7. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java
  8. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/FeiBaSetServiceImpl.java
  9. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml
  10. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java
  11. 33
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  12. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  13. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/InspectionTaskDetailWrapper.java
  14. 15
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/EquipmentController.java
  15. 3
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/QualityGradeMapper.xml
  16. 1
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.xml
  17. 4
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml
  18. 24
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -14,7 +14,7 @@ public interface LauncherConstant {
*/ */
// 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"; // String NACOS_NAMESPACE = "6cdd0310-0d61-4f54-891a-7fb06224d9b8";

@ -11,6 +11,7 @@ import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import java.io.Serial; import java.io.Serial;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
/** /**
* 视图实体类 * 视图实体类
@ -91,6 +92,6 @@ public class LiquidTankTaskVO extends LiquidTankTask {
@Schema(description = "控制规范(报告)") @Schema(description = "控制规范(报告)")
private String norm; private String norm;
@Schema(description = "槽液到期时间") @Schema(description = "槽液到期时间")
private LocalDate tankEndTime; private LocalDateTime tankEndTime;
} }

@ -132,5 +132,5 @@ public interface DsTaskingMapper extends BaseMapper<DsTaskingEntity> {
List<DsPartEntity> getOldMesAllPart(@Param("startTime") String startTime, List<DsPartEntity> getOldMesAllPart(@Param("startTime") String startTime,
@Param("endTime") String endTime, @Param("endTime") String endTime,
@Param("partCode") String partCode); @Param("partCodeList") List<String> partCodeList);
} }

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

@ -144,9 +144,12 @@
AND UPDATE_TIME BETWEEN to_date(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND UPDATE_TIME BETWEEN to_date(#{startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND to_date(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') AND to_date(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
</if> </if>
<if test="partCode != null and partCode !=''"> <if test="partCodeList != null">
AND part_code = #{partCode} and part_code in
</if> <foreach collection="partCodeList" item="partCode" open="(" close=")" separator=",">
#{partCode}
</foreach>
</if>
</select> </select>

@ -1572,10 +1572,10 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
@Override @Override
public boolean syncPart(String startTime, String endTime,String partCode) { public boolean syncPart(String startTime, String endTime,String partCode) {
List<String> codeList = Arrays.asList(partCode.split(","));
//查询所有老mes零件 //查询所有老mes零件
List<DsPartEntity> dsPartEntityList = taskingMapper.getOldMesAllPart(startTime,endTime,partCode); List<DsPartEntity> dsPartEntityList = taskingMapper.getOldMesAllPart(startTime,endTime,codeList);
for (DsPartEntity partEntity : dsPartEntityList) { for (DsPartEntity partEntity : dsPartEntityList) {
// 2. 递归处理零件及其子件 // 2. 递归处理零件及其子件
DsPartEntity newPart = processPartRecursively(partEntity); DsPartEntity newPart = processPartRecursively(partEntity);
if (newPart == null) { if (newPart == null) {

@ -25,6 +25,7 @@
*/ */
package org.springblade.desk.device.controller; package org.springblade.desk.device.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -37,6 +38,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.annotation.ApiLog; import org.springblade.core.log.annotation.ApiLog;
@ -63,6 +65,7 @@ import java.util.Map;
* @author qyl * @author qyl
* @since 2025-12-26 * @since 2025-12-26
*/ */
@Slf4j
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@RequestMapping("/equipment") @RequestMapping("/equipment")
@ -77,9 +80,14 @@ public class EquipmentController extends BladeController {
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入equipment") @Operation(summary = "详情", description = "传入equipment")
public R<EquipmentVO> detail(EquipmentEntity equipment) { public R<EquipmentEntity> detail(EquipmentEntity equipment) {
EquipmentEntity detail = equipmentService.getOne(Condition.getQueryWrapper(equipment)); log.error("设备的ID是"+equipment.getId());
return R.data(EquipmentWrapper.build().entityVO(detail)); EquipmentEntity detail = equipmentService.getById(equipment.getId());
log.error("设备数据000001: {}"+ detail);
JSONObject result = JSONObject.parseObject(detail.toString());
log.error("设备数据: {}"+ result.toJSONString());
// EquipmentEntity detail = equipmentService.getOne(Condition.getQueryWrapper(equipment));
return R.data(detail);
} }
/** /**

@ -104,7 +104,7 @@ public class FeiBaSetServiceImpl extends BaseServiceImpl<FeiBaSetMapper, FeiBaSe
// 处理响应 // 处理响应
String responseBody = response.body(); String responseBody = response.body();
JSONObject result = JSONObject.parseObject(responseBody); JSONObject result = JSONObject.parseObject(responseBody);
log.debug("同步飞靶数据: {}", result.toJSONString()); log.error("同步飞靶数据: {}", result.toJSONString());
if (result != null && result.getInteger("code").equals(0)) { if (result != null && result.getInteger("code").equals(0)) {
List<JSONObject> jsonList = JSONArray.parseArray(result.getJSONArray("data").toJSONString(), JSONObject.class); List<JSONObject> jsonList = JSONArray.parseArray(result.getJSONArray("data").toJSONString(), JSONObject.class);
if (CollectionUtils.isEmpty(jsonList)) { if (CollectionUtils.isEmpty(jsonList)) {

@ -148,7 +148,7 @@
</select> </select>
<select id="getByPartCodeAndSubCodeMes" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartSub"> <select id="getByPartCodeAndSubCodeMes" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartSub">
select b.*,a.CHILD_PART_CODE as subCode from DS_PART_RELATION a left join DS_PART b select b.*,a.CHILD_PART_CODE as subCode from DS_PART_RELATION a inner join DS_PART b
on a.PART_CODE = b.PART_CODE where a.PART_CODE= #{partCode} and a.CHILD_PART_CODE = #{subCode} on a.PART_CODE = b.PART_CODE where a.PART_CODE= #{partCode} and a.CHILD_PART_CODE = #{subCode}
</select> </select>
@ -171,7 +171,7 @@
<select id="listByWpiIdMes" resultType="org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail"> <select id="listByWpiIdMes" resultType="org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail">
select *,b.ITEM_NAME as trialItem,b.STANDARD_NAME as trialStandard,b.ID as wpiId from QA_WORK_PLAN_ITEM_DETAIL a select *,b.ITEM_NAME as trialItem,b.STANDARD_NAME as trialStandard,b.ID as wpiId from QA_WORK_PLAN_ITEM_DETAIL a
left join QA_WORK_PLAN_ITEM b on a.WORK_PLAN_ITEM_ID = b.ID where a.WORK_PLAN_ITEM_ID = #{wpiId} inner join QA_WORK_PLAN_ITEM b on a.WORK_PLAN_ITEM_ID = b.ID where a.WORK_PLAN_ITEM_ID = #{wpiId}
order by a.UPDATE_TIME,a.GAUGE_VALUE1 desc order by a.UPDATE_TIME,a.GAUGE_VALUE1 desc
</select> </select>

@ -95,7 +95,8 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
} }
YieldOrder yieldOrder = yieldOrderService.getById(wo.getYoId()); YieldOrder yieldOrder = yieldOrderService.getById(wo.getYoId());
WorkPlanDto workPlanDto = new WorkPlanDto(yieldOrder, wo, wp, isBinging); WorkPlanDto workPlanDto = new WorkPlanDto(yieldOrder, wo, wp, isBinging);
workPlanDto.setCurrentWpTitle(""); BsProcessSetEntity currentWp = bsProcessSetService.getById(wp.getPpsId());
workPlanDto.setCurrentWpTitle(currentWp.getName());
workPlanDto.setCurrentMakeTeam(""); workPlanDto.setCurrentMakeTeam("");
workPlanDto.setFrontWpTitle(""); workPlanDto.setFrontWpTitle("");
workPlanDto.setFrontMakeTeam(""); workPlanDto.setFrontMakeTeam("");

@ -1170,8 +1170,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_TER.getValue(); days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_TER.getValue();
} else if (YieldOrder.YIELD_TYPE_3.equals(pjYieldOrder.getYieldType())) { } else if (YieldOrder.YIELD_TYPE_3.equals(pjYieldOrder.getYieldType())) {
days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_BL.getValue(); days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_BL.getValue();
} else if (YieldOrder.YIELD_TYPE_4.equals(pjYieldOrder.getYieldType()) || } else if (YieldOrder.YIELD_TYPE_4.equals(pjYieldOrder.getYieldType()) || YieldOrder.YIELD_TYPE_5.equals(pjYieldOrder.getYieldType())) {
YieldOrder.YIELD_TYPE_5.equals(pjYieldOrder.getYieldType())) {
days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_JS.getValue(); days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_JS.getValue();
} else if (YieldOrder.YIELD_TYPE_6.equals(pjYieldOrder.getYieldType())) { } else if (YieldOrder.YIELD_TYPE_6.equals(pjYieldOrder.getYieldType())) {
days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_MJ.getValue(); days = ProcessCycleEnum.BC_TYPE_CYCLE_SIN_MJ.getValue();
@ -1208,14 +1207,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
orderDataVO.setProdIdent(yieldOrder.getProductIdent()); orderDataVO.setProdIdent(yieldOrder.getProductIdent());
orderDataVO.setYpMemo(yieldOrder.getYpMemo()); orderDataVO.setYpMemo(yieldOrder.getYpMemo());
orderDataVO.setMainProcessingUnit(workOrder.getTsId() != null ? teamSetService.getById(workOrder.getTsId()).getTsName() : workOrder.getOcId() != null ? oemService.getById(workOrder.getOcId()).getOcName() : ""); orderDataVO.setMainProcessingUnit(workOrder.getTsId() != null ? teamSetService.getById(workOrder.getTsId()).getTsName() : workOrder.getOcId() != null ? oemService.getById(workOrder.getOcId()).getOcName() : "");
ProduceMonitorDsPartVO dsPartVO = new ProduceMonitorDsPartVO();
if (dsPartEntity != null) { if (dsPartEntity != null) {
ProduceMonitorDsPartVO dsPartVO = new ProduceMonitorDsPartVO();
// 组装零件信息 // 组装零件信息
BeanUtils.copyProperties(dsPartEntity, dsPartVO); BeanUtils.copyProperties(dsPartEntity, dsPartVO);
// todo erp查询pdm零件图纸地址 // todo erp查询pdm零件图纸地址
dsPartVO.setUrl("http://MESLoginUser:MESloginUseradmin@pdm.caoe.com/Windchill/netmarkets/jsp/ext/caoe/mes/export.jsp?oid="); dsPartVO.setUrl("http://MESLoginUser:MESloginUseradmin@pdm.caoe.com/Windchill/netmarkets/jsp/ext/caoe/mes/export.jsp?oid=");
orderDataVO.setDsPart(dsPartVO);
} }
orderDataVO.setDsPart(dsPartVO);
// 组装工序信息 // 组装工序信息
for (ProduceMonitorWorkPlanVO workPlan : workPlans) { for (ProduceMonitorWorkPlanVO workPlan : workPlans) {
@ -1604,7 +1603,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workPlanItem.setWpId(workPlan.getId()); workPlanItem.setWpId(workPlan.getId());
workPlanItem.setItemCode(project.getProjectCode()); workPlanItem.setItemCode(project.getProjectCode());
workPlanItem.setItemName(project.getProjectName()); workPlanItem.setItemName(project.getProjectName());
workPlanItem.setStandardId(Long.valueOf(project.getProjectStandard())); if (project.getProjectStandard() != null) {
workPlanItem.setStandardId(Long.parseLong(project.getProjectStandard()));
}
workPlanItem.setStandardName(project.getProjectStandardName()); workPlanItem.setStandardName(project.getProjectStandardName());
workPlanItem.setHourQuota(project.getProHours()); workPlanItem.setHourQuota(project.getProHours());
workPlanItem.setHourPrepare(project.getPrepareHours()); workPlanItem.setHourPrepare(project.getPrepareHours());
@ -1708,9 +1709,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
wo.setPriority(updatePriorityDTO.getPriority()); wo.setPriority(updatePriorityDTO.getPriority());
wo.setDemandDate(updatePriorityDTO.getDemandDate()); wo.setDemandDate(updatePriorityDTO.getDemandDate());
boolean b = this.updateById(wo); boolean b = this.updateById(wo);
if (b && (WorkOrder.PRIORITY_NORMAL.equals(updatePriorityDTO.getPriority()) if (b && (WorkOrder.PRIORITY_NORMAL.equals(updatePriorityDTO.getPriority()) || WorkOrder.PRIORITY_PRO_IMP.equals(updatePriorityDTO.getPriority()) || WorkOrder.PRIORITY_PACT_IMP.equals(updatePriorityDTO.getPriority())) && wo.getRunStatus() < WorkOrder.RUN_STATUS_RECEIVE) {
|| WorkOrder.PRIORITY_PRO_IMP.equals(updatePriorityDTO.getPriority())
|| WorkOrder.PRIORITY_PACT_IMP.equals(updatePriorityDTO.getPriority())) && wo.getRunStatus() < WorkOrder.RUN_STATUS_RECEIVE) {
// 修改生产订单为待排产 // 修改生产订单为待排产
log.info("修改优先级后重新排产"); log.info("修改优先级后重新排产");
YieldOrder yieldOrder = new YieldOrder(); YieldOrder yieldOrder = new YieldOrder();
@ -1938,17 +1937,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!"); throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!");
} }
} }
} else if ("玻璃封接清洗".equals(dsProcess.getName()) || "玻璃封接退火".equals(dsProcess.getName()) || } else if ("玻璃封接清洗".equals(dsProcess.getName()) || "玻璃封接退火".equals(dsProcess.getName()) || "玻璃封接预氧化(箱式炉)".equals(dsProcess.getName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getName()) || "玻璃封接(链式炉)".equals(dsProcess.getName()) || "玻璃封接(真空炉)".equals(dsProcess.getName()) || "玻璃封接灌胶".equals(dsProcess.getName()) || "玻璃饼压制".equals(dsProcess.getName()) || "玻璃饼排蜡玻化".equals(dsProcess.getName()) || "玻璃饼振光".equals(dsProcess.getName()) || "石墨模烘干".equals(dsProcess.getName()) || "石墨模焙烧".equals(dsProcess.getName()) || "真空炉灌胶".equals(dsProcess.getName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getName()) || "玻璃封接电化学抛光".equals(dsProcess.getName()) || "玻璃封接湿喷砂".equals(dsProcess.getName()) || "玻璃封接电镀".equals(dsProcess.getName()) || "玻璃封接插针电镀".equals(dsProcess.getName()) || "玻璃封接壳体电镀".equals(dsProcess.getName()) || "玻璃封接电镀下挂".equals(dsProcess.getName()) || "烧结浸保护剂".equals(dsProcess.getName())) {
"玻璃封接预氧化(箱式炉)".equals(dsProcess.getName()) || "玻璃封接预氧化(链式炉)".equals(dsProcess.getName()) ||
"玻璃封接(链式炉)".equals(dsProcess.getName()) || "玻璃封接(真空炉)".equals(dsProcess.getName()) ||
"玻璃封接灌胶".equals(dsProcess.getName()) || "玻璃饼压制".equals(dsProcess.getName()) ||
"玻璃饼排蜡玻化".equals(dsProcess.getName()) || "玻璃饼振光".equals(dsProcess.getName()) ||
"石墨模烘干".equals(dsProcess.getName()) || "石墨模焙烧".equals(dsProcess.getName()) ||
"真空炉灌胶".equals(dsProcess.getName()) || "玻璃封接电镀去氧化皮".equals(dsProcess.getName()) ||
"玻璃封接电化学抛光".equals(dsProcess.getName()) || "玻璃封接湿喷砂".equals(dsProcess.getName()) ||
"玻璃封接电镀".equals(dsProcess.getName()) || "玻璃封接插针电镀".equals(dsProcess.getName()) ||
"玻璃封接壳体电镀".equals(dsProcess.getName()) || "玻璃封接电镀下挂".equals(dsProcess.getName()) ||
"烧结浸保护剂".equals(dsProcess.getName())) {
mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1); mtu = macToolUseService.queryByParams(wp.getId(), 1, 1, 1);
if (mtu == null) { if (mtu == null) {
// 验证是否维护了生产追溯信息 // 验证是否维护了生产追溯信息
@ -2052,8 +2041,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
// cdl 20250218 修改分槽同一槽号连续出现 // cdl 20250218 修改分槽同一槽号连续出现
this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse);
newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse);
} }
// 判断是不是自动线并且有水墨连续性 // 判断是不是自动线并且有水墨连续性
@ -2065,8 +2053,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
MesQcProduceRunEntity qcProduceRun = new MesQcProduceRunEntity(); MesQcProduceRunEntity qcProduceRun = new MesQcProduceRunEntity();
qcProduceRun.setQualified("1"); qcProduceRun.setQualified("1");
// cdl 20250218 修改分槽同一槽号连续出现 // cdl 20250218 修改分槽同一槽号连续出现
this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse);
newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse);
} }
} }
} }

@ -120,8 +120,18 @@ public class InspectionTaskController extends BladeController {
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入inspectionTask") @Operation(summary = "详情", description = "传入inspectionTask")
public R<InspectionTaskDetailVO> detail(InspectionTask inspectionTask) { public R<InspectionTaskDetailVO> detail(InspectionTask inspectionTask) {
InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
InspectionTaskDetailVO detailDetailVO = InspectionTaskDetailWrapper.build().entityVO(detail); // InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
log.error("[检验任务]id="+inspectionTask.getId());
InspectionTask detail = service.getById(inspectionTask.getId());
log.error("检验任务数据000001: {}"+ detail);
JSONObject result = JSONObject.parseObject(detail.toString());
log.error("检验任务数据: {}"+ result.toJSONString());
// InspectionTaskDetailVO detailDetailVO = InspectionTaskDetailWrapper.build().entityVO(detail);
// InspectionTaskDetailVO detailDetailVO = InspectionTaskDetailWrapper.build().entityVO(detail);
InspectionTaskDetailVO detailDetailVO = new InspectionTaskDetailVO();
BeanUtils.copyProperties(inspectionTask, detailDetailVO);
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
// InspectionTaskListVO detailDetail = service.detailById(inspectionTask); // InspectionTaskListVO detailDetail = service.detailById(inspectionTask);
service.setDetailVOValue(detailDetailVO); service.setDetailVOValue(detailDetailVO);

@ -7,6 +7,7 @@ import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springframework.beans.BeanUtils;
import java.util.Objects; import java.util.Objects;
@ -24,7 +25,11 @@ public class InspectionTaskDetailWrapper extends BaseEntityWrapper<InspectionTas
@Override @Override
public InspectionTaskDetailVO entityVO(InspectionTask inspectionTask) { public InspectionTaskDetailVO entityVO(InspectionTask inspectionTask) {
InspectionTaskDetailVO VO = Objects.requireNonNull(BeanUtil.copyProperties(inspectionTask, InspectionTaskDetailVO.class));
InspectionTaskDetailVO VO = new InspectionTaskDetailVO();
BeanUtils.copyProperties(inspectionTask, VO);
// InspectionTaskDetailVO VO = Objects.requireNonNull(BeanUtil.copyProperties(inspectionTask, InspectionTaskDetailVO.class));
//User createUser = UserCache.getUser(inspectionTask.getCreateUser()); //User createUser = UserCache.getUser(inspectionTask.getCreateUser());
//User updateUser = UserCache.getUser(inspectionTask.getUpdateUser()); //User updateUser = UserCache.getUser(inspectionTask.getUpdateUser());

@ -25,6 +25,7 @@
*/ */
package org.springblade.scheduling.scheduling.controller; package org.springblade.scheduling.scheduling.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -34,6 +35,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.annotation.ApiLog; import org.springblade.core.log.annotation.ApiLog;
@ -60,6 +62,7 @@ import java.util.Map;
* @author BladeX * @author BladeX
* @since 2025-12-22 * @since 2025-12-22
*/ */
@Slf4j
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@RequestMapping("/equipment") @RequestMapping("/equipment")
@ -74,9 +77,15 @@ public class EquipmentController extends BladeController {
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入Equipment") @Operation(summary = "详情", description = "传入Equipment")
public R<EquipmentVO> detail(EquipmentEntity equipment) { public R<EquipmentEntity> detail(EquipmentEntity equipment) {
EquipmentEntity detail = equipmentService.getOne(Condition.getQueryWrapper(equipment));
return R.data(EquipmentWrapper.build().entityVO(detail)); log.error("设备的ID是"+equipment.getId());
EquipmentEntity detail = equipmentService.getById(equipment.getId());
log.error("设备数据000001: {}"+ detail);
JSONObject result = JSONObject.parseObject(detail.toString());
log.error("设备数据: {}"+ result.toJSONString());
// EquipmentEntity detail = equipmentService.getOne(Condition.getQueryWrapper(equipment));
return R.data(detail);
} }
/** /**
* 设备信息表 分页 * 设备信息表 分页

@ -24,6 +24,9 @@
<if test="param2.type !=null and param2.type != ''"> <if test="param2.type !=null and param2.type != ''">
and type LIKE '%' || #{param2.type} || '%'; and type LIKE '%' || #{param2.type} || '%';
</if> </if>
<if test="param2.qualityGrade !=null and param2.qualityGrade != ''">
and QUALITY_GRADE LIKE '%' || #{param2.qualityGrade} || '%';
</if>
</where> </where>
</select> </select>

@ -55,6 +55,7 @@
FROM FROM
MES_YIELD_ORDER a MES_YIELD_ORDER a
LEFT JOIN DS_PART b ON a.PART_CODE = b.PART_CODE LEFT JOIN DS_PART b ON a.PART_CODE = b.PART_CODE
LEFT JOIN DS_PART_VERSION d ON b.ID = d.PART_ID AND a.PART_VERSION = d.PART_VERSION AND a.PART_CODE = d.PART_CODE
LEFT JOIN MES_YIELD_ORDER_CRAFT c ON a.id = c.yo_id LEFT JOIN MES_YIELD_ORDER_CRAFT c ON a.id = c.yo_id
<where> <where>
a.is_deleted = 0 AND c.WORK_CENTER_ID IS NOT NULL a.is_deleted = 0 AND c.WORK_CENTER_ID IS NOT NULL

@ -129,9 +129,9 @@
<if test="woCode !=null and woCode != ''"> <if test="woCode !=null and woCode != ''">
and a.wo_code = #{woCode} and a.wo_code = #{woCode}
</if> </if>
<if test="teamName !=null and teamName != ''"> <!--<if test="teamName !=null and teamName != ''">
and c.ts_name = #{teamName} and c.ts_name = #{teamName}
</if> </if>-->
<if test="equipName !=null and equipName != ''"> <if test="equipName !=null and equipName != ''">
and b.equip_name = #{equipName} and b.equip_name = #{equipName}
</if> </if>

@ -282,6 +282,20 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
LinkedHashMap::new LinkedHashMap::new
)); ));
} }
//根据班组名称过滤
if(StringUtils.isNotEmpty(workOrder.getTeamName())){
woCodeGroup = woCodeGroup.entrySet().stream()
.filter(entry -> {
return entry.getValue().stream()
.anyMatch(dto -> workOrder.getTeamName().equals(dto.getTeamName()));
})
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(oldValue, newValue) -> oldValue,
LinkedHashMap::new
));
}
List<WorkOrderDto> resultList = new ArrayList<>(); List<WorkOrderDto> resultList = new ArrayList<>();
for (Map.Entry<String, List<WorkOrderDto>> entry : woCodeGroup.entrySet()) { for (Map.Entry<String, List<WorkOrderDto>> entry : woCodeGroup.entrySet()) {
//根据工序名称过滤订单 //根据工序名称过滤订单
@ -413,9 +427,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
Map<Long, String> craftAbilityMap) { Map<Long, String> craftAbilityMap) {
List<StGlassCakeOutDTO> glassCakeOutList = new ArrayList<>(); List<StGlassCakeOutDTO> glassCakeOutList = new ArrayList<>();
List<WorkOrderEntity> workOrderList = new ArrayList<>(); List<WorkOrderEntity> workOrderList = new ArrayList<>();
list = mergeYieldOrderList(list); //list = mergeYieldOrderList(list);
LocalDateTime localDateTime = LocalDateTime.now(); LocalDateTime localDateTime = LocalDateTime.now();
for (YieldOrderEntity order : list) { for (YieldOrderEntity order : list) {
log.info("当前订单id是:" + order.getId());
try { try {
DsPartVersionEntity partVersion = partVersionService.getOne(Wrappers.<DsPartVersionEntity>lambdaQuery().eq(DsPartVersionEntity::getPartCode,order.getPartCode()).eq(DsPartVersionEntity::getPartVersion,order.getPartVersion())); DsPartVersionEntity partVersion = partVersionService.getOne(Wrappers.<DsPartVersionEntity>lambdaQuery().eq(DsPartVersionEntity::getPartCode,order.getPartCode()).eq(DsPartVersionEntity::getPartVersion,order.getPartVersion()));
if(partVersion == null){ if(partVersion == null){
@ -463,6 +478,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
for (int i = 0; i < craftList.size(); i++) { for (int i = 0; i < craftList.size(); i++) {
YieldOrderCraftEntity craft = craftList.get(i); YieldOrderCraftEntity craft = craftList.get(i);
log.info("当前订单是:" + order.getId() + ",工序是:" + craft.getId());
//如果是外协的话,去查询外协工序时间,若未查询到先默认3天,跳过该工序的排产 //如果是外协的话,去查询外协工序时间,若未查询到先默认3天,跳过该工序的排产
if (craft.getIsOutsource()) { if (craft.getIsOutsource()) {
OutsourceProcessEntity outsourceProcess = outsourceProcessService.getOne(Wrappers.<OutsourceProcessEntity>lambdaQuery().eq(OutsourceProcessEntity::getProcessId, craft.getPpsId())); OutsourceProcessEntity outsourceProcess = outsourceProcessService.getOne(Wrappers.<OutsourceProcessEntity>lambdaQuery().eq(OutsourceProcessEntity::getProcessId, craft.getPpsId()));
@ -891,7 +907,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
log.error("报错订单是:" + order.getId() + ",报错信息是:" + e.getMessage()); log.error("报错订单是:" + order.getId() + ",报错信息是:" + e.getMessage());
throw new RuntimeException(e); throw new RuntimeException(e);
} }
log.info("当前订单:" + order.getId() + "结束!");
} }
if(CollectionUtils.isNotEmpty(glassCakeOutList)){ if(CollectionUtils.isNotEmpty(glassCakeOutList)){
glassCakeOutClient.batchGeneratePreOutOrder(glassCakeOutList); glassCakeOutClient.batchGeneratePreOutOrder(glassCakeOutList);
@ -1237,6 +1253,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
public Map<String, List<WorkPlanEntity>> dealCommonCraftOrders() { public Map<String, List<WorkPlanEntity>> dealCommonCraftOrders() {
log.info("处理前置公共工序开始!");
List<YieldOrderEntity> commonCraftOrderList = yieldOrderService.selectCommonCraftOrderList(); List<YieldOrderEntity> commonCraftOrderList = yieldOrderService.selectCommonCraftOrderList();
Map<String, List<WorkPlanEntity>> planMap = new HashMap<>(); Map<String, List<WorkPlanEntity>> planMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(commonCraftOrderList)) { if (CollectionUtils.isNotEmpty(commonCraftOrderList)) {
@ -1295,6 +1312,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
} }
log.info("处理前置公共工序结束!");
return planMap; return planMap;
} }
@ -1513,7 +1531,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
//获取当前工序的所有温度曲线 //获取当前工序的所有温度曲线
List<SintTempCurveEntity> sintList = sintMap.get(craft.getPpsId()); List<SintTempCurveEntity> sintList = sintMap.get(craft.getPpsId());
List<List<String>> sintMaterialList = new ArrayList<>(); List<List<String>> sintMaterialList = new ArrayList<>();
sintList.stream().map(SintTempCurveEntity::getGlassCode).collect(Collectors.toList()).forEach(item -> sintMaterialList.add(Arrays.asList(item.split(",")))); sintList.stream().map(SintTempCurveEntity::getGlassCode).collect(Collectors.toList()).forEach(item -> sintMaterialList.add(Arrays.asList(item.split(" "))));
//根据零件号获取子件信息 //根据零件号获取子件信息
List<PartRelationEntity> partRelationList = partRelationService.list(Wrappers.<PartRelationEntity>lambdaQuery().eq(PartRelationEntity::getPartId,part.getId())); List<PartRelationEntity> partRelationList = partRelationService.list(Wrappers.<PartRelationEntity>lambdaQuery().eq(PartRelationEntity::getPartId,part.getId()));

Loading…
Cancel
Save