diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/spot/IMesSpotCheckOrderService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/spot/IMesSpotCheckOrderService.java index 81efbaf..e31e65a 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/spot/IMesSpotCheckOrderService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/spot/IMesSpotCheckOrderService.java @@ -104,5 +104,7 @@ public interface IMesSpotCheckOrderService { @ApiOperation(value = "新增信息", notes = "新增信息") MesSpotCheckOrder insert(MesSpotCheckOrder bean); + @ApiOperation(value = "删除点检单", notes = "删除点检单") + void deleteBatchIds(Long[] ids, String userName, String organizeCode); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/spot/MesSpotCheckOrderController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/spot/MesSpotCheckOrderController.java index c5ac761..2cd578d 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/spot/MesSpotCheckOrderController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/spot/MesSpotCheckOrderController.java @@ -193,5 +193,21 @@ public class MesSpotCheckOrderController { } } + @PostMapping("/batch-delete-ids") + @ApiOperation(value = "重新点检") + public ResultBean deleteBatchIds(Long[] ids, String userName, String organizeCode) { + try { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(userName) || null == ids) { + throw new ImppBusiException("请检查参数"); + } + spotCheckOrderService.deleteBatchIds(ids, userName, organizeCode); + return ResultBean.success("重新点检成功"); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java index 0b96830..2de3367 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java @@ -665,5 +665,56 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService { } } + @Override + public void deleteBatchIds(Long[] ids, String userName, String organizeCode) { + for (Long id : ids) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(id, MesPcnExtConstWords.ID, ddlPackBean); + MesSpotCheckOrder spotCheckOrder = spotCheckOrderRepository.getByProperty(ddlPackBean); + if (null == spotCheckOrder) continue; + if (!StringUtils.isEmpty(spotCheckOrder.getStatus()) && spotCheckOrder.getStatus().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.COMPLETE.getValue()) == 0 && + !StringUtils.isEmpty(spotCheckOrder.getSpotCheckOrderResult()) && spotCheckOrder.getSpotCheckOrderResult().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_RESULT_TYPE.OK.getValue()) == 0) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】点检单状态为【%s】,且点检结果为OK,不允许修改,请检查数据", spotCheckOrder.getSpotCheckId(), MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.valueOfDescription(spotCheckOrder.getStatus())) + .build(); + } + + spotCheckOrder.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + spotCheckOrder.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + ConvertBean.serviceModelUpdate(spotCheckOrder, userName); + //获取点检方案明细 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(id, MesPcnExtConstWords.PID, packBean); + List detailList = spotCheckOrderResultRepository.findByHqlWhere(packBean); + if (!CollectionUtils.isEmpty(detailList)) { + detailList.forEach(k -> { + k.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + k.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + k.setSystemSyncDatetime(""); + ConvertBean.serviceModelUpdate(k, userName); + }); + spotCheckOrderResultRepository.saveAll(detailList); + } + + //获取点检方案零件 主表零件表 spotCheckId-pid关联 + //获取点检单零件号 + DdlPackBean orderPartPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(id, MesPcnExtConstWords.SPOT_CHECK_ORDER_ID, orderPartPackBean); + List oldOrderPartList = spotCheckOrderPartRepository.findByHqlWhere(orderPartPackBean); + if (!CollectionUtils.isEmpty(oldOrderPartList)) { + oldOrderPartList.forEach(k -> { + k.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + k.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + k.setSystemSyncDatetime(""); + ConvertBean.serviceModelUpdate(k, userName); + }); + spotCheckOrderPartRepository.saveAll(oldOrderPartList); + } + + } + } + } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index 0f1fa42..f017109 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -283,6 +283,8 @@ public class MesPcnExtConstWords { public static final String SHIPPING_TIME = "shippingTime"; //扫描类别 public static final String SCAN_TYPE = "scanType"; + //点检单id + public static final String SPOT_CHECK_ORDER_ID = "spotCheckOrderId"; //BaseBean字段不包含工厂, 用于对象复制剔除属性BeanUtils.copyProperties(Object source, Object target, String... ignoreProperties)