车间工作台接口

liweidong
李涛 1 month ago
parent a323d9d5ea
commit e318154b14
  1. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IUserRightService.java
  2. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/UserRightServiceImpl.java
  3. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IRackSetService.java
  4. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/RackSetServiceImpl.java
  5. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PdaLoadController.java
  6. 66
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/PdaSaveController.java
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MakeRecMapper.xml
  8. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java
  9. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaSaveService.java
  10. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java
  11. 99
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java
  12. 59
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java

@ -41,4 +41,11 @@ public interface IUserRightService extends BaseService<UserRight> {
* @param vo
*/
void setVOValue(UserRightVO vo);
/**
* 获取团队id
* @param userId
* @return
*/
List<Long> getTeamId(Long userId);
}

@ -5,6 +5,8 @@ package org.springblade.desk.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -12,6 +14,7 @@ import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.constant.UserRightConst;
import org.springblade.desk.basic.excel.UserRightExcel;
import org.springblade.desk.basic.mapper.UserRightMapper;
import org.springblade.desk.basic.pojo.entity.UserRight;
@ -66,4 +69,13 @@ public class UserRightServiceImpl extends BaseServiceImpl<UserRightMapper, UserR
}
}
}
@Override
public List<Long> getTeamId(Long userId) {
List<UserRight> bsTeamSet = this.list(Wrappers.lambdaQuery(UserRight.class).eq(UserRight::getUserId, userId).eq(UserRight::getUrType, UserRightConst.UR_TYPE_TEAM_SET));
if (CollectionUtils.isEmpty(bsTeamSet)) {
return null;
}
return bsTeamSet.stream().map(UserRight::getTheId).toList();
}
}

@ -67,4 +67,12 @@ public interface IRackSetService extends BaseService<RackSetEntity> {
* @return
*/
Boolean bind(@NotEmpty List<Long> ids, Integer deviceId);
/**
* 根据挂具编号查询挂具信息
*
* @param rsCode
* @return
*/
RackSetEntity getBsRackSetByCode(String rsCode);
}

@ -26,6 +26,7 @@
package org.springblade.desk.device.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.desk.device.mapper.RackSetMapper;
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity;
@ -91,4 +92,13 @@ public class RackSetServiceImpl extends BaseServiceImpl<RackSetMapper, RackSetEn
return this.updateBatchById(rackSetEntityList);
}
@Override
public RackSetEntity getBsRackSetByCode(String rsCode) {
List<RackSetEntity> rackSets = this.list(Wrappers.lambdaQuery(RackSetEntity.class).eq(RackSetEntity::getRsCode, rsCode));
if (CollectionUtils.isEmpty(rackSets)) {
return null;
}
return rackSets.get(0);
}
}

@ -11,6 +11,7 @@ import org.springblade.desk.device.pojo.entity.RackSetEntity;
import org.springblade.desk.device.pojo.vo.RackSetVO;
import org.springblade.desk.device.wrapper.RackSetWrapper;
import org.springblade.desk.produce.pojo.dto.TurnTypeDTO;
import org.springblade.desk.produce.pojo.vo.PdaProRelevantVO;
import org.springblade.desk.produce.service.IPdaLoadService;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springframework.web.bind.annotation.*;
@ -30,18 +31,21 @@ import org.springframework.web.bind.annotation.*;
public class PdaLoadController {
private final IPdaLoadService pdaLoadService;
@GetMapping(value = "/loadBindData/{cardNo}")
@ApiOperationSupport(order = 1)
@Operation(summary = "加载绑定需要的流程卡数据", description = "传入cardNo")
public R loadBindData(@PathVariable String cardNo) {
return R.data(pdaLoadService.loadBindData(AuthUtil.getUser(), cardNo));
return R.data(pdaLoadService.loadBindData(AuthUtil.getUserId(), cardNo));
}
@GetMapping(value = "getBsFeiBaSetByCode/{rsCode}")
@ApiOperationSupport(order = 2)
@Operation(summary = "根据挂具编码查询数据", description = "传入rsCode")
public R getBsFeiBaSetByCode(@PathVariable String rsCode) {
return R.data(pdaLoadService.getBsRackSetByCode(rsCode));
}
@GetMapping(value = "/getBsFeiBaSetByCodeUn/{fsCode}")
@ApiOperationSupport(order = 3)
@Operation(summary = "根据挂具编码查询数据(解绑)", description = "传入fsCode")
@ -55,16 +59,18 @@ public class PdaLoadController {
public R getEcByDeviceCode(@PathVariable String deviceCode) {
return R.data(pdaLoadService.getEcByCode(deviceCode));
}
@GetMapping(value = "/loadSubOrder/{cardNo}")
@ApiOperationSupport(order = 5)
@Operation(summary = "加载子件订单入库数据", description = "传入cardNo")
public R loadSubOrder(@PathVariable String cardNo) {
return R.data(pdaLoadService.loadSubOrder(cardNo));
}
@GetMapping(value = "/loadProTest/{cardNo}")
@ApiOperationSupport(order = 6)
@Operation(summary = "加载当前工序检验数据", description = "传入cardNo")
public R loadProTest(@PathVariable String cardNo) {
public R<PdaProRelevantVO> loadProTest(@PathVariable String cardNo) {
return R.data(pdaLoadService.loadProTestWorkPlan(cardNo));
}
@ -74,6 +80,7 @@ public class PdaLoadController {
public R loadPrMacToolUseByMtnCode(@PathVariable String mtnCode) {
return R.data(pdaLoadService.loadPrMacToolUseByMtnCode(mtnCode));
}
@GetMapping(value = "/deletedProduceRun/{mtnCode}")
@ApiOperationSupport(order = 8)
@Operation(summary = "根据同槽号删除信息", description = "传入mtnCode")

@ -32,84 +32,94 @@ public class PdaSaveController {
private final IPdaSaveService pdaSaveService;
private final IBasicClazzService basicClazzService;
@Operation(summary = "流程卡与挂具绑定")
@PostMapping("/gjBindingCrad")
public R gjBindingCrad(@RequestParam(value = "rsId") Long rsId,@RequestParam(value = "planListIds") String planListIds) {
public R gjBindingCrad(@RequestParam(value = "rsId") Long rsId, @RequestParam(value = "planListIds") String planListIds) {
pdaSaveService.bindingCard(rsId, null, null, planListIds);
return R.success() ;
return R.success();
}
@Operation(summary = "挂具与飞靶绑定")
@PostMapping("/gjBindingFb")
public R gjBindingFb(@RequestParam(value = "fsId") Long fsId,@RequestParam(value = "rsListIds") String rsListIds) {
pdaSaveService.binding(fsId, null, null,null, rsListIds);
return R.success() ;
public R gjBindingFb(@RequestParam(value = "fsId") Long fsId, @RequestParam(value = "rsListIds") String rsListIds) {
pdaSaveService.binding(fsId, null, null, null, rsListIds);
return R.success();
}
@Operation(summary = "飞靶与设备绑定")
@PostMapping("/fbBindingEc")
public R fbBindingEc(@RequestParam(value = "fsId") Long fsId,@RequestParam(value = "ecId") Long ecId,
@RequestParam(value = "hangNum") Long hangNum,@RequestParam(value = "unFsBool") Boolean unFsBool) {
public R fbBindingEc(@RequestParam(value = "fsId") Long fsId, @RequestParam(value = "ecId") Long ecId,
@RequestParam(value = "hangNum") Long hangNum, @RequestParam(value = "unFsBool") Boolean unFsBool) {
String hangNumName = "";
BasicClazz bsBasicClass = null;
if(hangNum != null&&hangNum != -1){
if (hangNum != null && hangNum != -1) {
bsBasicClass = basicClazzService.getById(hangNum);
if(bsBasicClass != null){
if (bsBasicClass != null) {
hangNumName = bsBasicClass.getName();
}
}else if(hangNum == -1){
} else if (hangNum == -1) {
hangNumName = "-1";
}
pdaSaveService.binding(fsId, ecId, unFsBool, hangNumName,null);
pdaSaveService.binding(fsId, ecId, unFsBool, hangNumName, null);
// 删除产线设备对应的挂次号之前的数据
if(bsBasicClass!= null){
if (bsBasicClass != null) {
LambdaUpdateWrapper<BasicClazz> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(BasicClazz::getCode,bsBasicClass.getCode());
wrapper.eq(BasicClazz::getBizType,"6");
wrapper.lt(BasicClazz::getUpdateTime,bsBasicClass.getUpdateTime());
wrapper.set(BasicClazz::getIsDeleted,1);
wrapper.eq(BasicClazz::getCode, bsBasicClass.getCode());
wrapper.eq(BasicClazz::getBizType, "6");
wrapper.lt(BasicClazz::getUpdateTime, bsBasicClass.getUpdateTime());
wrapper.set(BasicClazz::getIsDeleted, 1);
basicClazzService.update(null, wrapper);
}
return R.success() ;
return R.success();
}
@Operation(summary = "流程卡与飞靶绑定")
@PostMapping("/fbBindingCrad")
public R fbBindingCrad(@RequestParam(value = "fsId") Long fsId,@RequestParam(value = "planListIds") String planListIds) {
public R fbBindingCrad(@RequestParam(value = "fsId") Long fsId, @RequestParam(value = "planListIds") String planListIds) {
pdaSaveService.bindingCard(null, fsId, null, planListIds);
return R.success() ;
return R.success();
}
@Operation(summary = "流程卡与设备绑定")
@PostMapping("/ecBindingCrad")
public R ecBindingCrad(@RequestParam(value = "ecId") Long ecId,@RequestParam(value = "planListIds") String planListIds) {
public R ecBindingCrad(@RequestParam(value = "ecId") Long ecId, @RequestParam(value = "planListIds") String planListIds) {
pdaSaveService.bindingCard(null, null, ecId, planListIds);
return R.success() ;
return R.success();
}
@Operation(summary = "挂具与设备绑定")
@PostMapping("/gjBindingEc")
public R gjBindingEc(@RequestParam(value = "ecId") Long ecId,@RequestParam(value = "rsListIds") String rsListIds) {
pdaSaveService.binding(null, ecId, null,null, rsListIds);
return R.success() ;
public R gjBindingEc(@RequestParam(value = "ecId") Long ecId, @RequestParam(value = "rsListIds") String rsListIds) {
pdaSaveService.binding(null, ecId, null, null, rsListIds);
return R.success();
}
@Operation(summary = "烧结流程卡与设备绑定")
@PostMapping("/sjEcBindingCard")
public R sjEcBindingCard(@RequestBody SjEcBingCardVo sjEcBingCardVo) {
pdaSaveService.sjBindingCard(sjEcBingCardVo);
return R.success() ;
return R.success();
}
@Operation(summary = "解绑")
@PostMapping("/unBind")
public R unBind(@RequestBody UnBingVo unBingVo) {
pdaSaveService.unBind(unBingVo);
return R.success() ;
return R.success();
}
@Operation(summary = "获取烧结未解绑的绑定记录")
@PostMapping("/getUnbindByCard")
public R getUnbindByCard(@RequestParam(value = "cardNo") String cardNo) {
return R.data(pdaSaveService.getUnbindByCard(cardNo)) ;
return R.data(pdaSaveService.getUnbindByCard(cardNo));
}
@Operation(summary = "烧结设备解绑解绑")
@PostMapping("/sjDeviceUnBind")
public R sjDeviceUnBind(@RequestBody UnBingDeviceVo unBingDeviceVo) {
pdaSaveService.sjDeviceUnBind(unBingDeviceVo);
return R.success() ;
return R.success();
}

@ -58,7 +58,7 @@
LEFT JOIN MES_WORK_ORDER wo ON wp.WO_ID = wo.ID
LEFT JOIN MES_YIELD_ORDER yo ON wo.YO_ID = yo.ID
<where>
mr.IS_DELETED = 0 and a.worker = #{mesMakeRec.worker}
mr.IS_DELETED = 0 and mr.worker = #{mesMakeRec.worker}
<if test="mesMakeRec.woCode != null and mesMakeRec.woCode != ''">
AND wo.WO_CODE LIKE concat(concat('%', #{mesMakeRec.worker}),'%')
</if>

@ -24,11 +24,11 @@ public interface IPdaLoadService extends BaseService<WorkPlan> {
* <p>方法名: loadBindData </p>
* <p>方法描述: 加载绑定数据 </p>
*
* @param user 用户
* @param userId 用户id
* @param cardNo 卡号
* @return org.springblade.desk.produce.pojo.entity.WorkPlan
*/
WorkPlan loadBindData(BladeUser user, String cardNo);
WorkPlan loadBindData(Long userId, String cardNo);
/**
* <p>方法名: getBsRackSetByCode </p>
* <p>方法描述: 根据挂具编码查询数据 </p>
@ -62,7 +62,7 @@ public interface IPdaLoadService extends BaseService<WorkPlan> {
void deletedProduceRun(String mtnCode);
public WorkOrder checkPrWorkOrder(String cardNo);
WorkOrder checkPrWorkOrder(String cardNo);
void handleBaoZhuangWorkPlan(List<WorkPlan> wpList, YieldOrder yo);

@ -34,7 +34,6 @@ public interface IPdaSaveService extends BaseService<WorkPlan> {
* @param ecId 设备id
* @param unFsBool 是否解绑
* @param rsListIds 绑定数据
* @param listIds
*/
void binding(Long rsId, Long ecId, Boolean unFsBool,String hangNum,String rsListIds);
/**

@ -128,14 +128,6 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
}
}
private List<Long> getTeamId(Long userId) {
List<UserRight> bsTeamSet = userRightService.list(Wrappers.lambdaQuery(UserRight.class).eq(UserRight::getUserId, userId).eq(UserRight::getUrType, "bs_team_set"));
if (CollectionUtils.isEmpty(bsTeamSet)) {
return null;
}
return bsTeamSet.stream().map(UserRight::getTheId).toList();
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean saveMakeRec(MakeRecDTO makeRecDTO) {
@ -432,8 +424,11 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
@Override
public IPage<MesMakeRecVO> selectMesMakeRecPage(IPage<MesMakeRecVO> page, MesMakeRecVO mesMakeRec) {
IPage<MesMakeRecVO> mesMakeRecVOIPage = page.setRecords(baseMapper.selectMesMakeRecPage(page, mesMakeRec));
List<MesMakeRecVO> records = mesMakeRecVOIPage.getRecords();
if (mesMakeRec.getWorker() == null) {
mesMakeRec.setWorker(AuthUtil.getUserId());
}
IPage<MesMakeRecVO> mesMakeRecVoiPage = page.setRecords(baseMapper.selectMesMakeRecPage(page, mesMakeRec));
List<MesMakeRecVO> records = mesMakeRecVoiPage.getRecords();
if (CollectionUtils.isNotEmpty(records)) {
List<Long> ppsIds = new ArrayList<>();
List<Long> makeTeams = new ArrayList<>();
@ -470,9 +465,9 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
record.setNextPpsName(processSetMap.get(record.getNextPpsId()));
record.setNextMakeTeamName(teamMap.get(record.getNextMakeTeam()));
}
mesMakeRecVOIPage.setRecords(records);
mesMakeRecVoiPage.setRecords(records);
}
return mesMakeRecVOIPage;
return mesMakeRecVoiPage;
}
@Override

@ -15,7 +15,11 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.basic.mapper.CraftAbilityMapper;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.IUserRightService;
import org.springblade.desk.dashboard.pojo.entity.*;
import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity;
@ -101,16 +105,23 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
private final WorkPlanMapper workPlanMapper;
private final IWorkPlanService workPlanService;
private final IUserRightService userRightService;
@Override
public WorkPlan loadBindData(BladeUser user, String cardNo) {
WorkPlan prWorkPlan = this.getCurrentWorkPlan(cardNo, user, false, false);
public WorkPlan loadBindData(Long userId, String cardNo) {
WorkPlan prWorkPlan = this.getCurrentWorkPlan(cardNo, userId, false, false);
return prWorkPlan;
}
@Override
public RackSetEntity getBsRackSetByCode(String rsCode) {
return rackSetService.getOne(Wrappers.lambdaQuery(RackSetEntity.class)
.eq(RackSetEntity::getRsCode, rsCode));
RackSetEntity rackSet = rackSetService.getBsRackSetByCode(rsCode);
if (rackSet == null) {
throw new ServiceException("此挂具不存在!");
}
return rackSet;
}
@Override
@ -172,7 +183,7 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
.woCode(prWorkOrder.getWoCode())
.batchNo(prWorkOrder.getBatchNo())
.partCode(prWorkOrder.getPartCode())
.partName(part.getPartName())
.partName(part != null ? part.getPartName() : null)
.frontOrders(frontWorkPlan.getOrders())
.frontPpsName(processSetMap.get(frontWorkPlan.getPpsId()).getName())
.wpId(prWorkPlan.getId())
@ -206,42 +217,36 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
}
private WorkPlan getCurrentWorkPlan(String cardNo, BladeUser user, boolean checkCurrentProcess, boolean checkAfterPlating) {
private WorkPlan getCurrentWorkPlan(String cardNo, Long userId, boolean checkCurrentProcess, boolean checkAfterPlating) {
//获取并验证车间订单
WorkOrder prWorkOrder = this.checkPrWorkOrder(cardNo);
//获取当前登录人班组
List<Long> tsIds = relTeamSetUserService.
list(Wrappers.lambdaQuery(RelTeamSetUser.class)
.eq(RelTeamSetUser::getUserId, user.getUserId()))
.stream().map(RelTeamSetUser::getUserId).collect(Collectors.toList());
List<Long> tsIds = userRightService.getTeamId(userId);
//获取作业计划
WorkPlan prWorkPlan = this.getOne(Wrappers.lambdaQuery(WorkPlan.class)
.eq(WorkPlan::getId, prWorkOrder.getWpId()));
WorkPlan workPlan = workPlanService.getById(prWorkOrder.getWpId());
//获取当前工序的下序
WorkPlan nextPrWorkPlan = this.getOne(Wrappers.lambdaQuery(WorkPlan.class)
.eq(WorkPlan::getId, prWorkPlan.getNextWpId()));
WorkPlan nextPrWorkPlan = workPlanService.getById(workPlan.getNextWpId());
//获取当前工序的上序
WorkPlan frontPrWorkPlan = this.getOne(Wrappers.lambdaQuery(WorkPlan.class)
.eq(WorkPlan::getId, prWorkPlan.getFrontWpId()));
WorkPlan frontPrWorkPlan = workPlanService.getById(workPlan.getFrontWpId());
//如果是最后一道工序(当前序下序为空或者下序的下序为空)
if (nextPrWorkPlan == null || nextPrWorkPlan.getNextWpId() == null) {
//如果是镀后入库则不验证
if (checkAfterPlating) {
throw new ServiceException("pda.nextWorkPlan.noNext");
throw new ServiceException("工序已是最后一道!");
}
}
//验证作业中心
//this.checkWorkCenter(checkCurrentProcess, frontPrWorkPlan, prWorkPlan, nextPrWorkPlan, tsIds, checkAfterPlating);
this.checkWorkCenter(checkCurrentProcess, frontPrWorkPlan, workPlan, nextPrWorkPlan, tsIds, checkAfterPlating);
//状态是false或者上序为空,并且当前序(首道)状态未未开工时,获取当前序;
if (!checkCurrentProcess || (frontPrWorkPlan == null && prWorkPlan.getStatus().equals(WorkPlan.STATUS_NO_START))) {
return prWorkPlan;
if (!checkCurrentProcess || (frontPrWorkPlan == null && workPlan.getStatus().equals(WorkPlan.STATUS_NO_START))) {
return workPlan;
}
//如果是镀后入库则不验证
if (checkAfterPlating) {
if (prWorkPlan != null) {
if (workPlan != null) {
//验证上道工序是否报工完成
if (!WorkPlan.STATUS_WORK_OK.equals(prWorkPlan.getStatus())) {
throw new ServiceException("product.frontWpNotWork");
if (!WorkPlan.STATUS_WORK_OK.equals(workPlan.getStatus())) {
throw new ServiceException("上序未报工完成,请联系相关人员处理!");
}
}
}
@ -249,9 +254,47 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
private void checkWorkCenter(boolean checkCurrentProcess, WorkPlan frontPrWorkPlan, WorkPlan prWorkPlan, WorkPlan nextPrWorkPlan, List<Long> tsIds, boolean checkAfterPlating) {
// todo 等待关联表开发完成
// WorkCenter bsWorkCenter = null;
// BsTeamSetEntity teamSet;
// if (!checkCurrentProcess || (frontPrWorkPlan == null && prWorkPlan.getStatus().equals(WorkPlan.STATUS_NO_START)) || nextPrWorkPlan == null) {
// if (prWorkPlan.getMakeTeam() == null) {
// throw new ServiceException("当前工序无加工班组");
// }
//
// // 根据当前工序班组查询作业中心
// teamSet = bsTeamSetService.getById(prWorkPlan.getMakeTeam());
// if (teamSet != null) {
// bsWorkCenter = centerTeam.getBsWorkCenter();
// }
// // 验证当前登录人和当前工序的班组是否一致
// this.checkMakeTeamOne(prWorkPlan, tsIds);
// if (checkAfterPlating) {
// prWorkPlanService.verifyMakeUnit(prWorkPlan);
// }
// } else {
//
// if (nextPrWorkPlan.getMakeTeam() == null) {
// throw new ServiceException("当前工序无加工班组");
// }
//
// // 根据当前工序班组查询作业中心
// centerTeam = bsCenterTeamService.getByTsId(nextPrWorkPlan.getMakeTeam().getTsId());
// if (centerTeam != null) {
// bsWorkCenter = centerTeam.getBsWorkCenter();
// }
// //验证当前登录人和当前工序的班组是否一致
// this.checkMakeTeamOne(nextPrWorkPlan, tsIds);
// if (checkAfterPlating) {
// prWorkPlanService.verifyMakeUnit(nextPrWorkPlan);
// }
// }
// if (bsWorkCenter == null) {
// throw new ServiceException("当前工序无作业中心!");
// }
}
@Override
public WorkOrder checkPrWorkOrder(String cardNo) {
WorkOrder prWorkOrder = this.checkWo(cardNo);
//车间订单状态小于已下达并且大于加工中的情况下,不允许下序接收
@ -307,10 +350,10 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
private WorkOrder checkWo(String cardNo) {
WorkOrder prWorkOrder = workOrderService.getOne(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getCardNo, cardNo));
if (prWorkOrder == null) {
throw new ServiceException("pda.prWorkOrder.absent" + null);
WorkOrder workOrder = workOrderService.getWorkOrderByCardNo(cardNo);
if (workOrder == null) {
throw new ServiceException("车间订单不存在!");
}
return prWorkOrder;
return workOrder;
}
}

@ -99,20 +99,20 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
@Override
public void bindingCard(Long rsId, Long fsId, Long ecId, String planListIds) {
RackSetEntity rackSet = rackSetService.getById(rsId);
RackSetEntity rackSet = rackSetService.getById(rsId);
//BsFeiBaSet bsFeiBaSet = this.getFeiBaSetByFsId(fsId);
//DeEquipmentCard equipmentCard = this.getEquipmentCardByEcId(ecId);
//同槽号
String code = null;
//rsId挂具绑定流程卡,fsId飞靶绑定流程卡
if(rsId!=null){
if (rsId != null) {
List<MacToolUse> macToolUseList = macToolUseService.list(Wrappers.<MacToolUse>query().lambda()
.eq(MacToolUse::getBsRackSet, rsId)
.eq(MacToolUse::getFinished, false)
.eq(MacToolUse::getIsDeleted, 0).orderByDesc(MacToolUse::getMtnCode)
);
if(macToolUseList.size()>0){
if (macToolUseList.size() > 0) {
code = macToolUseList.get(0).getMtnCode();
}
//如果未找到满足条件的同槽号
@ -128,7 +128,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
MacToolUse mtu = null;
//绑定日期
Date nowDate = new Date();
String [] str= planListIds.split(",");
String[] str = planListIds.split(",");
for (int i = 0; i < str.length; i++) {
Long planId = Long.parseLong(str[i]);
prWorkPlan = this.getById(planId);
@ -152,11 +152,11 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
@Override
public void binding(Long fsId, Long ecId, Boolean unFsBool,String hangNum, String rsListIds) {
public void binding(Long fsId, Long ecId, Boolean unFsBool, String hangNum, String rsListIds) {
//获取同槽号
String code = null;
Date nowDate = new Date();
FeiBaSetEntity frackSet = feiBaSetService.getById(fsId);
FeiBaSetEntity frackSet = feiBaSetService.getById(fsId);
//挂具集合不为空,则代表是挂具相关绑定,反之则是飞靶绑定设备
if (rsListIds != null) {
if (fsId != null) {
@ -165,7 +165,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
.eq(MacToolUse::getFinished, false)
.eq(MacToolUse::getIsDeleted, 0).orderByDesc(MacToolUse::getMtnCode)
);
if(macToolUseList.size()>0){
if (macToolUseList.size() > 0) {
code = macToolUseList.get(0).getMtnCode();
}
//修改飞靶状态
@ -174,15 +174,15 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
if (StringUtils.isBlank(code)) {
code = macToolUseService.nextCode(0);
}
}else {
} else {
//如果未找到满足条件的同槽号,则自动生成一个同槽号(设备)
if (StringUtils.isBlank(code)) {
code = macToolUseService.nextCode(2);
}
}
//挂具
RackSetEntity rackSet = null;
String [] str= rsListIds.split(",");
RackSetEntity rackSet = null;
String[] str = rsListIds.split(",");
for (int i = 0; i < str.length; i++) {
Long rsId = Long.parseLong(str[i]);
rackSet = rackSetService.getById(rsId);
@ -204,13 +204,13 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
this.setBsAdditionalMess(code);
}
}else {
} else {
List<MacToolUse> macToolUseList = macToolUseService.list(Wrappers.<MacToolUse>query().lambda()
.eq(MacToolUse::getBsFeiBaSet, frackSet.getId())
.eq(MacToolUse::getIsDeleted, 0)
);
//未标记解绑飞靶,则代表正常绑定
if (unFsBool == null){
if (unFsBool == null) {
//获取以设备为基准的同槽号
code = macToolUseService.nextCode(2);
//开始绑定
@ -252,7 +252,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
workPlan = baseMapper.selectById(id);
mtu = new MacToolUse();
mtu.setWpId( id);
mtu.setWpId(id);
mtu.setBindType("sj");
// "玻璃饼排蜡玻化(箱式炉)".equals(ppsName) ||
if ("配胶".equals(sjEcBingCardVo.getOperate()) || "玻璃饼压制".equals(sjEcBingCardVo.getPpsName()) || "振光".equals(sjEcBingCardVo.getOperate()) || "玻璃饼印字".equals(sjEcBingCardVo.getPpsName())
@ -376,7 +376,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
baseMapper.updateById(prWorkPlan);
List<MesQcProduceRunEntity> qcProduceRuns = mesQcProduceRunService.list(Wrappers.<MesQcProduceRunEntity>lambdaQuery().
eq(MesQcProduceRunEntity::getMtnCode,prMacToolUse.getMtnCode()));
eq(MesQcProduceRunEntity::getMtnCode, prMacToolUse.getMtnCode()));
if (qcProduceRuns == null || qcProduceRuns.size() == 0) {
continue;
@ -398,7 +398,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
// 获取设备所需参数
// 如果没有填写退火温度
if (StringUtils.isBlank(unBingDeviceVo.getTempSlot())) {
// macToolUseService.setSjDataCapture(qcProduceRun, Boolean.TRUE); //todo
// macToolUseService.setSjDataCapture(qcProduceRun, Boolean.TRUE); //todo
}
}
}
@ -422,10 +422,10 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
if (rpList == null && rpList.size() == 0) {
//修改erp返工单工艺状态为无工艺
//prReworkProcessDao.receiveOrder(rr, user.getLdapName(), 0);
}else {
} else {
//查询原订单
// WorkOrder wo = prWorkOrderService.getWorkOrderUniqueRec(rr.getPrtno(), rr.getSplcode(), rr.getSono());
WorkOrder wo =workOrderService.getOne(Wrappers.<WorkOrder>lambdaQuery().eq(WorkOrder::getBatchNo, rr.getSplcode()));
// WorkOrder wo = prWorkOrderService.getWorkOrderUniqueRec(rr.getPrtno(), rr.getSplcode(), rr.getSono());
WorkOrder wo = workOrderService.getOne(Wrappers.<WorkOrder>lambdaQuery().eq(WorkOrder::getBatchNo, rr.getSplcode()));
//syDockingLogService.sendDockingLog("查询原单", rr.getRedono(), rr.getPrtno()+","+rr.getSplcode()+","+rr.getSono());
if (wo == null) {
wo = workOrderService.getOne(Wrappers.<WorkOrder>lambdaQuery().eq(WorkOrder::getBatchNo, rr.getSplcode()));
@ -449,7 +449,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//非3400返工
memo = memo + "返工路线是3400-3400 ---- ";
log.info("3400-3400新车间订单:woCode:{},oldYoCode:{}", newWo.getWoCode(), yieldOrder.getYoCode());
}else {
} else {
//copy原生产订单,更新单号和关键信息
YieldOrder newYieldOrder = yieldOrder;
newYieldOrder.setYoCode(null);
@ -473,7 +473,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//zxh 20250522 找到原单,非3400-3400,复制pj后不再更改pocode
//newYieldOrder.setPoCode(rr.getRedono());
newYieldOrder.setProduceBool(Boolean.TRUE);
// newYieldOrder.setCurStatus(PjYieldOrder.CUR_STATUS_PROCESSING);
// newYieldOrder.setCurStatus(PjYieldOrder.CUR_STATUS_PROCESSING);
//周新昊 20240912 返修订单找到原单复制pj后为使用部门代码赋值
//newYieldOrder.setUseDeptcode(rr.getUsedept());
yieldOrderService.save(newYieldOrder);
@ -484,7 +484,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
newWo.setReInStore("1");
//newYieldOrder.setPoCode(rr.getRedono());
} else {
// newWo.setWoCode(prWorkOrderCodeService.nextCode(yieldOrder.getPoCode()));
// newWo.setWoCode(prWorkOrderCodeService.nextCode(yieldOrder.getPoCode()));
}
//绑定新车间订单的接收信息
//newWo.setPjYieldOrder(newYieldOrder);
@ -492,7 +492,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//更新原生产订单状态为已关闭
YieldOrder oldYo = yieldOrderService.getById(wo.getYoId());
if (oldYo != null) {
// oldYo.setCurStatus(PjYieldOrder.CUR_STATUS_VOIDED);
// oldYo.setCurStatus(PjYieldOrder.CUR_STATUS_VOIDED);
oldYo.setCustodian(rr.getRecman());
yieldOrderService.updateById(oldYo);
}
@ -555,7 +555,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
public void completeOrder(MesRbRedoRoutDTO rr, String userName) {
WorkOrder wo =workOrderService.getOne(Wrappers.lambdaQuery(WorkOrder.class)
WorkOrder wo = workOrderService.getOne(Wrappers.lambdaQuery(WorkOrder.class)
.eq(WorkOrder::getBatchNo, rr.getSplcode()));
if (wo != null) {
//记录返工单号
@ -563,7 +563,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
//如果原车间订单状态小于已交接,就更改原订单状态为返工,否则不更改
if (wo.getRunStatus() < WorkOrder.RUN_STATUS_HANDOVER) {
//修改旧订单状态
workOrderService.updateStatus(null,WorkOrder.RUN_STATUS_REWORK,wo.getId(), null);
workOrderService.updateStatus(null, WorkOrder.RUN_STATUS_REWORK, wo.getId(), null);
}
// 如果有 FatherYoId 有值,则代表他是子件 修改部件状态为返工
YieldOrder pjYieldOrder = yieldOrderService.getById(wo.getYoId());
@ -579,10 +579,10 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
}
}
}else {
} else {
}
this.completeOrder(rr, userName);
this.completeOrder(rr, userName);
}
@Override
@ -621,7 +621,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
prWorkPlan.setMakeTeam(item.getMakeTeam());
// 2025-07-23 线上迁移修改注释掉代码
if(item.getPapers() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)){
if (item.getPapers() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) {
WorkPlanLog log = new WorkPlanLog();
log.setUpdateUser(AuthUtil.getUser().getUserId());
log.setUpdateTime(new Date());
@ -647,9 +647,9 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
wp.setMakeTeam(makeTeam.getId());
}
});
// prWorkOrderAdjustService.saveAdjust(woId, oldTsId, newTsId, userInfo);
// prWorkOrderAdjustService.saveAdjust(woId, oldTsId, newTsId, userInfo);
//更新订单主加工单位
// prWorkOrderService.updateHostWorkUnit(woId);
// prWorkOrderService.updateHostWorkUnit(woId);
}
private void unBindBsRackSet(RackSetEntity bsRackSet) {
@ -695,6 +695,7 @@ public class PdaSaveServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
/**
* 存储同槽额外面积
*
* @param code
*/
private void setBsAdditionalMess(String code) {

Loading…
Cancel
Save