过程检和终检自动生成接口开发,过程检和终检app报工逻辑开发;

This commit is contained in:
think 2025-01-13 17:55:05 +08:00
parent 058282635e
commit 7f5d061407
31 changed files with 750 additions and 264 deletions

View File

@ -100,6 +100,7 @@ public interface ErrorCodeConstants {
ErrorCode TASK_REPORT_PARAMS_ERROR = new ErrorCode(1_009_003, "报工数量或报工工时不能为空"); ErrorCode TASK_REPORT_PARAMS_ERROR = new ErrorCode(1_009_003, "报工数量或报工工时不能为空");
ErrorCode TASK_REPORT_PARAMS_ERRORS = new ErrorCode(1_009_007, "报工数量超出派工数量"); ErrorCode TASK_REPORT_PARAMS_ERRORS = new ErrorCode(1_009_007, "报工数量超出派工数量");
ErrorCode TASK_REPORT_PARAMS_ERRORSZF = new ErrorCode(1_009_008, "已经报工不允许作废"); ErrorCode TASK_REPORT_PARAMS_ERRORSZF = new ErrorCode(1_009_008, "已经报工不允许作废");
ErrorCode TASK_REPORT_PARAMS_ERRORBG = new ErrorCode(1_009_009, "开始报工和结束报工操作人员不同,无法报工");
ErrorCode TASK_DISPATCH_TASK_NOT_EXISTS = new ErrorCode(1_009_004, "任务不存在或已完成"); ErrorCode TASK_DISPATCH_TASK_NOT_EXISTS = new ErrorCode(1_009_004, "任务不存在或已完成");
ErrorCode TASK_DISPATCH_TASK_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件"); ErrorCode TASK_DISPATCH_TASK_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件");
ErrorCode TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS = new ErrorCode(1_009_006, "无法超额报工"); ErrorCode TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS = new ErrorCode(1_009_006, "无法超额报工");

View File

@ -1,95 +1,106 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline; package com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService; import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService;
@Tag(name = "管理后台 - 过程检报工") @Tag(name = "管理后台 - 过程检报工")
@RestController @RestController
@RequestMapping("/heli/bg-master-line") @RequestMapping("/heli/bg-master-line")
@Validated @Validated
public class BgMasterLineController { public class BgMasterLineController {
@Resource @Resource
private BgMasterLineService bgMasterLineService; private BgMasterLineService bgMasterLineService;
@PostMapping("/create")
@Operation(summary = "创建过程检报工")
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')")
public CommonResult<Integer> createBgMasterLine(@Valid @RequestBody BgMasterLineSaveReqVO createReqVO) { @PostMapping("/endBg")
return success(bgMasterLineService.createBgMasterLine(createReqVO)); @Operation(summary = "创建过程检报工")
} @PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')")
public CommonResult<Integer> endBg(@Valid @RequestBody BgMasterLineSaveReqVO createReqVO) {
@PutMapping("/update") return success(bgMasterLineService.updateBgMasterLines(createReqVO));
@Operation(summary = "更新过程检报工") }
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:update')")
public CommonResult<Boolean> updateBgMasterLine(@Valid @RequestBody BgMasterLineSaveReqVO updateReqVO) {
bgMasterLineService.updateBgMasterLine(updateReqVO); @PostMapping("/create")
return success(true); @Operation(summary = "创建过程检报工")
} @PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')")
public CommonResult<Integer> createBgMasterLine(@Valid @RequestBody BgMasterLineSaveReqVO createReqVO) {
@DeleteMapping("/delete") return success(bgMasterLineService.createBgMasterLine(createReqVO));
@Operation(summary = "删除过程检报工") }
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:delete')") @PutMapping("/update")
public CommonResult<Boolean> deleteBgMasterLine(@RequestParam("id") Integer id) { @Operation(summary = "更新过程检报工")
bgMasterLineService.deleteBgMasterLine(id); @PreAuthorize("@ss.hasPermission('heli:bg-master-line:update')")
return success(true); public CommonResult<Boolean> updateBgMasterLine(@Valid @RequestBody BgMasterLineSaveReqVO updateReqVO) {
} bgMasterLineService.updateBgMasterLine(updateReqVO);
return success(true);
@GetMapping("/get") }
@Operation(summary = "获得过程检报工")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @DeleteMapping("/delete")
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')") @Operation(summary = "删除过程检报工")
public CommonResult<BgMasterLineRespVO> getBgMasterLine(@RequestParam("id") Integer id) { @Parameter(name = "id", description = "编号", required = true)
BgMasterLineDO bgMasterLine = bgMasterLineService.getBgMasterLine(id); @PreAuthorize("@ss.hasPermission('heli:bg-master-line:delete')")
return success(BeanUtils.toBean(bgMasterLine, BgMasterLineRespVO.class)); public CommonResult<Boolean> deleteBgMasterLine(@RequestParam("id") Integer id) {
} bgMasterLineService.deleteBgMasterLine(id);
return success(true);
@GetMapping("/page") }
@Operation(summary = "获得过程检报工分页")
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')") @GetMapping("/get")
public CommonResult<PageResult<BgMasterLineRespVO>> getBgMasterLinePage(@Valid BgMasterLinePageReqVO pageReqVO) { @Operation(summary = "获得过程检报工")
PageResult<BgMasterLineDO> pageResult = bgMasterLineService.getBgMasterLinePage(pageReqVO); @Parameter(name = "id", description = "编号", required = true, example = "1024")
return success(BeanUtils.toBean(pageResult, BgMasterLineRespVO.class)); @PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')")
} public CommonResult<BgMasterLineRespVO> getBgMasterLine(@RequestParam("id") Integer id) {
BgMasterLineDO bgMasterLine = bgMasterLineService.getBgMasterLine(id);
@GetMapping("/export-excel") return success(BeanUtils.toBean(bgMasterLine, BgMasterLineRespVO.class));
@Operation(summary = "导出过程检报工 Excel") }
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:export')")
@OperateLog(type = EXPORT) @GetMapping("/page")
public void exportBgMasterLineExcel(@Valid BgMasterLinePageReqVO pageReqVO, @Operation(summary = "获得过程检报工分页")
HttpServletResponse response) throws IOException { @PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')")
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); public CommonResult<PageResult<BgMasterLineRespVO>> getBgMasterLinePage(@Valid BgMasterLinePageReqVO pageReqVO) {
List<BgMasterLineDO> list = bgMasterLineService.getBgMasterLinePage(pageReqVO).getList(); PageResult<BgMasterLineDO> pageResult = bgMasterLineService.getBgMasterLinePage(pageReqVO);
// 导出 Excel return success(BeanUtils.toBean(pageResult, BgMasterLineRespVO.class));
ExcelUtils.write(response, "过程检报工.xls", "数据", BgMasterLineRespVO.class, }
BeanUtils.toBean(list, BgMasterLineRespVO.class));
} @GetMapping("/export-excel")
@Operation(summary = "导出过程检报工 Excel")
} @PreAuthorize("@ss.hasPermission('heli:bg-master-line:export')")
@OperateLog(type = EXPORT)
public void exportBgMasterLineExcel(@Valid BgMasterLinePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BgMasterLineDO> list = bgMasterLineService.getBgMasterLinePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "过程检报工.xls", "数据", BgMasterLineRespVO.class,
BeanUtils.toBean(list, BgMasterLineRespVO.class));
}
}

View File

@ -46,4 +46,12 @@ public class BgMasterLineRespVO {
@ExcelProperty("工时") @ExcelProperty("工时")
private BigDecimal workTime; private BigDecimal workTime;
@Schema(description = "结束时间")
@ExcelProperty("结束时间")
private LocalDateTime entTime;
@Schema(description = "报工人")
@ExcelProperty("报工人")
private String userName;
} }

View File

@ -38,6 +38,15 @@ public class ZjBgMasterLineController {
@Resource @Resource
private ZjBgMasterLineService zjBgMasterLineService; private ZjBgMasterLineService zjBgMasterLineService;
@PostMapping("/endBg")
@Operation(summary = "创建终检报工")
@PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:create')")
public CommonResult<Integer> endBg(@Valid @RequestBody ZjBgMasterLineSaveReqVO createReqVO) {
return success(zjBgMasterLineService.updateBgMasterLines(createReqVO));
}
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建终检报工") @Operation(summary = "创建终检报工")
@PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:create')") @PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:create')")

View File

@ -46,4 +46,12 @@ public class ZjBgMasterLineRespVO {
@ExcelProperty("工时") @ExcelProperty("工时")
private BigDecimal workTime; private BigDecimal workTime;
@Schema(description = "结束时间")
@ExcelProperty("结束时间")
private LocalDateTime entTime;
@Schema(description = "报工人")
@ExcelProperty("报工人")
private String userName;
} }

View File

@ -53,5 +53,12 @@ public class BgMasterLineDO extends BaseDO {
* 工时 * 工时
*/ */
private BigDecimal workTime; private BigDecimal workTime;
/**
* 结束时间
*/
private LocalDateTime entTime;
@TableField(exist = false)
private String userName;
} }

View File

@ -115,20 +115,37 @@ public class PgMasterLineDO extends BaseDO {
*/ */
private Integer zlPgId; private Integer zlPgId;
/** /**
* 是否完成 0未完成 1已完成 * 派工单号
*/
private String pgNumber;
/**
* 生产计划单号
*/
private String taskNo;
/**
* 生产计划ID
*/
private Long taskId;
/**
* 项目ID
*/
private Long projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 是否报工完成
*/ */
private Integer pgType; private Integer pgType;
/** /**
* 是否完成 0未完成 1已完成 * 派工状态 已保存|已提交|已终止 1|2|3
*/ */
private Integer dispatchStatus; private Integer dispatchStatus;
/**
@TableField(exist = false) * 报工状态
private String pgNumber; */
private String active;
@TableField(exist = false)
private String projectName;
@TableField(exist = false) @TableField(exist = false)
private Integer amounts; private Integer amounts;

View File

@ -148,6 +148,10 @@ public class ProcessBomDO extends BaseDO {
private Integer property; private Integer property;
@TableField(exist = false) @TableField(exist = false)
private Integer amount; private Integer amount;
//子项目数量
@TableField(exist = false)
private Integer projectSubAmount;
public boolean canSave(){ public boolean canSave(){
boolean b = true; boolean b = true;

View File

@ -54,4 +54,13 @@ public class ZjBgMasterLineDO extends BaseDO {
*/ */
private BigDecimal workTime; private BigDecimal workTime;
/**
* 结束时间
*/
private LocalDateTime entTime;
@TableField(exist = false)
private String userName;
} }

View File

@ -90,17 +90,37 @@ public class ZjPgMasterLineDO extends BaseDO {
* 模具名称 * 模具名称
*/ */
private String mouldName; private String mouldName;
/**
* 派工单号
*/
private String pgNumber;
/**
* 生产计划单号
*/
private String taskNo;
/**
* 生产计划ID
*/
private Long taskId;
/**
* 项目ID
*/
private Long projectId;
/**
* 项目名称
*/
private String projectName;
/** /**
* 派工状态 已保存|已提交|已终止 1|2|3 * 派工状态 已保存|已提交|已终止 1|2|3
*/ */
private Integer dispatchStatus; private Integer dispatchStatus;
@TableField(exist = false) private String active;
private String pgNumber;
/*@TableField(exist = false)
private String pgNumber;*/
@TableField(exist = false)
private String projectName;
@TableField(exist = false) @TableField(exist = false)
private Integer amounts; private Integer amounts;

View File

@ -7,8 +7,10 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.PgMasterLinePageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.PgMasterLinePageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.classes.ClassesDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*;
@ -22,7 +24,18 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*;
public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> { public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
default PageResult<BgMasterLineDO> selectPage(BgMasterLinePageReqVO reqVO) { default PageResult<BgMasterLineDO> selectPage(BgMasterLinePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BgMasterLineDO>()
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(BgMasterLineDO.class)
.select("u2.username as userName")
.leftJoin("system_users u2 on u2.id = t.bg_user")
;
query.eq(BgMasterLineDO::getZjMxId, reqVO.getZjMxId());
return selectPage(reqVO, query);
/* return selectPage(reqVO, new LambdaQueryWrapperX<BgMasterLineDO>()
.betweenIfPresent(BgMasterLineDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(BgMasterLineDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BgMasterLineDO::getZjId, reqVO.getZjId()) .eqIfPresent(BgMasterLineDO::getZjId, reqVO.getZjId())
.eqIfPresent(BgMasterLineDO::getZjMxId, reqVO.getZjMxId()) .eqIfPresent(BgMasterLineDO::getZjMxId, reqVO.getZjMxId())
@ -30,7 +43,8 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
.eqIfPresent(BgMasterLineDO::getAmount, reqVO.getAmount()) .eqIfPresent(BgMasterLineDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BgMasterLineDO::getBgTime, reqVO.getBgTime()) .betweenIfPresent(BgMasterLineDO::getBgTime, reqVO.getBgTime())
.betweenIfPresent(BgMasterLineDO::getWorkTime, reqVO.getWorkTime()) .betweenIfPresent(BgMasterLineDO::getWorkTime, reqVO.getWorkTime())
.orderByDesc(BgMasterLineDO::getId)); .orderByDesc(BgMasterLineDO::getId))
;*/
} }
default BgMasterLineDO selectSum(Integer zjMxId) { default BgMasterLineDO selectSum(Integer zjMxId) {
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
@ -43,5 +57,15 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
return selectOne(query); return selectOne(query);
} }
default BgMasterLineDO selectEnd(Integer zjMxId) {
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
query.eq( BgMasterLineDO::getZjMxId, zjMxId)
.isNull(BgMasterLineDO::getAmount)
;
return selectOne(query);
}
} }

View File

@ -42,9 +42,7 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
default PgMasterLineDO selectMx(PgMasterLinePageReqVO reqVO) { default PgMasterLineDO selectMx(PgMasterLinePageReqVO reqVO) {
MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(PgMasterLineDO.class) query.selectAll(PgMasterLineDO.class)
.select("b.pg_number as pgNumber , b.project_name as projectName" )
.select("d.amounts,d.workTime") .select("d.amounts,d.workTime")
.leftJoin(PgMasterDO.class,"b",PgMasterDO::getId,PgMasterLineDO::getZlPgId)
.leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id") .leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id")
.disableSubLogicDel(); .disableSubLogicDel();
@ -58,12 +56,10 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
default PageResult<PgMasterLineDO> selectPage(PgMasterLinePageReqVO reqVO) { default PageResult<PgMasterLineDO> selectPage(PgMasterLinePageReqVO reqVO) {
MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(PgMasterLineDO.class) query.selectAll(PgMasterLineDO.class)
.select("b.pg_number as pgNumber , b.project_name as projectName" )
.select("d.amounts,d.workTime") .select("d.amounts,d.workTime")
.leftJoin(PgMasterDO.class,"b",PgMasterDO::getId,PgMasterLineDO::getZlPgId)
.leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id") .leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id")
.orderByDesc(PgMasterLineDO::getId) .orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber)
.disableSubLogicDel(); .disableSubLogicDel();
query.eq(reqVO.getDetilUser() != null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) query.eq(reqVO.getDetilUser() != null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())

View File

@ -36,6 +36,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
.select("b.project_sub_id as projectSubId,b.project_sub_code as projectSubCode,b.mould_id as mouldId") .select("b.project_sub_id as projectSubId,b.project_sub_code as projectSubCode,b.mould_id as mouldId")
.select("d.name as projectSubName,d.composition_id as compositionId,d.unit,d.amount") .select("d.name as projectSubName,d.composition_id as compositionId,d.unit,d.amount")
.select("e.name as compositionName") .select("e.name as compositionName")
.select("c.projectName")
//.select("f.name as mouldName") //.select("f.name as mouldName")
.leftJoin(PlanSubDO.class, "b", PlanSubDO::getProjectPlanId, PlanDO::getId) .leftJoin(PlanSubDO.class, "b", PlanSubDO::getProjectPlanId, PlanDO::getId)
.leftJoin(ProjectOrderDO.class, "c", ProjectOrderDO::getId, PlanSubDO::getProjectId) .leftJoin(ProjectOrderDO.class, "c", ProjectOrderDO::getId, PlanSubDO::getProjectId)

View File

@ -35,9 +35,15 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
.select("b.id as bomId,b.material_id as materialId,b.amount,b.type," + .select("b.id as bomId,b.material_id as materialId,b.amount,b.type," +
"b.material_name as materialName,b.material_code as materialCode,b.composition_id as compostitionId, " + "b.material_name as materialName,b.material_code as materialCode,b.composition_id as compostitionId, " +
"b.spec as spec,b.unit as unit,b.blueprint_no as blueprintNo ") "b.spec as spec,b.unit as unit,b.blueprint_no as blueprintNo ")
.select("c.project_sub_short_name as projectSubShortName,c.project_sub_code as projectSubCode") .select("c.project_sub_short_name as projectSubShortName,c.project_sub_code as projectSubCode ")
.select("d.amount as projectSubAmount ")
.select("e.planCode ")
.select("f.projectName")
.leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getBomId,ProcessBomDO::getId) .leftJoin(ProcessBomDetailDO.class,"b",ProcessBomDetailDO::getBomId,ProcessBomDO::getId)
.leftJoin(PlanSubDO.class,"c",PlanSubDO::getProjectSubId,ProcessBomDO::getProjectSubId) .leftJoin(PlanSubDO.class,"c",PlanSubDO::getProjectSubId,ProcessBomDO::getProjectSubId)
.leftJoin(ProjectOrderSubDO.class,"d",ProjectOrderSubDO::getId,ProcessBomDO::getProjectSubId)
.leftJoin(PlanDO.class,"e",PlanDO::getId,ProcessBomDO::getPlanId)
.leftJoin(ProjectOrderDO.class,"f",ProjectOrderDO::getId,ProcessBomDO::getProjectId)
.eq(ProcessBomDO::getProjectId, project_id) .eq(ProcessBomDO::getProjectId, project_id)
.eq(ProcessBomDO::getPlanId,task_id) .eq(ProcessBomDO::getPlanId,task_id)

View File

@ -22,7 +22,16 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
default PageResult<ZjBgMasterLineDO> selectPage(ZjBgMasterLinePageReqVO reqVO) { default PageResult<ZjBgMasterLineDO> selectPage(ZjBgMasterLinePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ZjBgMasterLineDO>() MPJLambdaWrapper<ZjBgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(ZjBgMasterLineDO.class)
.select("u2.username as userName")
.leftJoin("system_users u2 on u2.id = t.bg_user")
;
query.eq(ZjBgMasterLineDO::getZjMxId, reqVO.getZjMxId())
.orderByDesc(ZjBgMasterLineDO::getId);
return selectPage(reqVO, query);
/* return selectPage(reqVO, new LambdaQueryWrapperX<ZjBgMasterLineDO>()
.betweenIfPresent(ZjBgMasterLineDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(ZjBgMasterLineDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ZjBgMasterLineDO::getZjId, reqVO.getZjId()) .eqIfPresent(ZjBgMasterLineDO::getZjId, reqVO.getZjId())
.eqIfPresent(ZjBgMasterLineDO::getZjMxId, reqVO.getZjMxId()) .eqIfPresent(ZjBgMasterLineDO::getZjMxId, reqVO.getZjMxId())
@ -30,7 +39,7 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
.eqIfPresent(ZjBgMasterLineDO::getAmount, reqVO.getAmount()) .eqIfPresent(ZjBgMasterLineDO::getAmount, reqVO.getAmount())
.betweenIfPresent(ZjBgMasterLineDO::getBgTime, reqVO.getBgTime()) .betweenIfPresent(ZjBgMasterLineDO::getBgTime, reqVO.getBgTime())
.betweenIfPresent(ZjBgMasterLineDO::getWorkTime, reqVO.getWorkTime()) .betweenIfPresent(ZjBgMasterLineDO::getWorkTime, reqVO.getWorkTime())
.orderByDesc(ZjBgMasterLineDO::getId)); .orderByDesc(ZjBgMasterLineDO::getId));*/
} }
default ZjBgMasterLineDO selectSum(Integer zjMxId) { default ZjBgMasterLineDO selectSum(Integer zjMxId) {
@ -45,4 +54,15 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
return selectOne(query); return selectOne(query);
} }
default ZjBgMasterLineDO selectEnd(Integer zjMxId) {
MPJLambdaWrapper<ZjBgMasterLineDO> query = new MPJLambdaWrapper<>();
query.eq( BgMasterLineDO::getZjMxId, zjMxId)
.isNull(BgMasterLineDO::getAmount)
;
return selectOne(query);
}
} }

View File

@ -51,9 +51,7 @@ public interface ZjPgMasterLineMapper extends BaseMapperX<ZjPgMasterLineDO> {
default PageResult<ZjPgMasterLineDO> selectPage(ZjPgMasterLinePageReqVO reqVO) { default PageResult<ZjPgMasterLineDO> selectPage(ZjPgMasterLinePageReqVO reqVO) {
MPJLambdaWrapper<ZjPgMasterLineDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ZjPgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(ZjPgMasterLineDO.class) query.selectAll(ZjPgMasterLineDO.class)
.select("b.pg_number as pgNumber,b.project_name as projectName")
.select("d.amounts,d.workTime") .select("d.amounts,d.workTime")
.leftJoin(ZjPgMasterDO.class,"b",ZjPgMasterDO::getId,PgMasterLineDO::getZlPgId)
.leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_zj_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id") .leftJoin("(select SUM(c.amount) as amounts ,SUM(c.work_time) as workTime,c.zj_mx_id from quality_zj_bg_master_line c group by c.zj_mx_id) d on d.zj_mx_id = t.id")
.orderByDesc(ZjPgMasterLineDO::getId) .orderByDesc(ZjPgMasterLineDO::getId)

View File

@ -1,55 +1,63 @@
package com.chanko.yunxi.mes.module.heli.service.bgmasterline; package com.chanko.yunxi.mes.module.heli.service.bgmasterline;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
/** /**
* 过程检报工 Service 接口 * 过程检报工 Service 接口
* *
* @author 管理员 * @author 管理员
*/ */
public interface BgMasterLineService { public interface BgMasterLineService {
/**
* 创建过程检报工 /**
* * 结束本次报工
* @param createReqVO 创建信息 *
* @return 编号 * @param createReqVO 创建信息
*/ * @return 编号
Integer createBgMasterLine(@Valid BgMasterLineSaveReqVO createReqVO); */
Integer updateBgMasterLines(@Valid BgMasterLineSaveReqVO createReqVO);
/** /**
* 更新过程检报工 * 创建过程检报工
* *
* @param updateReqVO 更新信息 * @param createReqVO 创建信息
*/ * @return 编号
void updateBgMasterLine(@Valid BgMasterLineSaveReqVO updateReqVO); */
Integer createBgMasterLine(@Valid BgMasterLineSaveReqVO createReqVO);
/**
* 删除过程检报工 /**
* * 更新过程检报工
* @param id 编号 *
*/ * @param updateReqVO 更新信息
void deleteBgMasterLine(Integer id); */
void updateBgMasterLine(@Valid BgMasterLineSaveReqVO updateReqVO);
/**
* 获得过程检报工 /**
* * 删除过程检报工
* @param id 编号 *
* @return 过程检报工 * @param id 编号
*/ */
BgMasterLineDO getBgMasterLine(Integer id); void deleteBgMasterLine(Integer id);
/** /**
* 获得过程检报工分页 * 获得过程检报工
* *
* @param pageReqVO 分页查询 * @param id 编号
* @return 过程检报工分页 * @return 过程检报工
*/ */
PageResult<BgMasterLineDO> getBgMasterLinePage(BgMasterLinePageReqVO pageReqVO); BgMasterLineDO getBgMasterLine(Integer id);
} /**
* 获得过程检报工分页
*
* @param pageReqVO 分页查询
* @return 过程检报工分页
*/
PageResult<BgMasterLineDO> getBgMasterLinePage(BgMasterLinePageReqVO pageReqVO);
}

View File

@ -35,57 +35,85 @@ public class BgMasterLineServiceImpl implements BgMasterLineService {
@Resource @Resource
private PgMasterLineMapper pgMasterLineMapper; private PgMasterLineMapper pgMasterLineMapper;
//结束本次报工
@Override @Override
public Integer createBgMasterLine(BgMasterLineSaveReqVO createReqVO) { public Integer updateBgMasterLines(BgMasterLineSaveReqVO createReqVO){
//先取出总的派工数量和预计工时 //先取出总的派工数量和预计工时
PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(createReqVO.getZjMxId()); PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(createReqVO.getZjMxId());
//然后再取出这条ID明细ID下的所有工时和报工数量相加 //然后再取出这条ID明细ID下的所有工时和报工数量相加
BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(createReqVO.getZjMxId()); BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(createReqVO.getZjMxId());
if(bgMasterLineDO !=null){ //然后加上用户传入的当前的工时和查出的工时进行相加进行判断
int value1 = 0;
if(bgMasterLineDO!=null){
//然后加上用户传入的当前的工时和查出的工时进行相加进行判断 //然后加上用户传入的当前的工时和查出的工时进行相加进行判断
int value1 = bgMasterLineDO.getAmount()+createReqVO.getAmount(); value1 = bgMasterLineDO.getAmount()+createReqVO.getAmount();
BigDecimal value2 = bgMasterLineDO.getWorkTime().add(createReqVO.getWorkTime());
//先判断报工数量是否大于派工数量
if(value1>pgMasterLineDO.getAmount()){
//这个地方返回错误报工数量不允许超过派工数量请检查
throw exception(TASK_REPORT_PARAMS_ERRORS);
}else if(value1 == pgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态
pgMasterLineDO.setPgType(1);
pgMasterLineMapper.updateBatch(pgMasterLineDO);
}
}else{ }else{
if(createReqVO.getAmount()>pgMasterLineDO.getAmount()){ value1 = createReqVO.getAmount();
//这个地方返回错误报工数量不允许超过派工数量请检查 }
throw exception(TASK_REPORT_PARAMS_ERRORS); //先判断报工数量是否大于派工数量
if(value1>pgMasterLineDO.getAmount()){
//这个地方返回错误报工数量不允许超过派工数量请检查
throw exception(TASK_REPORT_PARAMS_ERRORS);
}else{
//取出本派工单在报工明细中有没有报
BgMasterLineDO bgMasterLineDOs = bgMasterLineMapper.selectEnd(createReqVO.getZjMxId());
//判断报工user是否相等
if(bgMasterLineDOs.getBgUser().equals(createReqVO.getBgUser())){
//相同时判断报工数量和派工数量是否相等相等设置为设置报工状态为1 已完成
LocalDateTime currentDateTime = LocalDateTime.now();
if(value1 == pgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态
pgMasterLineDO.setPgType(1);
pgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
pgMasterLineDO.setActive("END");
pgMasterLineDO.setEntTime(currentDateTime);
pgMasterLineMapper.updateById(pgMasterLineDO);
//更新工时
}else{
//不相等时只更新当前报工状态
pgMasterLineDO.setActive("END");
pgMasterLineDO.setEntTime(currentDateTime);
pgMasterLineMapper.updateById(pgMasterLineDO);
}
//更新报工信息
//结束时间
bgMasterLineDOs.setEntTime(currentDateTime);
//报工工时
bgMasterLineDOs.setWorkTime(createReqVO.getWorkTime());
//报工数量
bgMasterLineDOs.setAmount(createReqVO.getAmount());
return bgMasterLineMapper.updateById(bgMasterLineDOs);
}else{
//当创建人和报工人不一样时返回报错不允许用户报工
throw exception(TASK_REPORT_PARAMS_ERRORBG);
} }
//
}
if(createReqVO.getAmount()==pgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态
pgMasterLineDO.setPgType(1);
pgMasterLineMapper.updateBatch(pgMasterLineDO);
} }
}
@Override
public Integer createBgMasterLine(BgMasterLineSaveReqVO createReqVO) {
//先插入一条报工信息
BgMasterLineDO bgMasterLineDO = new BgMasterLineDO();
//过程检验ID
// 插入 bgMasterLineDO.setZjMxId(createReqVO.getZjMxId());
BgMasterLineDO bgMasterLine = BeanUtils.toBean(createReqVO, BgMasterLineDO.class); //报工人
bgMasterLineDO.setBgUser(createReqVO.getBgUser());
//报工时间
LocalDateTime currentDateTime = LocalDateTime.now(); LocalDateTime currentDateTime = LocalDateTime.now();
//写入报工日期-当前系统时间 bgMasterLineDO.setBgTime(currentDateTime);
bgMasterLine.setBgTime(currentDateTime); //插入报工记录
bgMasterLineMapper.insert(bgMasterLineDO);
//更新派工单表为正在报工
PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(createReqVO.getZjMxId());
pgMasterLineDO.setActive("START");
pgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
pgMasterLineDO.setStartTime(currentDateTime);
return pgMasterLineMapper.updateById(pgMasterLineDO);
bgMasterLineMapper.insert(bgMasterLine);
// 返回
return bgMasterLine.getId();
} }
@Override @Override

View File

@ -75,6 +75,8 @@ public interface PgMasterService {
*/ */
List<PgMasterLineDO> getPgMasterLineListByZlPgId(Integer zlPgId); List<PgMasterLineDO> getPgMasterLineListByZlPgId(Integer zlPgId);
Boolean insertPgList(Long task_id,Long project_id);
List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id); List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id);
} }

View File

@ -56,6 +56,71 @@ public class PgMasterServiceImpl implements PgMasterService {
private SerialNumberService serialNumberService; private SerialNumberService serialNumberService;
@Override
public Boolean insertPgList(Long task_id,Long project_id){
//查询BOM明细
List<ProcessBomDO> processBomDOList = processBomMapper.selectBomMx(task_id,project_id);
List<PgMasterLineDO> pgMasterLineDOList = new ArrayList<>();
processBomDOList.forEach( o ->{
PgMasterLineDO pgMasterLineDO = new PgMasterLineDO();
//bomID
pgMasterLineDO.setBomId(o.getBomId());
//bom名称
pgMasterLineDO.setBomName("BOM-"+o.getProjectSubShortName());
//bom编号
pgMasterLineDO.setBomNumber("BOM-"+o.getProjectSubShortName());
//bom版本号
pgMasterLineDO.setBomNo(o.getVersion());
//子项目id
pgMasterLineDO.setProjectSubId(o.getProjectSubId());
//子项目名称
pgMasterLineDO.setProjectSubName(o.getProjectSubShortName());
//子项目编号
pgMasterLineDO.setProjectSubNumber(o.getProjectSubCode());
//是否标准件
pgMasterLineDO.setType(o.getType());
//物料ID
pgMasterLineDO.setMaterialId(o.getMaterialId());
//物料名称
pgMasterLineDO.setMaterialName(o.getMaterialName());
//物料编码
pgMasterLineDO.setMaterialCode(o.getMaterialCode());
//材质ID
pgMasterLineDO.setCompositionId(o.getCompostitionId());
//规格
pgMasterLineDO.setSpec(o.getSpec());
//单位
pgMasterLineDO.setUnit(o.getUnit());
//图号
pgMasterLineDO.setBlueprintNo(o.getBlueprintNo());
//检验数量(子项目数量*Bom数量)
pgMasterLineDO.setAmount((o.getProjectSubAmount()*o.getAmount()));
//是否完成
pgMasterLineDO.setPgType(0);
//派工状态
pgMasterLineDO.setDispatchStatus(2);
//生产计划单号
pgMasterLineDO.setTaskNo(o.getPlanCode());
//生产计划ID
pgMasterLineDO.setTaskId(o.getPlanId());
//项目ID
pgMasterLineDO.setProjectId(o.getProjectId());
//项目名称
pgMasterLineDO.setProjectName(o.getProjectName());
//派工单号
TaskDispatchTypeEnum taskDispatchTypeEnum = TaskDispatchTypeEnum.valueOf("GCJYPG");
SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(taskDispatchTypeEnum.getBusinesTypeEnum().name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
pgMasterLineDO.setPgNumber(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString()));
pgMasterLineDOList.add(pgMasterLineDO);
});
//插入派工单表
return createPgMasterLineLists(pgMasterLineDOList);
}
@Override @Override
public List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id){ public List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id){
//查询BOM明细 //查询BOM明细
@ -191,6 +256,12 @@ public class PgMasterServiceImpl implements PgMasterService {
} }
private Boolean createPgMasterLineLists( List<PgMasterLineDO> list) {
return pgMasterLineMapper.insertBatch(list);
}
private void updatePgMasterLineList(Integer zlPgId, List<PgMasterLineDO> list) { private void updatePgMasterLineList(Integer zlPgId, List<PgMasterLineDO> list) {
deletePgMasterLineByZlPgId(zlPgId); deletePgMasterLineByZlPgId(zlPgId);
list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下1id 冲突2updateTime 不更新 list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下1id 冲突2updateTime 不更新

View File

@ -15,6 +15,14 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
public interface ZjBgMasterLineService { public interface ZjBgMasterLineService {
/**
* 结束报工
*
* @param createReqVO 创建信息
* @return 编号
*/
Integer updateBgMasterLines(@Valid ZjBgMasterLineSaveReqVO createReqVO);
/** /**
* 创建终检报工 * 创建终检报工

View File

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.heli.service.zjbgmasterline; package com.chanko.yunxi.mes.module.heli.service.zjbgmasterline;
import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.BgMasterLineSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterDO;
@ -45,10 +46,90 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService {
//结束本次报工
@Override
public Integer updateBgMasterLines(ZjBgMasterLineSaveReqVO createReqVO){
//先取出总的派工数量和预计工时
ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(createReqVO.getZjMxId());
//然后再取出这条ID明细ID下的所有工时和报工数量相加
ZjBgMasterLineDO zjBgMasterLineDO = zjBgMasterLineMapper.selectSum(createReqVO.getZjMxId());
//然后加上用户传入的当前的工时和查出的工时进行相加进行判断
int value1 = 0;
if(zjBgMasterLineDO!=null){
//然后加上用户传入的当前的工时和查出的工时进行相加进行判断
value1 = zjBgMasterLineDO.getAmount()+createReqVO.getAmount();
}else{
value1 = createReqVO.getAmount();
}
//先判断报工数量是否大于派工数量
if(value1>zjPgMasterLineDO.getAmount()){
//这个地方返回错误报工数量不允许超过派工数量请检查
throw exception(TASK_REPORT_PARAMS_ERRORS);
}else{
//取出本派工单在报工明细中有没有报
ZjBgMasterLineDO zjBgMasterLineDO1 = zjBgMasterLineMapper.selectEnd(createReqVO.getZjMxId());
//判断报工user是否相等
if(zjBgMasterLineDO1.getBgUser().equals(createReqVO.getBgUser())){
//相同时判断报工数量和派工数量是否相等相等设置为设置报工状态为1 已完成
LocalDateTime currentDateTime = LocalDateTime.now();
if(value1 == zjPgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态
zjPgMasterLineDO.setPgType(1);
zjPgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
zjPgMasterLineDO.setActive("END");
zjPgMasterLineDO.setEntTime(currentDateTime);
zjPgMasterLineMapper.updateById(zjPgMasterLineDO);
//更新工时
}else{
//不相等时只更新当前报工状态
zjPgMasterLineDO.setActive("END");
zjPgMasterLineDO.setEntTime(currentDateTime);
zjPgMasterLineMapper.updateById(zjPgMasterLineDO);
}
//更新报工信息
//结束时间
zjBgMasterLineDO1.setEntTime(currentDateTime);
//报工工时
zjBgMasterLineDO1.setWorkTime(createReqVO.getWorkTime());
//报工数量
zjBgMasterLineDO1.setAmount(createReqVO.getAmount());
return zjBgMasterLineMapper.updateById(zjBgMasterLineDO1);
}else{
//当创建人和报工人不一样时返回报错不允许用户报工
throw exception(TASK_REPORT_PARAMS_ERRORBG);
}
//
}
}
@Override @Override
public Integer createZjBgMasterLine(ZjBgMasterLineSaveReqVO createReqVO) { public Integer createZjBgMasterLine(ZjBgMasterLineSaveReqVO createReqVO) {
//先取出总的派工数量和预计工时 //先插入一条报工信息
ZjBgMasterLineDO zjBgMasterLineDO = new ZjBgMasterLineDO();
//过程检验ID
zjBgMasterLineDO.setZjMxId(createReqVO.getZjMxId());
//报工人
zjBgMasterLineDO.setBgUser(createReqVO.getBgUser());
//报工时间
LocalDateTime currentDateTime = LocalDateTime.now();
zjBgMasterLineDO.setBgTime(currentDateTime);
//插入报工记录
zjBgMasterLineMapper.insert(zjBgMasterLineDO);
//更新派工单表为正在报工
ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(createReqVO.getZjMxId());
zjPgMasterLineDO.setActive("START");
zjPgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
zjPgMasterLineDO.setStartTime(currentDateTime);
return zjPgMasterLineMapper.updateById(zjPgMasterLineDO);
/* //先取出总的派工数量和预计工时
ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(createReqVO.getZjMxId()); ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(createReqVO.getZjMxId());
//然后再取出这条ID明细ID下的所有工时和报工数量相加 //然后再取出这条ID明细ID下的所有工时和报工数量相加
@ -66,7 +147,7 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService {
}else if(value1 == zjPgMasterLineDO.getAmount()){ }else if(value1 == zjPgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态 //这个地方跟定是否完成状态
zjPgMasterLineDO.setPgType(1); zjPgMasterLineDO.setPgType(1);
zjPgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
zjPgMasterLineMapper.updateById(zjPgMasterLineDO); zjPgMasterLineMapper.updateById(zjPgMasterLineDO);
} }
}else{ }else{
@ -90,7 +171,7 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService {
zjBgMasterLineMapper.insert(zjBgMasterLine); zjBgMasterLineMapper.insert(zjBgMasterLine);
// 返回 // 返回
return zjBgMasterLine.getId(); return zjBgMasterLine.getId();*/
} }
@Override @Override

View File

@ -74,6 +74,9 @@ public interface ZjPgMasterService {
*/ */
List<ZjPgMasterLineDO> getZjPgMasterLineListByZlPgId(Integer zlPgId); List<ZjPgMasterLineDO> getZjPgMasterLineListByZlPgId(Integer zlPgId);
Boolean insertZjList(Long task_id,Long project_id);
List<ZjPgMasterLineDO> searchZXMMx(Long task_id,Long project_id); List<ZjPgMasterLineDO> searchZXMMx(Long task_id,Long project_id);
PageResult<ZjPgMasterLineDO> getTaskDispatchDetailPage(ZjPgMasterLinePageReqVO pageReqVO); PageResult<ZjPgMasterLineDO> getTaskDispatchDetailPage(ZjPgMasterLinePageReqVO pageReqVO);

View File

@ -68,6 +68,65 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
return zjPgMasterLineMapper.selectPage(pageReqVO); return zjPgMasterLineMapper.selectPage(pageReqVO);
} }
@Override
public Boolean insertZjList(Long task_id,Long project_id){
//查询BOM明细
List<PlanDO> planDOList = planMapper.searchZXMMx(task_id,project_id);
List<ZjPgMasterLineDO> zjPgMasterLineDOList = new ArrayList<>();
planDOList.forEach( o ->{
MouldTypeDO mouldTypeDO = mouldTypeMapper.selectById(o.getMouldId());
//组装自动生成参数
ZjPgMasterLineDO zjPgMasterLineDO = new ZjPgMasterLineDO();
if(mouldTypeDO!=null){
//模具名称
zjPgMasterLineDO.setMouldName(mouldTypeDO.getName());
}
//子项目id
zjPgMasterLineDO.setProjectSubId(o.getProjectSubId());
//子项目名称
zjPgMasterLineDO.setProjectSubName(o.getProjectSubName());
//子项目编号
zjPgMasterLineDO.setProjectSubNumber(o.getProjectSubCode());
//材质ID
zjPgMasterLineDO.setCompositionId(o.getCompositionId());
//材质名称
zjPgMasterLineDO.setCompositionName(o.getCompositionName());
//单位
zjPgMasterLineDO.setUnit(o.getUnit());
//数量
zjPgMasterLineDO.setAmount(o.getAmount());
//是否完成
zjPgMasterLineDO.setPgType(0);
//模具id
zjPgMasterLineDO.setMouldId(o.getMouldId());
//派工单号
TaskDispatchTypeEnum taskDispatchTypeEnum = TaskDispatchTypeEnum.valueOf("ZJJYPG");
SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(taskDispatchTypeEnum.getBusinesTypeEnum().name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
zjPgMasterLineDO.setPgNumber(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString()));
//生产计划单号
zjPgMasterLineDO.setTaskNo(o.getPlanNo());
//生产计划ID
zjPgMasterLineDO.setTaskId(o.getId());
//项目ID
zjPgMasterLineDO.setProjectId(o.getProjectId());
//项目名称
zjPgMasterLineDO.setProjectName(o.getProjectName());
//派工状态
zjPgMasterLineDO.setDispatchStatus(2);
zjPgMasterLineDOList.add(zjPgMasterLineDO);
//自动创建
});
//循环完成后调用插入子表程序
Boolean a = createZjPgMasterLineLists(zjPgMasterLineDOList);
//根据查询出的BOM明细将信息set到
return a;
}
@Override @Override
public List<ZjPgMasterLineDO> searchZXMMx(Long task_id,Long project_id){ public List<ZjPgMasterLineDO> searchZXMMx(Long task_id,Long project_id){
//查询BOM明细 //查询BOM明细
@ -75,25 +134,53 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
List<ZjPgMasterLineDO> zjPgMasterLineDOList = new ArrayList<>(); List<ZjPgMasterLineDO> zjPgMasterLineDOList = new ArrayList<>();
planDOList.forEach( o ->{ planDOList.forEach( o ->{
MouldTypeDO mouldTypeDO = mouldTypeMapper.selectById(o.getMouldId()); MouldTypeDO mouldTypeDO = mouldTypeMapper.selectById(o.getMouldId());
//组装自动生成参数
ZjPgMasterLineDO zjPgMasterLineDO = new ZjPgMasterLineDO(); ZjPgMasterLineDO zjPgMasterLineDO = new ZjPgMasterLineDO();
if(mouldTypeDO!=null){ if(mouldTypeDO!=null){
//模具名称
zjPgMasterLineDO.setMouldName(mouldTypeDO.getName()); zjPgMasterLineDO.setMouldName(mouldTypeDO.getName());
} }
//子项目id
zjPgMasterLineDO.setProjectSubId(o.getProjectSubId()); zjPgMasterLineDO.setProjectSubId(o.getProjectSubId());
//子项目名称
zjPgMasterLineDO.setProjectSubName(o.getProjectSubName()); zjPgMasterLineDO.setProjectSubName(o.getProjectSubName());
//子项目编号
zjPgMasterLineDO.setProjectSubNumber(o.getProjectSubCode()); zjPgMasterLineDO.setProjectSubNumber(o.getProjectSubCode());
//材质ID
zjPgMasterLineDO.setCompositionId(o.getCompositionId()); zjPgMasterLineDO.setCompositionId(o.getCompositionId());
//材质名称
zjPgMasterLineDO.setCompositionName(o.getCompositionName()); zjPgMasterLineDO.setCompositionName(o.getCompositionName());
//单位
zjPgMasterLineDO.setUnit(o.getUnit()); zjPgMasterLineDO.setUnit(o.getUnit());
//数量
zjPgMasterLineDO.setAmount(o.getAmount()); zjPgMasterLineDO.setAmount(o.getAmount());
//是否完成
zjPgMasterLineDO.setPgType(0);
//模具id
zjPgMasterLineDO.setMouldId(o.getMouldId()); zjPgMasterLineDO.setMouldId(o.getMouldId());
//派工单号
TaskDispatchTypeEnum taskDispatchTypeEnum = TaskDispatchTypeEnum.valueOf("ZJJYPG");
SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(taskDispatchTypeEnum.getBusinesTypeEnum().name(), new SimpleDateFormat("yyyyMMdd").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
zjPgMasterLineDO.setPgNumber(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString()));
//生产计划单号
zjPgMasterLineDO.setTaskNo(o.getPlanNo());
//生产计划ID
zjPgMasterLineDO.setTaskId(o.getId());
//项目ID
zjPgMasterLineDO.setProjectId(o.getProjectId());
//项目名称
zjPgMasterLineDO.setProjectName(o.getProjectName());
//派工状态
zjPgMasterLineDO.setDispatchStatus(2);
zjPgMasterLineDOList.add(zjPgMasterLineDO); zjPgMasterLineDOList.add(zjPgMasterLineDO);
//自动创建
}); });
//根据查询出的BOM明细将信息set到 //根据查询出的BOM明细将信息set到
return zjPgMasterLineDOList; return zjPgMasterLineDOList;
} }
@ -192,6 +279,12 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
private void createZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) { private void createZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) {
list.forEach(o -> o.setZlPgId(zlPgId)); list.forEach(o -> o.setZlPgId(zlPgId));
zjPgMasterLineMapper.insertBatch(list); zjPgMasterLineMapper.insertBatch(list);
}
private Boolean createZjPgMasterLineLists(List<ZjPgMasterLineDO> list) {
return zjPgMasterLineMapper.insertBatch(list);
} }
private void updateZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) { private void updateZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) {

View File

@ -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: userId, detilUser: null,
// //
pgType: 0, pgType: 0,
// //
@ -159,10 +159,7 @@ const onRefresherrefresh = async () => {
<view class="label">派工数量</view> <view class="label">派工数量</view>
<view class="val">{{item.amount}}</view> <view class="val">{{item.amount}}</view>
</view> </view>
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{item.amounts}}</view>
</view>
</view> </view>
<view class="product-row"> <view class="product-row">
@ -170,12 +167,16 @@ const onRefresherrefresh = async () => {
<view class="label">预计工时</view> <view class="label">预计工时</view>
<view class="val">{{ item.gongShi }}</view> <view class="val">{{ item.gongShi }}</view>
</view> --> </view> -->
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{item.amounts}}</view>
</view>
<view class="row-item"> <view class="row-item">
<view class="label">总报工工时</view> <view class="label">总报工工时</view>
<view class="val high-color">{{ item.workTime }}</view> <view class="val high-color">{{ item.workTime }}</view>
</view> </view>
</view> </view>
<view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> <!-- <view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> -->
</view> </view>
<view class="statusText" @click="handleDetail(item)">{{ statusText }}</view> <view class="statusText" @click="handleDetail(item)">{{ statusText }}</view>
</view> </view>

View File

@ -3,7 +3,7 @@ import { toRaw, ref, computed } from 'vue'
import { formatDate } from '@/utils/index' import { formatDate } from '@/utils/index'
import { onLoad, onShow } from '@dcloudio/uni-app' import { onLoad, onShow } from '@dcloudio/uni-app'
import { useLoginStore } from '@/stores/modules/login' import { useLoginStore } from '@/stores/modules/login'
import { getTaskRepotPageAPI, getTaskDetailAPI, postOperateAPI } from '@/services/pgMaster' import { getTaskRepotPageAPI, getTaskDetailAPI, postOperateAPI,postOperateAPIEnd } from '@/services/pgMaster'
const popup = ref<UniHelper.UniPopupInstance>() const popup = ref<UniHelper.UniPopupInstance>()
const userStore = useLoginStore() const userStore = useLoginStore()
const dictInfo = userStore?.dictInfo || [] const dictInfo = userStore?.dictInfo || []
@ -59,6 +59,7 @@ const getData = async () => {
e.startTimeStr = e.startTime && formatDate(e.startTime, 'YYYY-MM-DD HH:mm') e.startTimeStr = e.startTime && formatDate(e.startTime, 'YYYY-MM-DD HH:mm')
e.endTimeStr = e.endTime && formatDate(e.endTime, 'YYYY-MM-DD HH:mm') e.endTimeStr = e.endTime && formatDate(e.endTime, 'YYYY-MM-DD HH:mm')
e.bgTime = e.bgTime && formatDate(e.bgTime, 'YYYY-MM-DD HH:mm') e.bgTime = e.bgTime && formatDate(e.bgTime, 'YYYY-MM-DD HH:mm')
e.entTime = e.entTime && formatDate(e.entTime, 'YYYY-MM-DD HH:mm')
}) })
if (data.list[0]) { if (data.list[0]) {
formObj.value = data.list[0] formObj.value = data.list[0]
@ -118,7 +119,7 @@ const handleOk = async (active) => {
workTime: workTime.value, workTime: workTime.value,
bgUser: userId, bgUser: userId,
} }
const data = await postOperateAPI(params) const data = await postOperateAPIEnd(params)
const url = `/pages/pgMaster/pgMaster-detail?id=${detailInfo.value.id}` const url = `/pages/pgMaster/pgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({ uni.redirectTo({
url, url,
@ -126,7 +127,19 @@ const handleOk = async (active) => {
} }
// //
const handleStart = async () => { const handleStart = async () => {
popup.value.open(); const params = {
zjMxId: detailInfo.value?.id,
workTime: workTime.value,
bgUser: userId,
}
const data = await postOperateAPI(params)
const url = `/pages/pgMaster/pgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({
url,
})
//popup.value.open();
/* const params = { /* const params = {
id: detailInfo.value.id, id: detailInfo.value.id,
active: 'START', active: 'START',
@ -141,16 +154,7 @@ const handleStart = async () => {
} }
// //
const handleStop = async () => { const handleStop = async () => {
const params = { popup.value.open();
id: detailInfo.value?.id,
active: 'END',
}
const data = await postOperateAPI(params)
const url = `/pages/productionReport/productionReport-detail?id=${detailInfo.value.id}`
uni.redirectTo({
url,
})
popup.value?.open()
} }
</script> </script>
@ -171,22 +175,23 @@ const handleStop = async () => {
<view class="label">派工数量</view> <view class="label">派工数量</view>
<view class="val">{{ detailInfo.amount }}</view> <view class="val">{{ detailInfo.amount }}</view>
</view> </view>
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{ detailInfo.amounts }}</view>
</view>
</view> </view>
<view class="product-row"> <view class="product-row">
<view class="row-item"> <!-- <view class="row-item">
<view class="label">预计工时</view> <view class="label">预计工时</view>
<view class="val">{{ detailInfo.gongShi }}</view> <view class="val">{{ detailInfo.gongShi }}</view>
</view> </view> -->
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{ detailInfo.amounts }}</view>
</view>
<view class="row-item"> <view class="row-item">
<view class="label">总报工工时</view> <view class="label">总报工工时</view>
<view class="val high-color">{{ detailInfo.workTime }}</view> <view class="val high-color">{{ detailInfo.workTime }}</view>
</view> </view>
</view> </view>
<view class="product-item">预计生产日期{{ detailInfo.startTime }} {{ detailInfo.entTime }}</view> <!-- <view class="product-item">预计生产日期{{ detailInfo.startTime }} {{ detailInfo.entTime }}</view> -->
<view class="finish" v-if="isShowStart && detailInfo.procedureStatus !== 2 && detailInfo.totalWorkTime" <view class="finish" v-if="isShowStart && detailInfo.procedureStatus !== 2 && detailInfo.totalWorkTime"
@click="handleComplate"> @click="handleComplate">
<image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" /> <image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" />
@ -202,9 +207,15 @@ const handleStop = async () => {
</view> </view>
<template v-else> <template v-else>
<view class="item" v-for="(item, index) in historyList" :key="item.id"> <view class="item" v-for="(item, index) in historyList" :key="item.id">
<view class="product-item">报工时间{{ item.bgTime }}</view> <view class="product-row">
<view class="row-item">
<view class="label">报工人</view>
<view class="val high-color">{{ item.userName }}</view>
</view>
</view>
<view class="product-item">报工时间{{ item.bgTime }}~{{item.entTime}}</view>
<!-- <view class="product-item">生产结束时间{{ item.endTimeStr }}</view> --> <!-- <view class="product-item">生产结束时间{{ item.endTimeStr }}</view> -->
<view class="product-row"> <view class="product-row">
<view class="row-item"> <view class="row-item">
<view class="label">报工工时</view> <view class="label">报工工时</view>
@ -226,8 +237,8 @@ const handleStop = async () => {
</view> </view>
</view> </view>
<view class="action" v-if="detailInfo.pgType !== 1"> <view class="action" v-if="detailInfo.pgType !== 1">
<view class="action-item start" v-if="detailInfo.pgType !== 1" @click="handleStart">过程检报工</view> <view class="action-item start" v-if="detailInfo.active != 'START'" @click="handleStart">开始报工</view>
<!-- <view class="action-item stop" v-if="isShowEnd" @click="handleStop">结束生产</view> --> <view class="action-item stop" v-if="detailInfo.active == 'START'" @click="handleStop">结束报工</view>
</view> </view>
</template> </template>
<view class="loading-text" v-else>加载中..</view> <view class="loading-text" v-else>加载中..</view>

View File

@ -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: userId, detilUser: null,
// //
pgType: 0, pgType: 0,
// //
@ -187,7 +187,7 @@ const onRefresherrefresh = async () => {
<view class="val high-color">{{ item.workTime }}</view> <view class="val high-color">{{ item.workTime }}</view>
</view> </view>
</view> </view>
<view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> <!-- <view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> -->
</view> </view>
<view class="statusText" @click="handleDetail(item)">{{ statusText }}</view> <view class="statusText" @click="handleDetail(item)">{{ statusText }}</view>
</view> </view>

View File

@ -3,7 +3,7 @@ import { toRaw, ref, computed } from 'vue'
import { formatDate } from '@/utils/index' import { formatDate } from '@/utils/index'
import { onLoad, onShow } from '@dcloudio/uni-app' import { onLoad, onShow } from '@dcloudio/uni-app'
import { useLoginStore } from '@/stores/modules/login' import { useLoginStore } from '@/stores/modules/login'
import { getTaskRepotPageAPI, getTaskDetailAPI, postOperateAPI } from '@/services/zjPgMaster' import { getTaskRepotPageAPI, getTaskDetailAPI, postOperateAPI,postOperateAPIEnd } from '@/services/zjPgMaster'
const popup = ref<UniHelper.UniPopupInstance>() const popup = ref<UniHelper.UniPopupInstance>()
const userStore = useLoginStore() const userStore = useLoginStore()
const dictInfo = userStore?.dictInfo || [] const dictInfo = userStore?.dictInfo || []
@ -59,6 +59,7 @@ const getData = async () => {
e.startTimeStr = e.startTime && formatDate(e.startTime, 'YYYY-MM-DD HH:mm') e.startTimeStr = e.startTime && formatDate(e.startTime, 'YYYY-MM-DD HH:mm')
e.endTimeStr = e.endTime && formatDate(e.endTime, 'YYYY-MM-DD HH:mm') e.endTimeStr = e.endTime && formatDate(e.endTime, 'YYYY-MM-DD HH:mm')
e.bgTime = e.bgTime && formatDate(e.bgTime, 'YYYY-MM-DD HH:mm') e.bgTime = e.bgTime && formatDate(e.bgTime, 'YYYY-MM-DD HH:mm')
e.entTime = e.entTime && formatDate(e.entTime, 'YYYY-MM-DD HH:mm')
}) })
if (data.list[0]) { if (data.list[0]) {
formObj.value = data.list[0] formObj.value = data.list[0]
@ -118,7 +119,7 @@ const handleOk = async (active) => {
workTime: workTime.value, workTime: workTime.value,
bgUser: userId, bgUser: userId,
} }
const data = await postOperateAPI(params) const data = await postOperateAPIEnd(params)
const url = `/pages/zjPgMaster/zjPgMaster-detail?id=${detailInfo.value.id}` const url = `/pages/zjPgMaster/zjPgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({ uni.redirectTo({
url, url,
@ -126,7 +127,17 @@ const handleOk = async (active) => {
} }
// //
const handleStart = async () => { const handleStart = async () => {
popup.value.open(); const params = {
zjMxId: detailInfo.value?.id,
workTime: workTime.value,
bgUser: userId,
}
const data = await postOperateAPI(params)
const url = `/pages/zjPgMaster/zjPgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({
url,
})
/* const params = { /* const params = {
id: detailInfo.value.id, id: detailInfo.value.id,
active: 'START', active: 'START',
@ -141,7 +152,8 @@ const handleStart = async () => {
} }
// //
const handleStop = async () => { const handleStop = async () => {
const params = { popup.value.open();
/* const params = {
id: detailInfo.value?.id, id: detailInfo.value?.id,
active: 'END', active: 'END',
} }
@ -150,7 +162,7 @@ const handleStop = async () => {
uni.redirectTo({ uni.redirectTo({
url, url,
}) })
popup.value?.open() popup.value?.open() */
} }
</script> </script>
@ -188,7 +200,7 @@ const handleStop = async () => {
<view class="val high-color">{{ detailInfo.workTime }}</view> <view class="val high-color">{{ detailInfo.workTime }}</view>
</view> </view>
</view> </view>
<view class="product-item">预计生产日期{{ detailInfo.startTime }} {{ detailInfo.entTime }}</view> <!-- <view class="product-item">预计生产日期{{ detailInfo.startTime }} {{ detailInfo.entTime }}</view> -->
<view class="finish" v-if="isShowStart && detailInfo.procedureStatus !== 2 && detailInfo.totalWorkTime" <view class="finish" v-if="isShowStart && detailInfo.procedureStatus !== 2 && detailInfo.totalWorkTime"
@click="handleComplate"> @click="handleComplate">
<image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" /> <image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" />
@ -204,7 +216,13 @@ const handleStop = async () => {
</view> </view>
<template v-else> <template v-else>
<view class="item" v-for="(item, index) in historyList" :key="item.id"> <view class="item" v-for="(item, index) in historyList" :key="item.id">
<view class="product-item">报工时间{{ item.bgTime }}</view> <view class="product-row">
<view class="row-item">
<view class="label">报工人</view>
<view class="val high-color">{{ item.userName }}</view>
</view>
</view>
<view class="product-item">报工时间{{ item.bgTime }}~{{item.entTime}}</view>
<!-- <view class="product-item">生产结束时间{{ item.endTimeStr }}</view> --> <!-- <view class="product-item">生产结束时间{{ item.endTimeStr }}</view> -->
<view class="product-row"> <view class="product-row">
@ -228,8 +246,10 @@ const handleStop = async () => {
</view> </view>
</view> </view>
<view class="action" v-if="detailInfo.pgType !== 1"> <view class="action" v-if="detailInfo.pgType !== 1">
<view class="action-item start" v-if="detailInfo.pgType !== 1" @click="handleStart">终检报工</view> <view class="action-item start" v-if="detailInfo.active != 'START'" @click="handleStart">开始报工</view>
<!-- <view class="action-item stop" v-if="isShowEnd" @click="handleStop">结束生产</view> --> <view class="action-item stop" v-if="detailInfo.active == 'START'" @click="handleStop">结束报工</view>
<!-- <view class="action-item start" v-if="detailInfo.pgType !== 1" @click="handleStart">终检报工</view>
<view class="action-item stop" v-if="isShowEnd" @click="handleStop">结束生产</view> -->
</view> </view>
</template> </template>
<view class="loading-text" v-else>加载中..</view> <view class="loading-text" v-else>加载中..</view>

View File

@ -7,6 +7,6 @@
* @Description: ,`customMade`, koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
// export const serviceDomain = 'https://nxhs.cjyx.cc' // export const serviceDomain = 'https://nxhs.cjyx.cc'
// export const serviceDomain = 'https://star.hz-hl.com' // export const serviceDomain = 'https://star.hz-hl.com' http://222.71.165.187:9010
export const serviceDomain = 'http://222.71.165.187:9010' export const serviceDomain = 'http://localhost:8080'

View File

@ -50,7 +50,7 @@ export const getTaskDetailAPI = (data: Object) => {
} }
/** /**
* /// *
*/ */
export const postOperateAPI = (data: Object) => { export const postOperateAPI = (data: Object) => {
return http<any[]>({ return http<any[]>({
@ -59,6 +59,16 @@ export const postOperateAPI = (data: Object) => {
data, data,
}) })
} }
/**
*
*/
export const postOperateAPIEnd = (data: Object) => {
return http<any[]>({
method: 'POST',
url: '/heli/bg-master-line/endBg',
data,
})
}
/** /**
* - * -

View File

@ -33,7 +33,7 @@ export const getTaskDetailAPI = (data: Object) => {
} }
/** /**
* /// *
*/ */
export const postOperateAPI = (data: Object) => { export const postOperateAPI = (data: Object) => {
return http<any[]>({ return http<any[]>({
@ -43,6 +43,17 @@ export const postOperateAPI = (data: Object) => {
}) })
} }
/**
*
*/
export const postOperateAPIEnd = (data: Object) => {
return http<any[]>({
method: 'POST',
url: '/heli/zj-bg-master-line/endBg',
data,
})
}
/** /**
* - * -
*/ */