Browse Source

报废拆解工单主子工单联动刷新状态

master_hella_20240701
gaojs 1 year ago
parent
commit
94587e4d95
  1. 1
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingDetailBaseVO.java
  2. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainBaseVO.java
  3. 3
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainExcelVO.java
  4. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainExportReqVO.java
  5. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainPageReqVO.java
  6. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/dataobject/mesdismantlingmain/MesDismantlingMainDO.java
  7. 16
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/mesdismantlingdetail/MesDismantlingDetailMapper.java
  8. 1
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/mesdismantlingmain/MesDismantlingMainMapper.java
  9. 1
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java
  10. 83
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesdismantlingdetail/MesDismantlingDetailServiceImpl.java
  11. 1
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesdismantlingmain/MesDismantlingMainServiceImpl.java

1
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingDetailBaseVO.java

@ -3,7 +3,6 @@ package com.win.module.mes.controller.mesdismantlingmain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainBaseVO.java

@ -22,7 +22,7 @@ public class MesDismantlingMainBaseVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime deleteTime;
@Schema(description = "工单状态", example = "1")
@Schema(description = "状态", example = "1")
private String status;
@Schema(description = "并发乐观锁", requiredMode = Schema.RequiredMode.REQUIRED)
@ -46,4 +46,7 @@ public class MesDismantlingMainBaseVO {
@Schema(description = "工单类型;报废、拆解", example = "1")
private String workbillType;
@Schema(description = "工单状态", example = "1")
private String workbillStatus;
}

3
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainExcelVO.java

@ -48,6 +48,9 @@ public class MesDismantlingMainExcelVO {
private String workbillType;
@ExcelProperty("工单状态")
private String workbillStatus;
@ExcelProperty("状态")
private String status;
}

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainExportReqVO.java

@ -17,7 +17,7 @@ public class MesDismantlingMainExportReqVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] deleteTime;
@Schema(description = "工单状态", example = "1")
@Schema(description = "状态", example = "1")
private String status;
@Schema(description = "并发乐观锁")
@ -45,4 +45,7 @@ public class MesDismantlingMainExportReqVO {
@Schema(description = "工单类型;报废、拆解", example = "1")
private String workbillType;
@Schema(description = "工单状态")
private String workbillStatus;
}

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesdismantlingmain/vo/MesDismantlingMainPageReqVO.java

@ -19,7 +19,7 @@ public class MesDismantlingMainPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] deleteTime;
@Schema(description = "工单状态", example = "1")
@Schema(description = "状态", example = "1")
private String status;
@Schema(description = "并发乐观锁")
@ -47,4 +47,7 @@ public class MesDismantlingMainPageReqVO extends PageParam {
@Schema(description = "工单类型;报废、拆解", example = "1")
private String workbillType;
@Schema(description = "工单状态")
private String workbillStatus;
}

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/dataobject/mesdismantlingmain/MesDismantlingMainDO.java

@ -64,4 +64,9 @@ public class MesDismantlingMainDO extends BaseDO {
*/
private String workbillType;
/**
* 工单状态
*/
private String workbillStatus;
}

16
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/mesdismantlingdetail/MesDismantlingDetailMapper.java

@ -7,6 +7,7 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingDetailBaseVO;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingDetailExportReqVO;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingDetailPageReqVO;
import com.win.module.mes.dal.dataobject.mesdismantlingdetail.MesDismantlingDetailDO;
@ -59,4 +60,19 @@ public interface MesDismantlingDetailMapper extends BaseMapperX<MesDismantlingDe
.orderByDesc(MesDismantlingDetailDO::getId));
}
default List<MesDismantlingDetailDO> selectList(MesDismantlingDetailBaseVO baseVO) {
return selectList(new LambdaQueryWrapperX<MesDismantlingDetailDO>()
.eqIfPresent(MesDismantlingDetailDO::getMasterId, baseVO.getMasterId())
.eqIfPresent(MesDismantlingDetailDO::getStatus, baseVO.getStatus())
.eqIfPresent(MesDismantlingDetailDO::getConcurrencyStamp, baseVO.getConcurrencyStamp())
.eqIfPresent(MesDismantlingDetailDO::getRemark, baseVO.getRemark())
.eqIfPresent(MesDismantlingDetailDO::getDeleter, baseVO.getDeleter())
.eqIfPresent(MesDismantlingDetailDO::getSiteId, baseVO.getSiteId())
.eqIfPresent(MesDismantlingDetailDO::getMainBiilno, baseVO.getMainBiilno())
.eqIfPresent(MesDismantlingDetailDO::getMaterialCode, baseVO.getMaterialCode())
.eqIfPresent(MesDismantlingDetailDO::getMaterialStauts, baseVO.getMaterialStauts())
.eqIfPresent(MesDismantlingDetailDO::getMaterialProcessstauts, baseVO.getMaterialProcessstauts())
.orderByDesc(MesDismantlingDetailDO::getId));
}
}

1
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/mesdismantlingmain/MesDismantlingMainMapper.java

@ -7,6 +7,7 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingMainBaseVO;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingMainExportReqVO;
import com.win.module.mes.controller.mesdismantlingmain.vo.MesDismantlingMainPageReqVO;
import com.win.module.mes.dal.dataobject.mesdismantlingmain.MesDismantlingMainDO;

1
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/enums/ErrorCodeConstants.java

@ -103,6 +103,7 @@ public interface ErrorCodeConstants {
ErrorCode DISMANTLING_MAIN_NOT_EXISTS = new ErrorCode(2_001_005_047, "报废拆解工单不存在");
ErrorCode DISMANTLING_MAIN_IMPORT_LIST_IS_EMPTY = new ErrorCode(2_001_005_048, "报废拆解工单为空");
ErrorCode DISMANTLING_DETAIL_NOT_EXISTS = new ErrorCode(2_001_005_049, "报废拆解工单明细不存在");
ErrorCode DISMANTLING_DETAIL_CREATE_MATERIAL_STATUS = new ErrorCode(2_001_005_050, "新增明细处理状态不能为完成");
// ========== 模具配置 2-001-006-000 ==========
ErrorCode PATTERN_TYPE_NOT_EXISTS = new ErrorCode(2_001_006_001, "模具类型信息不存在");

83
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesdismantlingdetail/MesDismantlingDetailServiceImpl.java

@ -6,6 +6,9 @@ import com.win.module.mes.dal.mysql.mesdismantlingmain.MesDismantlingMainMapper;
import com.win.module.mes.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.mes.dal.dataobject.mesdismantlingdetail.MesDismantlingDetailDO;
@ -32,7 +35,9 @@ public class MesDismantlingDetailServiceImpl implements MesDismantlingDetailServ
private MesDismantlingMainMapper dismantlingMainMapper;
@Override
@Transactional(propagation = Propagation.REQUIRED)
public Integer createDismantlingDetail(MesDismantlingDetailCreateReqVO createReqVO) {
validateDismantlingDetailCreateReq(createReqVO);
//主表对象
MesDismantlingMainDO mesDismantlingMainDO = dismantlingMainMapper.selectById(createReqVO.getMasterId());
if(mesDismantlingMainDO == null){
@ -43,25 +48,99 @@ public class MesDismantlingDetailServiceImpl implements MesDismantlingDetailServ
// 插入
MesDismantlingDetailDO dismantlingDetail = MesDismantlingDetailConvert.INSTANCE.convert(createReqVO);
dismantlingDetailMapper.insert(dismantlingDetail);
// 更新主表状态
MesDismantlingMainDO updateDO = new MesDismantlingMainDO();
updateDO.setId(createReqVO.getMasterId());
updateDO.setWorkbillStatus("2");//未完成
updateDO.setStatus("1");//可用
dismantlingMainMapper.updateById(updateDO);
// 返回
return dismantlingDetail.getId();
}
private void validateDismantlingDetailCreateReq(MesDismantlingDetailCreateReqVO createReqVO) {
if("1".equals(createReqVO.getMaterialProcessstauts())){
throw exception(DISMANTLING_DETAIL_CREATE_MATERIAL_STATUS);
}
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public Integer updateDismantlingDetail(MesDismantlingDetailUpdateReqVO updateReqVO) {
// 校验存在
validateDismantlingDetailExists(updateReqVO.getId());
MesDismantlingDetailDO mesDismantlingDetailDO = dismantlingDetailMapper.selectById(updateReqVO.getId());
// 更新
MesDismantlingDetailDO updateObj = MesDismantlingDetailConvert.INSTANCE.convert(updateReqVO);
return dismantlingDetailMapper.updateById(updateObj);
int res = dismantlingDetailMapper.updateById(updateObj);
// 更新主表
MesDismantlingDetailBaseVO mesDismantlingDetailBaseVO = new MesDismantlingDetailBaseVO();
mesDismantlingDetailBaseVO.setMainBiilno(updateReqVO.getMainBiilno());
List<MesDismantlingDetailDO> mesDismantlingDetailDOS = dismantlingDetailMapper.selectList(mesDismantlingDetailBaseVO);
//主表明细是否全完成
boolean b = true;
for (MesDismantlingDetailDO loop : mesDismantlingDetailDOS) {
if("2".equals(loop.getMaterialProcessstauts())){
b = false;
break;
}
}
if(b){
// 更新主表状态
MesDismantlingMainDO updateDO = new MesDismantlingMainDO();
updateDO.setId(mesDismantlingDetailDO.getMasterId());
updateDO.setWorkbillStatus("1");//完成
updateDO.setStatus("1");//可用
dismantlingMainMapper.updateById(updateDO);
}else{
// 更新主表状态
MesDismantlingMainDO updateDO = new MesDismantlingMainDO();
updateDO.setId(mesDismantlingDetailDO.getMasterId());
updateDO.setWorkbillStatus("2");//未完成
updateDO.setStatus("1");//可用
dismantlingMainMapper.updateById(updateDO);
}
return res;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public Integer deleteDismantlingDetail(Integer id) {
// 校验存在
validateDismantlingDetailExists(id);
MesDismantlingDetailDO mesDismantlingDetailDO = dismantlingDetailMapper.selectById(id);
// 删除
return dismantlingDetailMapper.deleteById(id);
int res = dismantlingDetailMapper.deleteById(id);
MesDismantlingDetailBaseVO mesDismantlingDetailBaseVO = new MesDismantlingDetailBaseVO();
mesDismantlingDetailBaseVO.setMainBiilno(mesDismantlingDetailDO.getMainBiilno());
List<MesDismantlingDetailDO> mesDismantlingDetailDOS = dismantlingDetailMapper.selectList(mesDismantlingDetailBaseVO);
//主表明细是否全完成
boolean b = true;
for (MesDismantlingDetailDO loop : mesDismantlingDetailDOS) {
if("2".equals(loop.getMaterialProcessstauts())){
b = false;
}
}
if(b){
// 更新主表状态
MesDismantlingMainDO updateDO = new MesDismantlingMainDO();
updateDO.setId(mesDismantlingDetailDO.getMasterId());
updateDO.setWorkbillStatus("1");//完成
updateDO.setStatus("1");//可用
dismantlingMainMapper.updateById(updateDO);
}
return res;
}
private void validateDismantlingDetailExists(Integer id) {

1
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesdismantlingmain/MesDismantlingMainServiceImpl.java

@ -42,6 +42,7 @@ public class MesDismantlingMainServiceImpl implements MesDismantlingMainService
createReqVO.setDismantlingBillno(number);
// 插入
MesDismantlingMainDO dismantlingMain = MesDismantlingMainConvert.INSTANCE.convert(createReqVO);
dismantlingMain.setStatus("1");
dismantlingMainMapper.insert(dismantlingMain);
// 返回
return dismantlingMain.getId();

Loading…
Cancel
Save