Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
5f6844bfa6
@ -1,5 +1,6 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster;
|
package com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster;
|
||||||
|
|
||||||
|
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubRespVO;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubRespVO;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.zjpgmaster.vo.ZjPgMasterSaveReqVO;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.zjpgmaster.vo.ZjPgMasterSaveReqVO;
|
||||||
@ -126,6 +127,14 @@ public class PgMasterController {
|
|||||||
PageResult<PgMasterLineDO> pageResult = pgMasterService.getTaskDispatchDetailPage(pageReqVO);
|
PageResult<PgMasterLineDO> pageResult = pgMasterService.getTaskDispatchDetailPage(pageReqVO);
|
||||||
return success(pageResult);
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
@GetMapping("/task-dispatch-detail/pages")
|
||||||
|
@Operation(summary = "获得质量派工单过程检验行分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:pg-master-line:query')")
|
||||||
|
public CommonResult<PageResult<PgMasterLineDO>> getPgMasterLinePages(@Valid PgMasterLinePageReqVO pageReqVO) {
|
||||||
|
PageResult<PgMasterLineDO> pageResult = pgMasterService.getPgMasterLinePages(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, PgMasterLineDO.class));
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/task-dispatch-detail/get")
|
@GetMapping("/task-dispatch-detail/get")
|
||||||
@Operation(summary = "获得派工明细分页")
|
@Operation(summary = "获得派工明细分页")
|
||||||
@PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')")
|
@PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')")
|
||||||
|
@ -107,4 +107,17 @@ public class PgMasterLinePageReqVO extends PageParam {
|
|||||||
@Schema(description = "派工状态")
|
@Schema(description = "派工状态")
|
||||||
private Integer dispatchStatus;
|
private Integer dispatchStatus;
|
||||||
|
|
||||||
|
@Schema(description = "生产计划单号")
|
||||||
|
private String taskNo;
|
||||||
|
|
||||||
|
@Schema(description = "生产计划id", example = "25586")
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
@Schema(description = "项目id", example = "20270")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@Schema(description = "报工状态")
|
||||||
|
private String active;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -62,7 +62,7 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
|
|||||||
.orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber)
|
.orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber)
|
||||||
.disableSubLogicDel();
|
.disableSubLogicDel();
|
||||||
|
|
||||||
query.eq(reqVO.getDetilUser() != null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
||||||
.eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType())
|
.eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType())
|
||||||
.eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
.eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
||||||
|
|
||||||
@ -72,4 +72,85 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
|
|||||||
return selectPage(reqVO, query);
|
return selectPage(reqVO, query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
default PageResult<PgMasterLineDO> selectPages(PgMasterLinePageReqVO reqVO) {
|
||||||
|
MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>();
|
||||||
|
query.select("t.id,t.task_no as taskNo,t.project_name as projectName,t.project_sub_name as projectSubName, " +
|
||||||
|
"t.material_name as materialName, t.blueprint_no as blueprintNo, t.amount, t.spec ,t.unit, t.detil_user as detilUser, " +
|
||||||
|
"t.pg_number as pgNumber ,t.start_time as startTime ,t.ent_time as entTime ,t.dispatch_status as dispatchStatus,t.pg_type as pgType ")
|
||||||
|
|
||||||
|
.orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber)
|
||||||
|
;
|
||||||
|
|
||||||
|
query.eq(reqVO.getCreateTime()!= null, PgMasterLineDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.eq(reqVO.getBomId()!= null, PgMasterLineDO::getBomId, reqVO.getBomId())
|
||||||
|
.eq(reqVO.getBomNumber()!= null, PgMasterLineDO::getBomNumber, reqVO.getBomNumber())
|
||||||
|
.like(reqVO.getBomName()!= null, PgMasterLineDO::getBomName, reqVO.getBomName())
|
||||||
|
.eq(reqVO.getBomNo()!= null, PgMasterLineDO::getBomNo, reqVO.getBomNo())
|
||||||
|
.eq(reqVO.getProjectSubId()!= null, PgMasterLineDO::getProjectSubId, reqVO.getProjectSubId())
|
||||||
|
.like(reqVO.getProjectSubName()!= null, PgMasterLineDO::getProjectSubName, reqVO.getProjectSubName())
|
||||||
|
.eq(reqVO.getProjectSubNumber()!= null, PgMasterLineDO::getProjectSubNumber, reqVO.getProjectSubNumber())
|
||||||
|
.eq(reqVO.getType()!= null, PgMasterLineDO::getType, reqVO.getType())
|
||||||
|
.eq(reqVO.getMaterialId()!= null, PgMasterLineDO::getMaterialId, reqVO.getMaterialId())
|
||||||
|
.eq(reqVO.getMaterialCode()!= null, PgMasterLineDO::getMaterialCode, reqVO.getMaterialCode())
|
||||||
|
.like(reqVO.getMaterialName()!= null, PgMasterLineDO::getMaterialName, reqVO.getMaterialName())
|
||||||
|
.eq(reqVO.getCompositionId()!= null, PgMasterLineDO::getCompositionId, reqVO.getCompositionId())
|
||||||
|
.eq(reqVO.getSpec()!= null, PgMasterLineDO::getSpec, reqVO.getSpec())
|
||||||
|
.eq(reqVO.getUnit()!= null, PgMasterLineDO::getUnit, reqVO.getUnit())
|
||||||
|
.eq(reqVO.getBlueprintNo()!= null, PgMasterLineDO::getBlueprintNo, reqVO.getBlueprintNo())
|
||||||
|
.eq(reqVO.getAmount()!= null, PgMasterLineDO::getAmount, reqVO.getAmount())
|
||||||
|
.eq(reqVO.getDetilUser()!= null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
||||||
|
.eq(reqVO.getGongShi()!= null, PgMasterLineDO::getGongShi, reqVO.getGongShi())
|
||||||
|
.eq(reqVO.getZlPgId()!= null, PgMasterLineDO::getZlPgId, reqVO.getZlPgId())
|
||||||
|
.eq(reqVO.getPgType()!= null, PgMasterLineDO::getPgType, reqVO.getPgType())
|
||||||
|
.eq(reqVO.getStartTime()!= null, PgMasterLineDO::getStartTime, reqVO.getStartTime())
|
||||||
|
.eq(reqVO.getEntTime()!= null, PgMasterLineDO::getEntTime, reqVO.getEntTime())
|
||||||
|
.eq(reqVO.getDispatchStatus()!= null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
||||||
|
.eq(reqVO.getTaskNo()!= null, PgMasterLineDO::getTaskNo, reqVO.getTaskNo())
|
||||||
|
.eq(reqVO.getTaskId()!= null, PgMasterLineDO::getTaskId, reqVO.getTaskId())
|
||||||
|
.eq(reqVO.getProjectId()!= null, PgMasterLineDO::getProjectId, reqVO.getProjectId())
|
||||||
|
.like(reqVO.getProjectName()!= null, PgMasterLineDO::getProjectName, reqVO.getProjectName())
|
||||||
|
.eq(reqVO.getPgNumber()!= null, PgMasterLineDO::getPgNumber, reqVO.getPgNumber())
|
||||||
|
.eq(reqVO.getActive()!= null, PgMasterLineDO::getActive, reqVO.getActive())
|
||||||
|
.orderByDesc(PgMasterLineDO::getId)
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
return selectPage(reqVO, query);
|
||||||
|
/*return selectPage(reqVO, new LambdaQueryWrapperX<PgMasterLineDO>()
|
||||||
|
.betweenIfPresent(PgMasterLineDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getBomId, reqVO.getBomId())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getBomNumber, reqVO.getBomNumber())
|
||||||
|
.likeIfPresent(PgMasterLineDO::getBomName, reqVO.getBomName())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getBomNo, reqVO.getBomNo())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getProjectSubId, reqVO.getProjectSubId())
|
||||||
|
.likeIfPresent(PgMasterLineDO::getProjectSubName, reqVO.getProjectSubName())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getProjectSubNumber, reqVO.getProjectSubNumber())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getType, reqVO.getType())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getMaterialId, reqVO.getMaterialId())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getMaterialCode, reqVO.getMaterialCode())
|
||||||
|
.likeIfPresent(PgMasterLineDO::getMaterialName, reqVO.getMaterialName())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getCompositionId, reqVO.getCompositionId())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getSpec, reqVO.getSpec())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getUnit, reqVO.getUnit())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getBlueprintNo, reqVO.getBlueprintNo())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getAmount, reqVO.getAmount())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getGongShi, reqVO.getGongShi())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getZlPgId, reqVO.getZlPgId())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getPgType, reqVO.getPgType())
|
||||||
|
.betweenIfPresent(PgMasterLineDO::getStartTime, reqVO.getStartTime())
|
||||||
|
.betweenIfPresent(PgMasterLineDO::getEntTime, reqVO.getEntTime())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getTaskNo, reqVO.getTaskNo())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getTaskId, reqVO.getTaskId())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getProjectId, reqVO.getProjectId())
|
||||||
|
.likeIfPresent(PgMasterLineDO::getProjectName, reqVO.getProjectName())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getPgNumber, reqVO.getPgNumber())
|
||||||
|
.eqIfPresent(PgMasterLineDO::getActive, reqVO.getActive())
|
||||||
|
.orderByDesc(PgMasterLineDO::getId));*/
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -74,9 +74,9 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> {
|
|||||||
.or()
|
.or()
|
||||||
.apply("u5.id = {0} and t.process_design_type = {1}", reqVO.getOwner(), ProcessDesignTypeEnum.BLUEPRINT_3D.name()));
|
.apply("u5.id = {0} and t.process_design_type = {1}", reqVO.getOwner(), ProcessDesignTypeEnum.BLUEPRINT_3D.name()));
|
||||||
}
|
}
|
||||||
/*if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){
|
if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){
|
||||||
query.and(QueryWrapper -> QueryWrapper.apply("COALESCE(z.progress, 0) < {0}", 100).ne(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode()));
|
query.and(QueryWrapper -> QueryWrapper.apply("COALESCE(z.progress, 0) < {0}", 100).ne(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode()));
|
||||||
}*/
|
}
|
||||||
if(reqVO.getPgType() != null){
|
if(reqVO.getPgType() != null){
|
||||||
if(reqVO.getPgType()==0){
|
if(reqVO.getPgType()==0){
|
||||||
query.and(QueryWrapper -> QueryWrapper.apply("z.progress < {0}" , 100).or().apply("z.progress is null"));
|
query.and(QueryWrapper -> QueryWrapper.apply("z.progress < {0}" , 100).or().apply("z.progress is null"));
|
||||||
|
@ -68,7 +68,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
default boolean judgeHasOver(Long id){
|
default boolean judgeHasOver(Long id){
|
||||||
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
query.eq(TaskDispatchDetailDO::getDispatchId,id)
|
query.eq(TaskDispatchDetailDO::getDispatchId,id)
|
||||||
.eq(TaskDispatchDetailDO::getStatus,2);
|
.eq(TaskDispatchDetailDO::getProcedureStatus,2);
|
||||||
Long aLong = selectCount(query);
|
Long aLong = selectCount(query);
|
||||||
return aLong.compareTo(Long.valueOf(0))>0;
|
return aLong.compareTo(Long.valueOf(0))>0;
|
||||||
}
|
}
|
||||||
@ -162,9 +162,14 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
.leftJoin(TaskReportDO.class, "f", TaskReportDO::getDispatchDetailId, TaskDispatchDetailDO::getId)
|
.leftJoin(TaskReportDO.class, "f", TaskReportDO::getDispatchDetailId, TaskDispatchDetailDO::getId)
|
||||||
.ne(ProjectOrderDO::getStatus,6)
|
.ne(ProjectOrderDO::getStatus,6)
|
||||||
.groupBy(TaskDispatchDetailDO::getId)
|
.groupBy(TaskDispatchDetailDO::getId)
|
||||||
.orderByAsc(TaskDispatchDetailDO::getId)
|
|
||||||
.disableSubLogicDel();
|
.disableSubLogicDel();
|
||||||
|
if (reqVO.getProcedureStatusList().size()==1 && reqVO.getProcedureStatusList().get(0)==2){
|
||||||
|
//完工降序
|
||||||
|
query.orderByDesc(TaskDispatchDO::getCode);
|
||||||
|
}else {
|
||||||
|
//未完工升序
|
||||||
|
query.orderByAsc(TaskDispatchDO::getCode);
|
||||||
|
}
|
||||||
if (CollUtil.isNotEmpty(postIds)) {
|
if (CollUtil.isNotEmpty(postIds)) {
|
||||||
query.and(i -> i
|
query.and(i -> i
|
||||||
.and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds))
|
.and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds))
|
||||||
|
@ -57,7 +57,7 @@ public interface ZjPgMasterLineMapper extends BaseMapperX<ZjPgMasterLineDO> {
|
|||||||
.orderByDesc(ZjPgMasterLineDO::getId)
|
.orderByDesc(ZjPgMasterLineDO::getId)
|
||||||
.disableSubLogicDel();
|
.disableSubLogicDel();
|
||||||
|
|
||||||
query.eq(reqVO.getDetilUser() != null, ZjPgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, ZjPgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
||||||
.eq(reqVO.getPgType() != null, ZjPgMasterLineDO::getPgType, reqVO.getPgType())
|
.eq(reqVO.getPgType() != null, ZjPgMasterLineDO::getPgType, reqVO.getPgType())
|
||||||
.eq(reqVO.getDispatchStatus()!=null,ZjPgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
.eq(reqVO.getDispatchStatus()!=null,ZjPgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus())
|
||||||
|
|
||||||
|
@ -66,6 +66,8 @@ public interface PgMasterService {
|
|||||||
|
|
||||||
PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO);
|
PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO);
|
||||||
|
|
||||||
|
PageResult<PgMasterLineDO> getPgMasterLinePages(PgMasterLinePageReqVO pageReqVO);
|
||||||
|
|
||||||
PgMasterLineDO getTaskDispatchDetail(PgMasterLinePageReqVO pageReqVO);
|
PgMasterLineDO getTaskDispatchDetail(PgMasterLinePageReqVO pageReqVO);
|
||||||
/**
|
/**
|
||||||
* 获得质量派工单过程检验行列表
|
* 获得质量派工单过程检验行列表
|
||||||
|
@ -233,6 +233,11 @@ public class PgMasterServiceImpl implements PgMasterService {
|
|||||||
|
|
||||||
// ==================== 子表(质量派工单过程检验行) ====================
|
// ==================== 子表(质量派工单过程检验行) ====================
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<PgMasterLineDO> getPgMasterLinePages(PgMasterLinePageReqVO pageReqVO) {
|
||||||
|
return pgMasterLineMapper.selectPages(pageReqVO);
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO) {
|
public PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO) {
|
||||||
return pgMasterLineMapper.selectPage(pageReqVO);
|
return pgMasterLineMapper.selectPage(pageReqVO);
|
||||||
|
@ -345,7 +345,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
List<TaskDispatchDetailDO> list = taskDispatchDetailDOPageResult.getList();
|
List<TaskDispatchDetailDO> list = taskDispatchDetailDOPageResult.getList();
|
||||||
List<TaskDispatchDetailDO> afterList = new ArrayList<>();
|
List<TaskDispatchDetailDO> afterList = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(list)){
|
if (CollUtil.isNotEmpty(list)){
|
||||||
Map<Long, List<TaskDispatchDetailDO>> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getId));
|
Map<String, List<TaskDispatchDetailDO>> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getDispatchCode));
|
||||||
collect.forEach((code,list2)->{
|
collect.forEach((code,list2)->{
|
||||||
list2.sort(Comparator.comparing(TaskDispatchDetailDO::getSort, Comparator.nullsLast(Integer::compareTo)));
|
list2.sort(Comparator.comparing(TaskDispatchDetailDO::getSort, Comparator.nullsLast(Integer::compareTo)));
|
||||||
afterList.addAll(list2);
|
afterList.addAll(list2);
|
||||||
@ -468,34 +468,90 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
crossOrderManager.generateStockInOrder(taskDispatchDetailDO.getDispatchId(), now, lastReportDO.getAmount());
|
crossOrderManager.generateStockInOrder(taskDispatchDetailDO.getDispatchId(), now, lastReportDO.getAmount());
|
||||||
break;
|
break;
|
||||||
case FINISH:
|
case FINISH:
|
||||||
|
|
||||||
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||||
// TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
|
//子项目装配是否完成
|
||||||
List<TaskDispatchDO> taskDispatchDOS = taskDispatchMapper.selectList(TaskDispatchDO::getPlanId, taskDispatchDO.getPlanId());
|
List<TaskDispatchDO> taskDispatchAssembleOverList = taskDispatchMapper.selectList(
|
||||||
if(CollUtil.isNotEmpty(taskDispatchDOS)){
|
new LambdaQueryWrapper<TaskDispatchDO>()
|
||||||
List<Long> ids = taskDispatchDOS.stream()
|
.eq(TaskDispatchDO::getProjectSubId, taskDispatchDO.getProjectSubId())
|
||||||
.map(TaskDispatchDO::getId)
|
.eq(TaskDispatchDO::getDispatchType,"ASSEMBLE"));
|
||||||
.collect(Collectors.toList());
|
//零件是否生产完成
|
||||||
List<TaskDispatchDetailDO> taskDispatchDetailList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
List<TaskDispatchDetailDO> taskDispatchDetailDOS = taskDispatchDetailMapper.selectListByDispatchId(taskDispatchDO.getId());
|
||||||
.in(TaskDispatchDetailDO::getDispatchId, ids));
|
List<TaskDispatchDetailDO> productionList = taskDispatchDetailDOS.stream().filter(e -> e.getDispatchType().equals("PRODUCTION") && !e.getId().equals(taskDispatchDetailDO.getId())).collect(Collectors.toList());
|
||||||
boolean isOver = true;
|
//过程检 零件所有生产派工完成生成
|
||||||
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailList) {
|
boolean isBomDetailProductionOver = true;
|
||||||
if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){
|
//终检 子项目装配派工都完成
|
||||||
if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
boolean isProjectSubAssembleOver = true;
|
||||||
isOver = false;
|
//生产零件派工判断是否生成过程检
|
||||||
break;
|
if (CollUtil.isNotEmpty(productionList)){
|
||||||
}
|
for (TaskDispatchDetailDO dispatchDetailDO : productionList) {
|
||||||
}
|
if (dispatchDetailDO.getProcedureStatus() !=TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||||
}
|
isBomDetailProductionOver = false;
|
||||||
if (isOver){
|
break;
|
||||||
planDO.setStatus(3);
|
|
||||||
planMapper.updateById(planDO);
|
|
||||||
if(taskDispatchDO.getDispatchType().equals("ASSEMBLE")){
|
|
||||||
zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId());
|
|
||||||
} else if (taskDispatchDO.getDispatchType().equals("PRODUCTION")) {
|
|
||||||
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (CollUtil.isNotEmpty(productionList)){
|
||||||
|
for (TaskDispatchDetailDO dispatchDetailDO : productionList) {
|
||||||
|
if (!dispatchDetailDO.getId().equals(taskDispatchDetailDO.getId()) &&
|
||||||
|
dispatchDetailDO.getProcedureStatus() !=TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||||
|
//如果其他的有未完成的
|
||||||
|
isProjectSubAssembleOver = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isBomDetailProductionOver){
|
||||||
|
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId());
|
||||||
|
}else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isProjectSubAssembleOver){
|
||||||
|
zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId());
|
||||||
|
}
|
||||||
|
// // TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
|
||||||
|
// List<Long> idsProduction = new ArrayList<>();
|
||||||
|
// List<Long> idsAssemble = new ArrayList<>();
|
||||||
|
// //生产计划是否完成 查所有
|
||||||
|
// List<TaskDispatchDO> taskDispatchDOS = taskDispatchMapper.selectList(new LambdaQueryWrapper<TaskDispatchDO>()
|
||||||
|
// .eq(TaskDispatchDO::getPlanId, taskDispatchDO.getPlanId()));
|
||||||
|
// if(CollUtil.isNotEmpty(taskDispatchDOS)){
|
||||||
|
// idsAssemble = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("ASSEMBLE"))
|
||||||
|
// .map(TaskDispatchDO::getId)
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
// idsProduction = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("PRODUCTION"))
|
||||||
|
// .map(TaskDispatchDO::getId)
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
// List<TaskDispatchDetailDO> taskDispatchDetailAssembleList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
||||||
|
// .in(TaskDispatchDetailDO::getDispatchId, idsAssemble));
|
||||||
|
// List<TaskDispatchDetailDO> taskDispatchDetailProductionList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
||||||
|
// .in(TaskDispatchDetailDO::getDispatchId, idsProduction));
|
||||||
|
//
|
||||||
|
// boolean isProductionOver = true;
|
||||||
|
// boolean isAssembleOver = true;
|
||||||
|
// for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailAssembleList) {
|
||||||
|
// if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){
|
||||||
|
// if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||||
|
// isAssembleOver = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailProductionList) {
|
||||||
|
// if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){
|
||||||
|
// if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||||
|
// isProductionOver = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isProductionOver){
|
||||||
|
// pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId());
|
||||||
|
// }else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isAssembleOver){
|
||||||
|
// zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId());
|
||||||
|
// }
|
||||||
|
// if (isProductionOver&&isAssembleOver){
|
||||||
|
// planDO.setStatus(3);
|
||||||
|
// planMapper.updateById(planDO);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
|
taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -18,6 +18,13 @@ export const getSearchBomMx = async (task_id: number,project_id: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 查询质量派工单过程检验行分页
|
||||||
|
export const getPgMasterLinePage = async (params) => {
|
||||||
|
return await request.get({ url: `/heli/pg-master/task-dispatch-detail/pages`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 查询质量过程检派工单主分页
|
// 查询质量过程检派工单主分页
|
||||||
export const getPgMasterPage = async (params) => {
|
export const getPgMasterPage = async (params) => {
|
||||||
return await request.get({ url: `/heli/pg-master/page`, params })
|
return await request.get({ url: `/heli/pg-master/page`, params })
|
||||||
|
@ -0,0 +1,244 @@
|
|||||||
|
<template>
|
||||||
|
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="formData"
|
||||||
|
:rules="formRules"
|
||||||
|
label-width="100px"
|
||||||
|
v-loading="formLoading"
|
||||||
|
>
|
||||||
|
<el-form-item label="bomID" prop="bomId">
|
||||||
|
<el-input v-model="formData.bomId" placeholder="请输入bomID" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="bom编号" prop="bomNumber">
|
||||||
|
<el-input v-model="formData.bomNumber" placeholder="请输入bom编号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="bom名称" prop="bomName">
|
||||||
|
<el-input v-model="formData.bomName" placeholder="请输入bom名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="bom版本号" prop="bomNo">
|
||||||
|
<el-input v-model="formData.bomNo" placeholder="请输入bom版本号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="子项目id" prop="projectSubId">
|
||||||
|
<el-input v-model="formData.projectSubId" placeholder="请输入子项目id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="子项目名称" prop="projectSubName">
|
||||||
|
<el-input v-model="formData.projectSubName" placeholder="请输入子项目名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="子项目编号" prop="projectSubNumber">
|
||||||
|
<el-input v-model="formData.projectSubNumber" placeholder="请输入子项目编号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否标准件" prop="type">
|
||||||
|
<el-select v-model="formData.type" placeholder="请选择是否标准件">
|
||||||
|
<el-option label="请选择字典生成" value="" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料id" prop="materialId">
|
||||||
|
<el-input v-model="formData.materialId" placeholder="请输入物料id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料编码" prop="materialCode">
|
||||||
|
<el-input v-model="formData.materialCode" placeholder="请输入物料编码" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料名称" prop="materialName">
|
||||||
|
<el-input v-model="formData.materialName" placeholder="请输入物料名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="材质id" prop="compositionId">
|
||||||
|
<el-input v-model="formData.compositionId" placeholder="请输入材质id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="规格" prop="spec">
|
||||||
|
<el-input v-model="formData.spec" placeholder="请输入规格" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="单位" prop="unit">
|
||||||
|
<el-input v-model="formData.unit" placeholder="请输入单位" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="图号" prop="blueprintNo">
|
||||||
|
<el-input v-model="formData.blueprintNo" placeholder="请输入图号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="数量" prop="amount">
|
||||||
|
<el-input v-model="formData.amount" placeholder="请输入数量" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检验人" prop="detilUser">
|
||||||
|
<el-input v-model="formData.detilUser" placeholder="请输入检验人" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预计工时" prop="gongShi">
|
||||||
|
<el-input v-model="formData.gongShi" placeholder="请输入预计工时" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="质量派工id" prop="zlPgId">
|
||||||
|
<el-input v-model="formData.zlPgId" placeholder="请输入质量派工id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否完成 0未完成 1已完成" prop="pgType">
|
||||||
|
<el-select v-model="formData.pgType" placeholder="请选择是否完成 0未完成 1已完成">
|
||||||
|
<el-option label="请选择字典生成" value="" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="开始日期" prop="startTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.startTime"
|
||||||
|
type="date"
|
||||||
|
value-format="x"
|
||||||
|
placeholder="选择开始日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结束日期" prop="entTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.entTime"
|
||||||
|
type="date"
|
||||||
|
value-format="x"
|
||||||
|
placeholder="选择结束日期"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="派工状态 已保存|已提交|已终止 1|2|3" prop="dispatchStatus">
|
||||||
|
<el-radio-group v-model="formData.dispatchStatus">
|
||||||
|
<el-radio label="1">请选择字典生成</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="生产计划单号" prop="taskNo">
|
||||||
|
<el-input v-model="formData.taskNo" placeholder="请输入生产计划单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="生产计划id" prop="taskId">
|
||||||
|
<el-input v-model="formData.taskId" placeholder="请输入生产计划id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目id" prop="projectId">
|
||||||
|
<el-input v-model="formData.projectId" placeholder="请输入项目id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
|
<el-input v-model="formData.projectName" placeholder="请输入项目名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="派工单号" prop="pgNumber">
|
||||||
|
<el-input v-model="formData.pgNumber" placeholder="请输入派工单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报工状态" prop="active">
|
||||||
|
<el-input v-model="formData.active" placeholder="请输入报工状态" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</template>
|
||||||
|
</Dialog>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import * as PgMasterApi from '@/api/heli/pgmaster'
|
||||||
|
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||||
|
const formData = ref({
|
||||||
|
id: undefined,
|
||||||
|
bomId: undefined,
|
||||||
|
bomNumber: undefined,
|
||||||
|
bomName: undefined,
|
||||||
|
bomNo: undefined,
|
||||||
|
projectSubId: undefined,
|
||||||
|
projectSubName: undefined,
|
||||||
|
projectSubNumber: undefined,
|
||||||
|
type: undefined,
|
||||||
|
materialId: undefined,
|
||||||
|
materialCode: undefined,
|
||||||
|
materialName: undefined,
|
||||||
|
compositionId: undefined,
|
||||||
|
spec: undefined,
|
||||||
|
unit: undefined,
|
||||||
|
blueprintNo: undefined,
|
||||||
|
amount: undefined,
|
||||||
|
detilUser: undefined,
|
||||||
|
gongShi: undefined,
|
||||||
|
zlPgId: undefined,
|
||||||
|
pgType: undefined,
|
||||||
|
startTime: undefined,
|
||||||
|
entTime: undefined,
|
||||||
|
dispatchStatus: undefined,
|
||||||
|
taskNo: undefined,
|
||||||
|
taskId: undefined,
|
||||||
|
projectId: undefined,
|
||||||
|
projectName: undefined,
|
||||||
|
pgNumber: undefined,
|
||||||
|
active: undefined,
|
||||||
|
})
|
||||||
|
const formRules = reactive({
|
||||||
|
})
|
||||||
|
const formRef = ref() // 表单 Ref
|
||||||
|
|
||||||
|
/** 打开弹窗 */
|
||||||
|
const open = async (type: string, id?: number) => {
|
||||||
|
dialogVisible.value = true
|
||||||
|
dialogTitle.value = t('action.' + type)
|
||||||
|
formType.value = type
|
||||||
|
resetForm()
|
||||||
|
// 修改时,设置数据
|
||||||
|
if (id) {
|
||||||
|
formLoading.value = true
|
||||||
|
try {
|
||||||
|
formData.value = await PgMasterLineApi.getPgMasterLine(id)
|
||||||
|
} finally {
|
||||||
|
formLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||||
|
|
||||||
|
/** 提交表单 */
|
||||||
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||||
|
const submitForm = async () => {
|
||||||
|
// 校验表单
|
||||||
|
await formRef.value.validate()
|
||||||
|
// 提交请求
|
||||||
|
formLoading.value = true
|
||||||
|
try {
|
||||||
|
const data = formData.value as unknown as PgMasterLineApi.PgMasterLineVO
|
||||||
|
if (formType.value === 'create') {
|
||||||
|
await PgMasterLineApi.createPgMasterLine(data)
|
||||||
|
message.success(t('common.createSuccess'))
|
||||||
|
} else {
|
||||||
|
await PgMasterLineApi.updatePgMasterLine(data)
|
||||||
|
message.success(t('common.updateSuccess'))
|
||||||
|
}
|
||||||
|
dialogVisible.value = false
|
||||||
|
// 发送操作成功的事件
|
||||||
|
emit('success')
|
||||||
|
} finally {
|
||||||
|
formLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置表单 */
|
||||||
|
const resetForm = () => {
|
||||||
|
formData.value = {
|
||||||
|
id: undefined,
|
||||||
|
bomId: undefined,
|
||||||
|
bomNumber: undefined,
|
||||||
|
bomName: undefined,
|
||||||
|
bomNo: undefined,
|
||||||
|
projectSubId: undefined,
|
||||||
|
projectSubName: undefined,
|
||||||
|
projectSubNumber: undefined,
|
||||||
|
type: undefined,
|
||||||
|
materialId: undefined,
|
||||||
|
materialCode: undefined,
|
||||||
|
materialName: undefined,
|
||||||
|
compositionId: undefined,
|
||||||
|
spec: undefined,
|
||||||
|
unit: undefined,
|
||||||
|
blueprintNo: undefined,
|
||||||
|
amount: undefined,
|
||||||
|
detilUser: undefined,
|
||||||
|
gongShi: undefined,
|
||||||
|
zlPgId: undefined,
|
||||||
|
pgType: undefined,
|
||||||
|
startTime: undefined,
|
||||||
|
entTime: undefined,
|
||||||
|
dispatchStatus: undefined,
|
||||||
|
taskNo: undefined,
|
||||||
|
taskId: undefined,
|
||||||
|
projectId: undefined,
|
||||||
|
projectName: undefined,
|
||||||
|
pgNumber: undefined,
|
||||||
|
active: undefined,
|
||||||
|
}
|
||||||
|
formRef.value?.resetFields()
|
||||||
|
}
|
||||||
|
</script>
|
357
mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/index.vue
Normal file
357
mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/index.vue
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
<template>
|
||||||
|
<ContentWrap>
|
||||||
|
<!-- 搜索工作栏 -->
|
||||||
|
<el-form
|
||||||
|
class="-mb-15px"
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryFormRef"
|
||||||
|
:inline="true"
|
||||||
|
label-width="160px"
|
||||||
|
>
|
||||||
|
<!-- <el-form-item label="创建时间" prop="createTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.createTime"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
|
||||||
|
<el-form-item label="生产计划单号" prop="taskNo">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.taskNo"
|
||||||
|
placeholder="请输入生产计划单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.projectName"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="子项目名称" prop="projectSubName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.projectSubName"
|
||||||
|
placeholder="请输入子项目名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item label="派工单号" prop="pgNumber">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.pgNumber"
|
||||||
|
placeholder="请输入派工单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="检验人" prop="detilUser">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.detilUser"
|
||||||
|
placeholder="请输入检验人"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="单据状态" prop="pgType">
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.pgType"
|
||||||
|
placeholder="请选择是否完成 0未完成 1已完成"
|
||||||
|
clearable
|
||||||
|
class="!w-240px"
|
||||||
|
>
|
||||||
|
<el-option label="请选择字典生成" value="" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="开始日期" prop="startTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.startTime"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="结束日期" prop="entTime">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryParams.entTime"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
type="daterange"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <el-form-item label="报工状态" prop="active">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.active"
|
||||||
|
placeholder="请输入报工状态"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||||
|
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||||
|
<!-- <el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
@click="openForm('create')"
|
||||||
|
v-hasPermi="['heli:pg-master-line:create']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
@click="handleExport"
|
||||||
|
:loading="exportLoading"
|
||||||
|
v-hasPermi="['heli:pg-master-line:export']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
|
</el-button> -->
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ContentWrap>
|
||||||
|
|
||||||
|
<!-- 列表 -->
|
||||||
|
<ContentWrap>
|
||||||
|
<el-table v-loading="loading" :data="list" :stripe="true" class="hl-table" :show-overflow-tooltip="true">
|
||||||
|
<el-table-column v-if="false" label="主键" align="center" prop="id" />
|
||||||
|
<el-table-column v-if="false"
|
||||||
|
label="创建时间"
|
||||||
|
align="center"
|
||||||
|
prop="createTime"
|
||||||
|
:formatter="dateFormatter"
|
||||||
|
width="180px"
|
||||||
|
/>
|
||||||
|
<el-table-column label="生产计划单号" align="center" prop="taskNo" />
|
||||||
|
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||||
|
<el-table-column label="子项目名称" align="center" prop="projectSubName" />
|
||||||
|
<el-table-column label="物料名称" align="center" prop="materialName" />
|
||||||
|
<el-table-column label="图号" align="center" prop="blueprintNo" />
|
||||||
|
<el-table-column label="数量" align="center" prop="amount" />
|
||||||
|
<el-table-column label="规格" align="center" prop="spec" />
|
||||||
|
<el-table-column label="单位" align="center" prop="unit" />
|
||||||
|
<el-table-column label="检验人" align="center" prop="detilUser" />
|
||||||
|
<el-table-column label="派工单号" align="center" prop="pgNumber" />
|
||||||
|
<el-table-column
|
||||||
|
label="开始日期"
|
||||||
|
align="center"
|
||||||
|
prop="startTime"
|
||||||
|
:formatter="dateFormatter"
|
||||||
|
width="180px"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="结束日期"
|
||||||
|
align="center"
|
||||||
|
prop="entTime"
|
||||||
|
:formatter="dateFormatter"
|
||||||
|
width="180px"
|
||||||
|
/>
|
||||||
|
<el-table-column label="派工状态" align="center" prop="dispatchStatus" />
|
||||||
|
<el-table-column label="是否完成" align="center" prop="pgType" />
|
||||||
|
<!-- <el-table-column label="bomID" align="center" prop="bomId" />
|
||||||
|
<el-table-column label="bom编号" align="center" prop="bomNumber" />
|
||||||
|
<el-table-column label="bom名称" align="center" prop="bomName" />
|
||||||
|
<el-table-column label="bom版本号" align="center" prop="bomNo" />
|
||||||
|
<el-table-column label="子项目id" align="center" prop="projectSubId" />
|
||||||
|
|
||||||
|
<el-table-column label="子项目编号" align="center" prop="projectSubNumber" />
|
||||||
|
<el-table-column label="是否标准件" align="center" prop="type" />
|
||||||
|
<el-table-column label="物料id" align="center" prop="materialId" />
|
||||||
|
<el-table-column label="物料编码" align="center" prop="materialCode" />
|
||||||
|
|
||||||
|
<el-table-column label="材质id" align="center" prop="compositionId" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<el-table-column label="预计工时" align="center" prop="gongShi" />
|
||||||
|
<el-table-column label="质量派工id" align="center" prop="zlPgId" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<el-table-column label="生产计划id" align="center" prop="taskId" />
|
||||||
|
<el-table-column label="项目id" align="center" prop="projectId" />
|
||||||
|
|
||||||
|
|
||||||
|
<el-table-column label="报工状态" align="center" prop="active" /> -->
|
||||||
|
<el-table-column label="操作" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
@click="openForm('update', scope.row.id)"
|
||||||
|
v-hasPermi="['heli:pg-master-line:update']"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="danger"
|
||||||
|
@click="handleDelete(scope.row.id)"
|
||||||
|
v-hasPermi="['heli:pg-master-line:delete']"
|
||||||
|
>
|
||||||
|
作废
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页 -->
|
||||||
|
<Pagination
|
||||||
|
:total="total"
|
||||||
|
v-model:page="queryParams.pageNo"
|
||||||
|
v-model:limit="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</ContentWrap>
|
||||||
|
|
||||||
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
|
<PgMasterLineForm ref="formRef" @success="getList" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
|
import download from '@/utils/download'
|
||||||
|
import * as PgMasterApi from '@/api/heli/pgmaster'
|
||||||
|
import PgMasterLineForm from './PgMasterLineForm.vue'
|
||||||
|
|
||||||
|
defineOptions({ name: 'PgMasterLine' })
|
||||||
|
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
const loading = ref(true) // 列表的加载中
|
||||||
|
const list = ref([]) // 列表的数据
|
||||||
|
const total = ref(0) // 列表的总页数
|
||||||
|
const queryParams = reactive({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
createTime: [],
|
||||||
|
bomId: undefined,
|
||||||
|
bomNumber: undefined,
|
||||||
|
bomName: undefined,
|
||||||
|
bomNo: undefined,
|
||||||
|
projectSubId: undefined,
|
||||||
|
projectSubName: undefined,
|
||||||
|
projectSubNumber: undefined,
|
||||||
|
type: undefined,
|
||||||
|
materialId: undefined,
|
||||||
|
materialCode: undefined,
|
||||||
|
materialName: undefined,
|
||||||
|
compositionId: undefined,
|
||||||
|
spec: undefined,
|
||||||
|
unit: undefined,
|
||||||
|
blueprintNo: undefined,
|
||||||
|
amount: undefined,
|
||||||
|
detilUser: undefined,
|
||||||
|
gongShi: undefined,
|
||||||
|
zlPgId: undefined,
|
||||||
|
pgType: undefined,
|
||||||
|
startTime: [],
|
||||||
|
entTime: [],
|
||||||
|
dispatchStatus: undefined,
|
||||||
|
taskNo: undefined,
|
||||||
|
taskId: undefined,
|
||||||
|
projectId: undefined,
|
||||||
|
projectName: undefined,
|
||||||
|
pgNumber: undefined,
|
||||||
|
active: undefined,
|
||||||
|
})
|
||||||
|
const queryFormRef = ref() // 搜索的表单
|
||||||
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
|
|
||||||
|
/** 查询列表 */
|
||||||
|
const getList = async () => {
|
||||||
|
loading.value = true
|
||||||
|
try {
|
||||||
|
const data = await PgMasterApi.getPgMasterLinePage(queryParams)
|
||||||
|
list.value = data.list
|
||||||
|
total.value = data.total
|
||||||
|
} finally {
|
||||||
|
loading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
const handleQuery = () => {
|
||||||
|
queryParams.pageNo = 1
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
const resetQuery = () => {
|
||||||
|
queryFormRef.value.resetFields()
|
||||||
|
handleQuery()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 添加/修改操作 */
|
||||||
|
const formRef = ref()
|
||||||
|
const openForm = (type: string, id?: number) => {
|
||||||
|
formRef.value.open(type, id)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
const handleDelete = async (id: number) => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起删除
|
||||||
|
await PgMasterApi.deletePgMasterLine(id)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
const handleExport = async () => {
|
||||||
|
try {
|
||||||
|
// 导出的二次确认
|
||||||
|
await message.exportConfirm()
|
||||||
|
// 发起导出
|
||||||
|
exportLoading.value = true
|
||||||
|
const data = await PgMasterApi.exportPgMasterLine(queryParams)
|
||||||
|
download.excel(data, '质量派工单过程检验行.xls')
|
||||||
|
} catch {
|
||||||
|
} finally {
|
||||||
|
exportLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 初始化 **/
|
||||||
|
onMounted(() => {
|
||||||
|
getList()
|
||||||
|
})
|
||||||
|
</script>
|
@ -448,7 +448,7 @@ v-if="formData.dispatchStatus == 2" @click="printHandle(formData.id)" :disabled=
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-------------取消提交弹框---------------->
|
<!-------------取消提交弹框---------------->
|
||||||
<el-dialog v-model="centerDialogVisible" title="Warning" width="30%" center>
|
<el-dialog v-model="centerDialogVisible" title="提示" width="30%" center>
|
||||||
<span>
|
<span>
|
||||||
该派工单,存在报工完数据,是否继续?
|
该派工单,存在报工完数据,是否继续?
|
||||||
</span>
|
</span>
|
||||||
@ -859,6 +859,7 @@ const centerDialogVisible = ref(false);
|
|||||||
const isSureCancle = ref(false)
|
const isSureCancle = ref(false)
|
||||||
const sureToCancle = () =>{
|
const sureToCancle = () =>{
|
||||||
isSureCancle.value = true;
|
isSureCancle.value = true;
|
||||||
|
centerDialogVisible.value = false;
|
||||||
submitForm('CANCEL_SUBMIT');
|
submitForm('CANCEL_SUBMIT');
|
||||||
}
|
}
|
||||||
const submitForm = async (operate) => {
|
const submitForm = async (operate) => {
|
||||||
|
@ -453,7 +453,7 @@ v-if="formData.dispatchStatus == 2" @click="printHandle(formData.id)" :disabled=
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-------------取消提交弹框---------------->
|
<!-------------取消提交弹框---------------->
|
||||||
<el-dialog v-model="centerDialogVisible" title="Warning" width="30%" center>
|
<el-dialog v-model="centerDialogVisible" title="提示" width="30%" center>
|
||||||
<span>
|
<span>
|
||||||
该派工单,存在报工完数据,是否继续?
|
该派工单,存在报工完数据,是否继续?
|
||||||
</span>
|
</span>
|
||||||
@ -1030,6 +1030,7 @@ const queryData = async (id?: number) => {
|
|||||||
const isSureCancle = ref(false)
|
const isSureCancle = ref(false)
|
||||||
const sureToCancle = () =>{
|
const sureToCancle = () =>{
|
||||||
isSureCancle.value = true;
|
isSureCancle.value = true;
|
||||||
|
centerDialogVisible.value = false;
|
||||||
submitForm('CANCEL_SUBMIT');
|
submitForm('CANCEL_SUBMIT');
|
||||||
}
|
}
|
||||||
const submitForm = async (operate) => {
|
const submitForm = async (operate) => {
|
||||||
|
@ -11,7 +11,7 @@ import {
|
|||||||
getFileAPI,
|
getFileAPI,
|
||||||
getLogAPI,
|
getLogAPI,
|
||||||
} from '@/services/approveOrder'
|
} from '@/services/approveOrder'
|
||||||
import {Base64} from '@/utils/base64.js';
|
import {Base64} from '@/uni_modules/base64/base64.js';
|
||||||
|
|
||||||
const popup = ref<UniHelper.UniPopupInstance>()
|
const popup = ref<UniHelper.UniPopupInstance>()
|
||||||
|
|
||||||
@ -209,32 +209,10 @@ const handleDownload = (pdfUrl: any) => {
|
|||||||
window.open(fileUrl.value);
|
window.open(fileUrl.value);
|
||||||
// #endif
|
// #endif
|
||||||
//#ifdef MP-WEIXIN
|
//#ifdef MP-WEIXIN
|
||||||
uni.showLoading({
|
uni.navigateTo({
|
||||||
title: '正在加载中..'
|
url: './components/showFileWx?fileUrl=' + encodeURIComponent(Base64.encode(pdfUrl))
|
||||||
})
|
});
|
||||||
uni.downloadFile({
|
//#endif
|
||||||
url: pdfUrl,
|
|
||||||
success: function(res) {
|
|
||||||
var filePath = res.tempFilePath;
|
|
||||||
uni.openDocument({
|
|
||||||
filePath: filePath,
|
|
||||||
showMenu: true,
|
|
||||||
success: function(res) {
|
|
||||||
console.log('打开文档成功');
|
|
||||||
uni.hideLoading()
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
complete: function(r) {
|
|
||||||
uni.hideLoading()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// fileUrl.value = 'https://star.hz-hl.com/FileServer/onlinePreview?url='+encodeURIComponent(Base64.encode(pdfUrl));
|
|
||||||
|
|
||||||
// uni.navigateTo({
|
|
||||||
// url: './components/showFileWx?fileUrl=' + encodeURIComponent(fileUrl.value)
|
|
||||||
// });
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
// showFile.value = true;
|
// showFile.value = true;
|
||||||
// if (pdfUrl) {
|
// if (pdfUrl) {
|
||||||
|
@ -1,30 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<web-view :src="showUrl"></web-view>
|
<web-view :src="showUrl" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { ref, onMounted, onUnmounted } from 'vue';
|
||||||
onLoad,
|
import { onLoad } from '@dcloudio/uni-app';
|
||||||
onShow
|
|
||||||
} from '@dcloudio/uni-app'
|
export default {
|
||||||
import {
|
setup() {
|
||||||
ref
|
const showUrl = ref('');
|
||||||
} from 'vue';
|
|
||||||
const fileUrl = ref("");
|
// 使用 onLoad 生命周期钩子
|
||||||
const showUrl = ref("");
|
onLoad((options) => {
|
||||||
onLoad((options) => {
|
console.log('页面加载中...');
|
||||||
fileUrl.value = options.fileUrl;
|
console.log(options.fileUrl);
|
||||||
if (fileUrl.value) {
|
if (options.fileUrl) {
|
||||||
try {
|
showUrl.value = `https://star.hz-hl.com/FileServer/onlinePreview?url=${options.fileUrl}`;
|
||||||
showUrl.value = decodeURIComponent(fileUrl.value);
|
console.log(showUrl.value);
|
||||||
} catch (error) {
|
}
|
||||||
console.error('Error parsing picture data:', error);
|
});
|
||||||
}
|
|
||||||
}
|
// 使用 onMounted 生命周期钩子(虽然在这个例子中可能不是必需的,因为 onLoad 已经足够)
|
||||||
})
|
onMounted(() => {
|
||||||
|
console.log('Vue 组件挂载完成');
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
showUrl,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style scoped>
|
||||||
|
/* 你的样式 */
|
||||||
</style>
|
</style>
|
@ -27,7 +27,7 @@ const isLoading = ref(false)
|
|||||||
const queryParams: Required<any> = {
|
const queryParams: Required<any> = {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 5,
|
pageSize: 5,
|
||||||
detilUser: null,
|
detilUser: 0,
|
||||||
//
|
//
|
||||||
pgType: 0,
|
pgType: 0,
|
||||||
// 工序完成状态列表
|
// 工序完成状态列表
|
||||||
|
@ -27,7 +27,7 @@ const isLoading = ref(false)
|
|||||||
const queryParams: Required<any> = {
|
const queryParams: Required<any> = {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 5,
|
pageSize: 5,
|
||||||
detilUser: null,
|
detilUser: 0,
|
||||||
//
|
//
|
||||||
pgType: 0,
|
pgType: 0,
|
||||||
// 工序完成状态列表
|
// 工序完成状态列表
|
||||||
@ -39,8 +39,6 @@ dispatchStatus:2
|
|||||||
}
|
}
|
||||||
const dataList = ref([])
|
const dataList = ref([])
|
||||||
const getListData = async () => {
|
const getListData = async () => {
|
||||||
console.log("props.orderState");
|
|
||||||
console.log(props.orderState);
|
|
||||||
queryParams.pgType = props.orderState;
|
queryParams.pgType = props.orderState;
|
||||||
// 如果数据出于加载中,退出函数
|
// 如果数据出于加载中,退出函数
|
||||||
if (isLoading.value) return
|
if (isLoading.value) return
|
||||||
|
@ -10,5 +10,5 @@
|
|||||||
// export const serviceDomain = 'https://star.hz-hl.com'
|
// export const serviceDomain = 'https://star.hz-hl.com'
|
||||||
// export const serviceDomain = 'http://222.71.165.187:9010'
|
// export const serviceDomain = 'http://222.71.165.187:9010'
|
||||||
|
|
||||||
export const serviceDomain = 'http://localhost:8080'
|
// export const serviceDomain = 'http://localhost:8080'
|
||||||
// export const serviceDomain = 'https://nxhs.cjyx.cc'
|
export const serviceDomain = 'https://nxhs.cjyx.cc'
|
@ -86,7 +86,6 @@ export const http = <T>(options: UniApp.RequestOptions) => {
|
|||||||
...options,
|
...options,
|
||||||
// 响应成功
|
// 响应成功
|
||||||
success(res) {
|
success(res) {
|
||||||
console.log(res)
|
|
||||||
// 状态码 2xx, axios 就是这样设计的
|
// 状态码 2xx, axios 就是这样设计的
|
||||||
if (res.statusCode >= 200 && res.statusCode < 300) {
|
if (res.statusCode >= 200 && res.statusCode < 300) {
|
||||||
if (res.data?.code == 0) {
|
if (res.data?.code == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user