生产管理修改

liweidong
李涛 3 days ago
parent e76635c1dc
commit a7cc4f7819
  1. 46
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkOrderAdjustVO.java
  2. 2
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java
  3. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java
  4. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java
  5. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/SjProduceManageController.java
  6. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderAdjustMapper.java
  7. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderAdjustMapper.xml
  8. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderAdjustService.java
  9. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderAdjustServiceImpl.java

@ -1,7 +1,9 @@
package org.springblade.desk.produce.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
import java.util.Date;
/**
* 订单调整记录 视图实体类
@ -9,8 +11,48 @@ import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
* @author litao
*/
@Data
public class WorkOrderAdjustVO extends WorkOrderAdjust {
public class WorkOrderAdjustVO{
@Schema(description = "id")
private Long id;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "计划下达时间")
private Date releaseDate;
@Schema(description = "零件号")
private String partCode;
@Schema(description = "产品名称")
private String partName;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "流程卡号")
private String cardNo;
@Schema(description = "生产数量")
private Double makeQty;
@Schema(description = "镀层定额")
private Double quota;
@Schema(description = "旧班组")
private String oldTeam;
@Schema(description = "新班组")
private String newTeam;
@Schema(description = "建立时间")
private Date createTime;
@Schema(description = "建立人员")
private String createUserName;
@Schema(description = "状态")
private Integer status;
}

@ -170,5 +170,5 @@ public interface IErpDataProduceClient {
@RequestParam(value = "quantity") Integer quantity, @RequestParam(value = "remark") String remark,
@RequestParam(value = "quaLevel") String quaLevel, @RequestParam(value = "deptNo") String deptNo,
@RequestParam(value = "warnNo") String warnNo, @RequestParam(value = "locationNo") String locationNo,
@RequestParam(value = "woCode") String woCode, @RequestParam(value = "userName") String userName);
@RequestParam(value = "woCode", required = false) String woCode, @RequestParam(value = "userName") String userName);
}

@ -134,13 +134,13 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
// 根据车间订单是否厂内标识判定是否强制厂内(单工序时不进行标识验证)
if (yieldOrder.getSiteWork() && factor == null) {
//订单强制分派厂内,若未找到工艺能力对应的作业中心,则提示异常
if (workCenterMap == null || workCenterMap.size() == 0) {
throw new BusinessException("此订单需强制分派厂内,未找到满足条件得作业中心,自动分派失败!");
if (workCenterMap == null || workCenterMap.isEmpty()) {
throw new BusinessException("此订单需强制分派厂内,未找到满足条件得作业中心,自动分派失败!1");
}
//寻找最合适的作业中心
workCenter = this.inPlantDistribution(hostAbilityId, workCenterMap, yieldOrder, BsWorkCenterEntity.LIMIT_TYPE_MUST);
if (workCenter == null) {
throw new BusinessException("此订单需强制分派厂内,未找到满足条件得作业中心,自动分派失败!");
throw new BusinessException("此订单需强制分派厂内,未找到满足条件得作业中心,自动分派失败!2");
}
} else if (factor != null) {
if (factor) {
@ -403,7 +403,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
if(orderCraft.getCaId().equals(craftAbilityId)){
workCenter = workCenterMap.get(workCenterId);
}else{
workCenter = workCenterService.getOne(Wrappers.<WorkCenter>lambdaQuery().like(WorkCenter::getCraftAbilityId,orderCraft.getCaId()));
workCenter = workCenterService.getOne(Wrappers.<WorkCenter>lambdaQuery().apply("INSTR(',' || CRAFT_ABILITY_ID || ',', ',' || {0} || ',') > 0", orderCraft.getCaId()));
}
if(centerId != null){

@ -1,13 +1,11 @@
package org.springblade.desk.produce.controller;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.utils.CommonUtil;
@ -24,6 +22,7 @@ import org.springblade.desk.produce.pojo.dto.UploadPlanDto;
import org.springblade.desk.produce.pojo.entity.*;
import org.springblade.desk.produce.pojo.vo.ByCardNoByPlanVO;
import org.springblade.desk.produce.pojo.vo.TaskCompleteVO;
import org.springblade.desk.produce.pojo.vo.WorkOrderAdjustVO;
import org.springblade.desk.produce.service.IDisTaskingService;
import org.springblade.desk.produce.service.IPdaSaveService;
import org.springblade.desk.produce.service.IWorkOrderAdjustService;
@ -151,7 +150,7 @@ public class DisTaskingController extends BladeController {
@PostMapping("/shiftTransfer")
@ApiOperationSupport(order = 9)
@Operation(summary = "报工调整-转班", description = "传入shiftTransferDTO")
public R shiftTransfer(@Valid @RequestBody ShiftTransferDTO shiftTransferDTO) {
public R shiftTransfer(@RequestBody ShiftTransferDTO shiftTransferDTO) {
pdaSaveService.shiftTransfer(shiftTransferDTO);
return R.success();
}
@ -166,10 +165,8 @@ public class DisTaskingController extends BladeController {
@GetMapping("/queryUnfinished")
@ApiOperationSupport(order = 11)
@Operation(summary = "加载未处理调整记录", description = "加载未处理调整记录")
public R<IPage<WorkOrderAdjust>> queryUnfinished(WorkOrderAdjust workOrderAdjust, Query query) {
LambdaQueryWrapper<WorkOrderAdjust> queryWrapper = Condition.getQueryWrapper(workOrderAdjust).lambda();
queryWrapper.eq(WorkOrderAdjust::getStatus, 1);
return R.data(workOrderAdjustService.page(Condition.getPage(query), queryWrapper));
public R<IPage<WorkOrderAdjustVO>> queryUnfinished(WorkOrderAdjustVO workOrderAdjust, Query query) {
return R.data(workOrderAdjustService.queryUnfinished(Condition.getPage(query), workOrderAdjust));
}
@PostMapping("/markComplete")

@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@ -22,6 +21,7 @@ import org.springblade.desk.produce.pojo.dto.QueryByReadStatusDTO;
import org.springblade.desk.produce.pojo.dto.YieldOrderDTO;
import org.springblade.desk.produce.pojo.vo.QueryByReadStatusVO;
import org.springblade.desk.produce.service.IWorkOrderService;
import org.springblade.desk.quality.service.IPlanTestService;
import org.springframework.web.bind.annotation.*;
/**
@ -39,6 +39,8 @@ public class SjProduceManageController extends BladeController {
private final IWorkOrderService workOrderService;
private final IPlanTestService planTestService;
@GetMapping("/page")
@ApiOperationSupport(order = 1)
@Operation(summary = "烧结配套齐套流转列表", description = "传入WorkOrderVO")
@ -107,4 +109,20 @@ public class SjProduceManageController extends BladeController {
public R setReadStatus(@RequestParam String woIds) {
return R.data(workOrderService.setReadStatus(woIds));
}
@GetMapping(value = "/isTransferTest")
@ApiOperationSupport(order = 7)
@Operation(summary = "判断是否符合转试条件")
public R isTransferTest(Long woId) {
// return R.data(planTestService.isTransferTest(woId));
return null;
}
@PostMapping(value = "/launchTest")
@ApiOperationSupport(order = 8)
@Operation(summary = "发起转试的试验计划")
public R launchTest(@RequestBody String woIds) {
// return R.data(planTestService.launchTest(woIds));
return null;
}
}

@ -2,7 +2,11 @@ package org.springblade.desk.produce.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
import org.springblade.desk.produce.pojo.vo.WorkOrderAdjustVO;
import java.util.List;
/**
* 订单调整记录 Mapper 接口
@ -11,4 +15,5 @@ import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
*/
public interface WorkOrderAdjustMapper extends BaseMapper<WorkOrderAdjust> {
List<WorkOrderAdjustVO> queryUnfinished(IPage<WorkOrderAdjustVO> page, WorkOrderAdjustVO workOrderAdjust);
}

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.produce.mapper.WorkOrderAdjustMapper">
<select id="queryUnfinished" resultType="org.springblade.desk.produce.pojo.vo.WorkOrderAdjustVO">
SELECT a.ID,
b.WO_CODE AS woCode,
myo.RELEASE_DATE AS releaseDate,
myo.PART_CODE AS partCode,
myo.PART_NAME AS partName,
myo.BATCH_NO AS batchNo,
myo.CARD_NO AS cardNo,
b.MAKE_QTY AS makeQty,
a.QUOTA,
bts1.TS_NAME AS oldTeam,
bts2.TS_NAME AS newTeam,
a.CREATE_TIME AS createTime,
bu.NAME AS createUserName
FROM MES_WORK_ORDER_ADJUST a
INNER JOIN MES_WORK_ORDER b ON a.WO_ID = b.ID
INNER JOIN MES_YIELD_ORDER myo ON b.YO_ID = myo.ID
LEFT JOIN BS_TEAM_SET bts1 ON a.OLD_TEAM = bts1.ID
LEFT JOIN BS_TEAM_SET bts2 ON a.NEW_TEAM = bts2.ID
LEFT JOIN BLADE_USER bu ON a.CREATE_USER = bu.ID
<where>
a.IS_DELETED = 0
<if test="workOrderAdjust.status != null">
AND a.STATUS = #{workOrderAdjust.status}
</if>
<if test="workOrderAdjust.woCode != null and workOrderAdjust.woCode != ''">
AND b.WO_CODE LIKE CONCAT('%', #{workOrderAdjust.woCode}, '%')
</if>
<if test="workOrderAdjust.cardNo != null and workOrderAdjust.cardNo != ''">
AND b.CARD_NO LIKE CONCAT('%', #{workOrderAdjust.cardNo}, '%')
</if>
<if test="workOrderAdjust.partCode != null and workOrderAdjust.partCode != ''">
AND myo.PART_CODE LIKE CONCAT('%', #{workOrderAdjust.partCode}, '%')
</if>
<if test="workOrderAdjust.batchNo != null and workOrderAdjust.batchNo != ''">
AND myo.BATCH_NO LIKE CONCAT('%', #{workOrderAdjust.batchNo}, '%')
</if>
</where>
ORDER BY a.CREATE_TIME DESC
</select>
</mapper>

@ -1,7 +1,9 @@
package org.springblade.desk.produce.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
import org.springblade.desk.produce.pojo.vo.WorkOrderAdjustVO;
import java.util.List;
@ -13,4 +15,6 @@ import java.util.List;
public interface IWorkOrderAdjustService extends BaseService<WorkOrderAdjust> {
boolean markComplete(List<Long> longList);
IPage<WorkOrderAdjustVO> queryUnfinished(IPage<WorkOrderAdjustVO> page, WorkOrderAdjustVO workOrderAdjust);
}

@ -1,11 +1,13 @@
package org.springblade.desk.produce.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.produce.mapper.WorkOrderAdjustMapper;
import org.springblade.desk.produce.pojo.entity.WorkOrderAdjust;
import org.springblade.desk.produce.pojo.vo.WorkOrderAdjustVO;
import org.springblade.desk.produce.service.IWorkOrderAdjustService;
import org.springframework.stereotype.Service;
@ -25,4 +27,9 @@ public class WorkOrderAdjustServiceImpl extends BaseServiceImpl<WorkOrderAdjustM
public boolean markComplete(List<Long> longList) {
return this.update(Wrappers.lambdaUpdate(WorkOrderAdjust.class).in(WorkOrderAdjust::getId, longList).set(WorkOrderAdjust::getStatus, WorkOrderAdjust.CUR_STATUS_COMPLETE));
}
@Override
public IPage<WorkOrderAdjustVO> queryUnfinished(IPage<WorkOrderAdjustVO> page, WorkOrderAdjustVO workOrderAdjust) {
return page.setRecords(baseMapper.queryUnfinished(page, workOrderAdjust));
}
}

Loading…
Cancel
Save