过程检和终检自动生成接口开发,过程检和终检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_ERRORS = new ErrorCode(1_009_007, "报工数量超出派工数量");
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_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件");
ErrorCode TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS = new ErrorCode(1_009_006, "无法超额报工");

View File

@ -38,6 +38,17 @@ public class BgMasterLineController {
@Resource
private BgMasterLineService bgMasterLineService;
@PostMapping("/endBg")
@Operation(summary = "创建过程检报工")
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')")
public CommonResult<Integer> endBg(@Valid @RequestBody BgMasterLineSaveReqVO createReqVO) {
return success(bgMasterLineService.updateBgMasterLines(createReqVO));
}
@PostMapping("/create")
@Operation(summary = "创建过程检报工")
@PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')")

View File

@ -46,4 +46,12 @@ public class BgMasterLineRespVO {
@ExcelProperty("工时")
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
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")
@Operation(summary = "创建终检报工")
@PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:create')")

View File

@ -46,4 +46,12 @@ public class ZjBgMasterLineRespVO {
@ExcelProperty("工时")
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 LocalDateTime entTime;
@TableField(exist = false)
private String userName;
}

View File

@ -115,20 +115,37 @@ public class PgMasterLineDO extends BaseDO {
*/
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;
/**
* 是否完成 0未完成 1已完成
* 派工状态 已保存|已提交|已终止 1|2|3
*/
private Integer dispatchStatus;
@TableField(exist = false)
private String pgNumber;
@TableField(exist = false)
private String projectName;
/**
* 报工状态
*/
private String active;
@TableField(exist = false)
private Integer amounts;

View File

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

View File

@ -54,4 +54,13 @@ public class ZjBgMasterLineDO extends BaseDO {
*/
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 pgNumber;
/**
* 生产计划单号
*/
private String taskNo;
/**
* 生产计划ID
*/
private Long taskId;
/**
* 项目ID
*/
private Long projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 派工状态 已保存|已提交|已终止 1|2|3
*/
private Integer dispatchStatus;
@TableField(exist = false)
private String pgNumber;
private String active;
/*@TableField(exist = false)
private String pgNumber;*/
@TableField(exist = false)
private String projectName;
@TableField(exist = false)
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.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.classes.ClassesDO;
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.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
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> {
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())
.eqIfPresent(BgMasterLineDO::getZjId, reqVO.getZjId())
.eqIfPresent(BgMasterLineDO::getZjMxId, reqVO.getZjMxId())
@ -30,7 +43,8 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
.eqIfPresent(BgMasterLineDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BgMasterLineDO::getBgTime, reqVO.getBgTime())
.betweenIfPresent(BgMasterLineDO::getWorkTime, reqVO.getWorkTime())
.orderByDesc(BgMasterLineDO::getId));
.orderByDesc(BgMasterLineDO::getId))
;*/
}
default BgMasterLineDO selectSum(Integer zjMxId) {
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
@ -43,5 +57,15 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
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) {
MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(PgMasterLineDO.class)
.select("b.pg_number as pgNumber , b.project_name as projectName" )
.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")
.disableSubLogicDel();
@ -58,12 +56,10 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
default PageResult<PgMasterLineDO> selectPage(PgMasterLinePageReqVO reqVO) {
MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(PgMasterLineDO.class)
.select("b.pg_number as pgNumber , b.project_name as projectName" )
.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")
.orderByDesc(PgMasterLineDO::getId)
.orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber)
.disableSubLogicDel();
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("d.name as projectSubName,d.composition_id as compositionId,d.unit,d.amount")
.select("e.name as compositionName")
.select("c.projectName")
//.select("f.name as mouldName")
.leftJoin(PlanSubDO.class, "b", PlanSubDO::getProjectPlanId, PlanDO::getId)
.leftJoin(ProjectOrderDO.class, "c", ProjectOrderDO::getId, PlanSubDO::getProjectId)

View File

@ -36,8 +36,14 @@ public interface ProcessBomMapper extends BaseMapperX<ProcessBomDO> {
"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 ")
.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(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::getPlanId,task_id)

View File

@ -22,7 +22,16 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
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())
.eqIfPresent(ZjBgMasterLineDO::getZjId, reqVO.getZjId())
.eqIfPresent(ZjBgMasterLineDO::getZjMxId, reqVO.getZjMxId())
@ -30,7 +39,7 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
.eqIfPresent(ZjBgMasterLineDO::getAmount, reqVO.getAmount())
.betweenIfPresent(ZjBgMasterLineDO::getBgTime, reqVO.getBgTime())
.betweenIfPresent(ZjBgMasterLineDO::getWorkTime, reqVO.getWorkTime())
.orderByDesc(ZjBgMasterLineDO::getId));
.orderByDesc(ZjBgMasterLineDO::getId));*/
}
default ZjBgMasterLineDO selectSum(Integer zjMxId) {
@ -45,4 +54,15 @@ public interface ZjBgMasterLineMapper extends BaseMapperX<ZjBgMasterLineDO> {
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) {
MPJLambdaWrapper<ZjPgMasterLineDO> query = new MPJLambdaWrapper<>();
query.selectAll(ZjPgMasterLineDO.class)
.select("b.pg_number as pgNumber,b.project_name as projectName")
.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")
.orderByDesc(ZjPgMasterLineDO::getId)

View File

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

View File

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

View File

@ -75,6 +75,8 @@ public interface PgMasterService {
*/
List<PgMasterLineDO> getPgMasterLineListByZlPgId(Integer zlPgId);
Boolean insertPgList(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;
@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
public List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id){
//查询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) {
deletePgMasterLineByZlPgId(zlPgId);
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 {
/**
* 结束报工
*
* @param createReqVO 创建信息
* @return 编号
*/
Integer updateBgMasterLines(@Valid ZjBgMasterLineSaveReqVO createReqVO);
/**
* 创建终检报工

View File

@ -1,5 +1,6 @@
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.pgmaster.PgMasterLineDO;
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
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());
//然后再取出这条ID明细ID下的所有工时和报工数量相加
@ -66,7 +147,7 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService {
}else if(value1 == zjPgMasterLineDO.getAmount()){
//这个地方跟定是否完成状态
zjPgMasterLineDO.setPgType(1);
zjPgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser()));
zjPgMasterLineMapper.updateById(zjPgMasterLineDO);
}
}else{
@ -90,7 +171,7 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService {
zjBgMasterLineMapper.insert(zjBgMasterLine);
// 返回
return zjBgMasterLine.getId();
return zjBgMasterLine.getId();*/
}
@Override

View File

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

View File

@ -68,6 +68,65 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
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
public List<ZjPgMasterLineDO> searchZXMMx(Long task_id,Long project_id){
//查询BOM明细
@ -75,25 +134,53 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
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);
//自动创建
});
//根据查询出的BOM明细将信息set到
return zjPgMasterLineDOList;
}
@ -192,6 +279,12 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService {
private void createZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) {
list.forEach(o -> o.setZlPgId(zlPgId));
zjPgMasterLineMapper.insertBatch(list);
}
private Boolean createZjPgMasterLineLists(List<ZjPgMasterLineDO> list) {
return zjPgMasterLineMapper.insertBatch(list);
}
private void updateZjPgMasterLineList(Integer zlPgId, List<ZjPgMasterLineDO> list) {

View File

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

View File

@ -3,7 +3,7 @@ import { toRaw, ref, computed } from 'vue'
import { formatDate } from '@/utils/index'
import { onLoad, onShow } from '@dcloudio/uni-app'
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 userStore = useLoginStore()
const dictInfo = userStore?.dictInfo || []
@ -59,6 +59,7 @@ const getData = async () => {
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.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]) {
formObj.value = data.list[0]
@ -118,7 +119,7 @@ const handleOk = async (active) => {
workTime: workTime.value,
bgUser: userId,
}
const data = await postOperateAPI(params)
const data = await postOperateAPIEnd(params)
const url = `/pages/pgMaster/pgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({
url,
@ -126,7 +127,19 @@ const handleOk = async (active) => {
}
//
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 = {
id: detailInfo.value.id,
active: 'START',
@ -141,16 +154,7 @@ const handleStart = async () => {
}
//
const handleStop = async () => {
const params = {
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()
popup.value.open();
}
</script>
@ -171,22 +175,23 @@ const handleStop = async () => {
<view class="label">派工数量</view>
<view class="val">{{ detailInfo.amount }}</view>
</view>
</view>
<view class="product-row">
<!-- <view class="row-item">
<view class="label">预计工时</view>
<view class="val">{{ detailInfo.gongShi }}</view>
</view> -->
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{ detailInfo.amounts }}</view>
</view>
</view>
<view class="product-row">
<view class="row-item">
<view class="label">预计工时</view>
<view class="val">{{ detailInfo.gongShi }}</view>
</view>
<view class="row-item">
<view class="label">总报工工时</view>
<view class="val high-color">{{ detailInfo.workTime }}</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"
@click="handleComplate">
<image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" />
@ -202,7 +207,13 @@ const handleStop = async () => {
</view>
<template v-else>
<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-row">
@ -226,8 +237,8 @@ const handleStop = async () => {
</view>
</view>
<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 stop" v-if="isShowEnd" @click="handleStop">结束生产</view> -->
<view class="action-item start" v-if="detailInfo.active != 'START'" @click="handleStart">开始报工</view>
<view class="action-item stop" v-if="detailInfo.active == 'START'" @click="handleStop">结束报工</view>
</view>
</template>
<view class="loading-text" v-else>加载中..</view>

View File

@ -27,7 +27,7 @@ const isLoading = ref(false)
const queryParams: Required<any> = {
pageNo: 1,
pageSize: 5,
detilUser: userId,
detilUser: null,
//
pgType: 0,
//
@ -187,7 +187,7 @@ const onRefresherrefresh = async () => {
<view class="val high-color">{{ item.workTime }}</view>
</view>
</view>
<view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view>
<!-- <view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> -->
</view>
<view class="statusText" @click="handleDetail(item)">{{ statusText }}</view>
</view>

View File

@ -3,7 +3,7 @@ import { toRaw, ref, computed } from 'vue'
import { formatDate } from '@/utils/index'
import { onLoad, onShow } from '@dcloudio/uni-app'
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 userStore = useLoginStore()
const dictInfo = userStore?.dictInfo || []
@ -59,6 +59,7 @@ const getData = async () => {
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.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]) {
formObj.value = data.list[0]
@ -118,7 +119,7 @@ const handleOk = async (active) => {
workTime: workTime.value,
bgUser: userId,
}
const data = await postOperateAPI(params)
const data = await postOperateAPIEnd(params)
const url = `/pages/zjPgMaster/zjPgMaster-detail?id=${detailInfo.value.id}`
uni.redirectTo({
url,
@ -126,7 +127,17 @@ const handleOk = async (active) => {
}
//
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 = {
id: detailInfo.value.id,
active: 'START',
@ -141,7 +152,8 @@ const handleStart = async () => {
}
//
const handleStop = async () => {
const params = {
popup.value.open();
/* const params = {
id: detailInfo.value?.id,
active: 'END',
}
@ -150,7 +162,7 @@ const handleStop = async () => {
uni.redirectTo({
url,
})
popup.value?.open()
popup.value?.open() */
}
</script>
@ -188,7 +200,7 @@ const handleStop = async () => {
<view class="val high-color">{{ detailInfo.workTime }}</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"
@click="handleComplate">
<image class="complate-img" src="/static/images/productionReport-detail-complate.png" mode="scaleToFill" />
@ -204,7 +216,13 @@ const handleStop = async () => {
</view>
<template v-else>
<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-row">
@ -228,8 +246,10 @@ const handleStop = async () => {
</view>
</view>
<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 stop" v-if="isShowEnd" @click="handleStop">结束生产</view> -->
<view class="action-item start" v-if="detailInfo.active != 'START'" @click="handleStart">开始报工</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>
</template>
<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
*/
// export const serviceDomain = 'https://nxhs.cjyx.cc'
// export const serviceDomain = 'https://star.hz-hl.com'
export const serviceDomain = 'http://222.71.165.187:9010'
// export const serviceDomain = 'https://star.hz-hl.com' 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) => {
return http<any[]>({
@ -59,6 +59,16 @@ export const postOperateAPI = (data: Object) => {
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) => {
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,
})
}
/**
* -
*/