生产管理修改

liweidong
李涛 21 hours 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;
/**
* @author litao
*/
@Data
public class ShiftTransferDTO {
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)
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.TaskCompleteDTO;
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.MakeRec;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
@ -140,8 +141,8 @@ public class DisTaskingController extends BladeController {
@PostMapping("/uploadPlan")
@ApiOperationSupport(order = 8)
@Operation(summary = "报工调整-保存", description = "传入workPlanList")
public R uploadPlan(@Valid @RequestBody List<WorkPlan> workPlanList) {
pdaSaveService.uploadPlan(workPlanList);
public R uploadPlan(@RequestBody UploadPlanDto uploadPlanDto) {
pdaSaveService.uploadPlan(uploadPlanDto.getWorkPlanList());
return R.success();
}

@ -236,4 +236,6 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
WorkOrder getWorkOrderUniqueRec(String prtno, String splcode, String sono);
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
@Transactional(rollbackFor = Exception.class)
public void uploadPlan(List<WorkPlan> list) {
if (list.size() == 0) {
if (list.isEmpty()) {
return;
}
WorkPlan prWorkPlan;
List<BsProcedureTeam> ptLst;
Long woId = null;
for (WorkPlan item : list) {
if (item.getMakeTeam() == null || item.getId() == null) {
continue;
}
@ -674,54 +674,60 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//获取车间订单Id
woId = item.getWoId();
prWorkPlan = baseMapper.selectById(item.getWoId());
if (item.getReceiveMan() != null) {
prWorkPlan.setReceiveMan(item.getReceiveMan());
} else {
prWorkPlan.setReceiveMan(null);
}
prWorkPlan = baseMapper.selectById(item.getId());
prWorkPlan.setReceiveMan(item.getReceiveMan() != null ? item.getReceiveMan() : 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());
if (ptLst != null && ptLst.size() > 0) {
if (ptLst != null && !ptLst.isEmpty()) {
prWorkPlan.setSubsidiaryTeam(ptLst.get(0).getPpsId());
}
}
if (prWorkPlan.getOem().equals("1")) {
if ("1".equals(prWorkPlan.getOem())) {
prWorkPlan.setOem("0");
prWorkPlan.setOem(null);
}
prWorkPlan.setMakeTeam(item.getMakeTeam());
// 2025-07-23 线上迁移修改注释掉代码
if (item.getPapers() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) {
WorkPlanLog log = new WorkPlanLog();
log.setUpdateUser(AuthUtil.getUser().getUserId());
log.setUpdateTime(new Date());
log.setWoId(woId);
workPlanLogService.save(log);
if (item.getSubsidiaryTeam() != null) {
prWorkPlan.setSubsidiaryTeam(item.getSubsidiaryTeam());
}
this.updateById(prWorkPlan);
if (item.getWorkPlanLog() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) {
workPlanLogService.save(item.getWorkPlanLog());
}
}
//获取主班组
if (woId != null) {
workOrderService.updateHostWorkUnit(workOrderService.getById(woId));
}
}
@Override
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();
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 -> {
if (processSet.getIsSpecial() == null) {
if (processSet.get(wp.getPpsId()) == null) {
return;
}
if (WorkPlan.STATUS_NO_START.equals(wp.getStatus())) {
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

@ -734,6 +734,31 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
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) {
return erpDataProduceClient.getVersionByPartCode(partCode).getData();
}

Loading…
Cancel
Save