生产管理修改

liweidong
李涛 2 weeks ago
parent 11e4ca9e69
commit acb007a235
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/ShiftTransferDTO.java
  2. 24
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UploadPlanDto.java
  3. 58
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderAdjust.java
  4. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java
  5. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java
  7. 52
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java
  8. 25
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java

@ -2,6 +2,9 @@ package org.springblade.desk.produce.pojo.dto;
import lombok.Data; import lombok.Data;
/**
* @author litao
*/
@Data @Data
public class ShiftTransferDTO { public class ShiftTransferDTO {
private Long woId; private Long woId;

@ -0,0 +1,24 @@
package org.springblade.desk.produce.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.pojo.enums.WorkOrderEnum;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>Description: 报工调整-保存 </p>
*
* @author litao
*/
@Data
public class UploadPlanDto {
private List<WorkPlan> workPlanList;
}

@ -0,0 +1,58 @@
package org.springblade.desk.produce.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
/**
* 车间作业计划修改日志 实体类
*
* @author BladeX
*/
@Data
@TableName("MES_WORK_ORDER_ADJUST")
@Schema(description = "WorkPlanLog对象")
@EqualsAndHashCode(callSuper = true)
public class WorkOrderAdjust extends BaseEntity {
@Schema(description = "车间订单")
private Long woId;
@Schema(description = "订单编号")
private String woCode;
@Schema(description = "路线卡号")
private String cardNo;
@Schema(description = "零件号")
private String partCode;
@Schema(description = "批次")
private String batchNo;
@Schema(description = "工序")
private String ppsName;
@Schema(description = "数量")
private Double workQty;
@Schema(description = "原班组")
private String oriMakeTeam;
@Schema(description = "现班组")
private String makeTeam;
@Schema(description = "原接收人")
private String oriReceiveMan;
@Schema(description = "现接收人")
private String receiveMan;
@TableField(exist = false)
@Schema(description = "调整人")
private String adjustName;
}

@ -341,4 +341,9 @@ public class WorkPlan extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private TaskDataDto taskData; private TaskDataDto taskData;
@TableField(exist = false)
@Schema(description = "车间计划修改记录")
private WorkPlanLog workPlanLog;
} }

@ -18,6 +18,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.ShiftTransferDTO; import org.springblade.desk.produce.pojo.dto.ShiftTransferDTO;
import org.springblade.desk.produce.pojo.dto.TaskCompleteDTO; import org.springblade.desk.produce.pojo.dto.TaskCompleteDTO;
import org.springblade.desk.produce.pojo.dto.TaskCompleteOrderDTO; import org.springblade.desk.produce.pojo.dto.TaskCompleteOrderDTO;
import org.springblade.desk.produce.pojo.dto.UploadPlanDto;
import org.springblade.desk.produce.pojo.entity.DisTasking; import org.springblade.desk.produce.pojo.entity.DisTasking;
import org.springblade.desk.produce.pojo.entity.MakeRec; import org.springblade.desk.produce.pojo.entity.MakeRec;
import org.springblade.desk.produce.pojo.entity.WorkPlan; import org.springblade.desk.produce.pojo.entity.WorkPlan;
@ -140,8 +141,8 @@ public class DisTaskingController extends BladeController {
@PostMapping("/uploadPlan") @PostMapping("/uploadPlan")
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 8)
@Operation(summary = "报工调整-保存", description = "传入workPlanList") @Operation(summary = "报工调整-保存", description = "传入workPlanList")
public R uploadPlan(@Valid @RequestBody List<WorkPlan> workPlanList) { public R uploadPlan(@RequestBody UploadPlanDto uploadPlanDto) {
pdaSaveService.uploadPlan(workPlanList); pdaSaveService.uploadPlan(uploadPlanDto.getWorkPlanList());
return R.success(); return R.success();
} }

@ -236,4 +236,6 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
WorkOrder getWorkOrderUniqueRec(String prtno, String splcode, String sono); WorkOrder getWorkOrderUniqueRec(String prtno, String splcode, String sono);
List<WorkOrder> findCubByYoId(Long yoId); List<WorkOrder> findCubByYoId(Long yoId);
void saveAdjust(Long woId, Long oldTsId, Long newTsId, Long userId);
} }

@ -658,15 +658,15 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void uploadPlan(List<WorkPlan> list) { public void uploadPlan(List<WorkPlan> list) {
if (list.size() == 0) { if (list.isEmpty()) {
return; return;
} }
WorkPlan prWorkPlan; WorkPlan prWorkPlan;
List<BsProcedureTeam> ptLst; List<BsProcedureTeam> ptLst;
Long woId = null; Long woId = null;
for (WorkPlan item : list) { for (WorkPlan item : list) {
if (item.getMakeTeam() == null || item.getId() == null) { if (item.getMakeTeam() == null || item.getId() == null) {
continue; continue;
} }
@ -674,54 +674,60 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//获取车间订单Id //获取车间订单Id
woId = item.getWoId(); woId = item.getWoId();
prWorkPlan = baseMapper.selectById(item.getWoId()); prWorkPlan = baseMapper.selectById(item.getId());
if (item.getReceiveMan() != null) { prWorkPlan.setReceiveMan(item.getReceiveMan() != null ? item.getReceiveMan() : null);
prWorkPlan.setReceiveMan(item.getReceiveMan());
} else {
prWorkPlan.setReceiveMan(null);
}
//判定工序是否特殊工序,如果是,则附属班组存在值 //判定工序是否特殊工序,如果是,则附属班组存在值
if (prWorkPlan.getOcId() == null && prWorkPlan.getSubsidiaryTeam() == null && prWorkPlan.getOcId() == null) { BsProcessSetEntity processSet = bsProcessSetService.getById(item.getPpsId());
if (processSet != null && "1".equals(processSet.getIsSpecial()) && prWorkPlan.getSubsidiaryTeam() == null && prWorkPlan.getOcId() == null) {
ptLst = bsProcedureTeamService.findBsProcedureTeamByPpsId(prWorkPlan.getPpsId()); ptLst = bsProcedureTeamService.findBsProcedureTeamByPpsId(prWorkPlan.getPpsId());
if (ptLst != null && ptLst.size() > 0) { if (ptLst != null && !ptLst.isEmpty()) {
prWorkPlan.setSubsidiaryTeam(ptLst.get(0).getPpsId()); prWorkPlan.setSubsidiaryTeam(ptLst.get(0).getPpsId());
} }
} }
if (prWorkPlan.getOem().equals("1")) { if ("1".equals(prWorkPlan.getOem())) {
prWorkPlan.setOem("0"); prWorkPlan.setOem("0");
prWorkPlan.setOem(null); prWorkPlan.setOem(null);
} }
prWorkPlan.setMakeTeam(item.getMakeTeam()); prWorkPlan.setMakeTeam(item.getMakeTeam());
// 2025-07-23 线上迁移修改注释掉代码 if (item.getSubsidiaryTeam() != null) {
if (item.getPapers() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) { prWorkPlan.setSubsidiaryTeam(item.getSubsidiaryTeam());
WorkPlanLog log = new WorkPlanLog(); }
log.setUpdateUser(AuthUtil.getUser().getUserId()); this.updateById(prWorkPlan);
log.setUpdateTime(new Date()); if (item.getWorkPlanLog() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) {
log.setWoId(woId); workPlanLogService.save(item.getWorkPlanLog());
workPlanLogService.save(log);
} }
} }
//获取主班组
if (woId != null) {
workOrderService.updateHostWorkUnit(workOrderService.getById(woId));
}
} }
@Override @Override
public void shiftTransfer(ShiftTransferDTO shiftTransferDTO) { public void shiftTransfer(ShiftTransferDTO shiftTransferDTO) {
List<WorkPlan> wpList = baseMapper.selectList(new QueryWrapper<WorkPlan>().eq("wo_id", shiftTransferDTO.getWoId())); List<WorkPlan> wpList = this.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, shiftTransferDTO.getWoId()));
if (CollectionUtils.isEmpty(wpList)) {
return;
}
BsTeamSetEntity makeTeam = new BsTeamSetEntity(); BsTeamSetEntity makeTeam = new BsTeamSetEntity();
makeTeam.setId(shiftTransferDTO.getNewTsId()); makeTeam.setId(shiftTransferDTO.getNewTsId());
BsProcessSetEntity processSet = bsProcessSetService.getOne(Wrappers.lambdaQuery(BsProcessSetEntity.class).eq(BsProcessSetEntity::getId, shiftTransferDTO.getNewTsId())); List<Long> ppsIds = wpList.stream().map(WorkPlan::getPpsId).toList();
List<BsProcessSetEntity> processSetEntities = bsProcessSetService.listByIds(ppsIds);
// 转换为map
Map<Long, BsProcessSetEntity> processSet = processSetEntities.stream().collect(Collectors.toMap(BsProcessSetEntity::getId, item -> item));
wpList.forEach(wp -> { wpList.forEach(wp -> {
if (processSet.getIsSpecial() == null) { if (processSet.get(wp.getPpsId()) == null) {
return; return;
} }
if (WorkPlan.STATUS_NO_START.equals(wp.getStatus())) { if (WorkPlan.STATUS_NO_START.equals(wp.getStatus())) {
wp.setMakeTeam(makeTeam.getId()); wp.setMakeTeam(makeTeam.getId());
} }
}); });
// prWorkOrderAdjustService.saveAdjust(woId, oldTsId, newTsId, userInfo); workOrderService.saveAdjust(shiftTransferDTO.getWoId(), shiftTransferDTO.getOldTsId(), shiftTransferDTO.getNewTsId(), AuthUtil.getUserId());
//更新订单主加工单位 //更新订单主加工单位
// prWorkOrderService.updateHostWorkUnit(woId); workOrderService.updateHostWorkUnit(workOrderService.getById(shiftTransferDTO.getWoId()));
} }
@Override @Override

@ -734,6 +734,31 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return baseMapper.findCubByYoId(id); return baseMapper.findCubByYoId(id);
} }
@Override
public void saveAdjust(Long woId, Long oldTsId, Long newTsId, Long userId) {
WorkOrder wo = this.getById(woId);
// PrWorkOrderAdjust woa = new PrWorkOrderAdjust();
//
// BsTeamSet newMakeTeam = new BsTeamSet();
// newMakeTeam.setTsId(newTsId);
// BsTeamSet oldMakeTeam = new BsTeamSet();
// oldMakeTeam.setTsId(oldTsId);
//
// woa.setOldTeam(oldMakeTeam);
// woa.setNewTeam(newMakeTeam);
// woa.setPrWorkOrder(wo);
// woa.setCreateMan(userInfo);
// woa.setCreateTime(new Date());
// woa.setQuota(wo.getPlateSingleQuotaTotal());
// if (woa.getQuota() > 0) {
// woa.setCurStatus(PrWorkOrderAdjust.CUR_STATUS_UNFINISHED);
// } else {
// woa.setCurStatus(PrWorkOrderAdjust.CUR_STATUS_COMPLETE);
// }
//
// prWorkOrderAdjustDao.save(woa);
}
private String getVersionByPartCode(String partCode) { private String getVersionByPartCode(String partCode) {
return erpDataProduceClient.getVersionByPartCode(partCode).getData(); return erpDataProduceClient.getVersionByPartCode(partCode).getData();
} }

Loading…
Cancel
Save