diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java index 98d8f85d..5924359d 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java @@ -56,6 +56,8 @@ public enum CodeEnum { UNQUALIFIED_NOTIFICATION("品质异常通知单", "RN", 4, "yyyyMMdd"), MATERIAL("物料", 6), + XZD_STORAGE("新中大入出单", "X", 3, "yyyyMM"), + ; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java index 4d291d18..3cc7cdac 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogMapper.java @@ -43,7 +43,7 @@ public interface StorageLogMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getMatName()), MaterialDO::getName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getCodeNo()), StorageLogDO::getCodeNo, reqVO.getCodeNo()) .like(!StringUtils.isEmpty(reqVO.getMatSpec()), MaterialDO::getSpec, reqVO.getMatSpec()) - .notIn(StorageLogDO::getStockMode,24,14) + .notIn(StorageLogDO::getStockMode, 24, 14) .eq(!ObjectUtil.isEmpty(reqVO.getWhId()), StorageLogDO::getWhId, reqVO.getWhId()); return selectPage(reqVO,query); } @@ -67,6 +67,7 @@ public interface StorageLogMapper extends BaseMapperX { .orderByDesc(StorageLogDO::getId); query + .notIn(StorageLogDO::getStockMode,24,14) .like(!StringUtils.isEmpty(reqVO.getMatName()), StorageLogDO::getMatName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getMatCode()), MaterialDO::getCode, reqVO.getMatCode()) .eq(!StringUtils.isEmpty(reqVO.getStockType()), StorageLogDO::getStockType, reqVO.getStockType()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java index 6ee08a06..75015017 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java @@ -1,6 +1,5 @@ package com.chanko.yunxi.mes.module.heli.service.storagelog; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -13,6 +12,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLo import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageNowAllReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; @@ -27,8 +27,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageMaterialMapp import com.chanko.yunxi.mes.module.heli.dal.mysql.wmsconfig.WmsConfigMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.wmsstorage.WmsStorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.wmsstoragedetail.WmsStorageDetailMapper; -import com.chanko.yunxi.mes.module.system.service.dict.DictDataService; -import com.chanko.yunxi.mes.module.system.service.dict.DictTypeService; +import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -37,12 +36,14 @@ import reactor.util.function.Tuples; import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.XZD_STORAGE; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.STORAGE_LOG_NOT_EXISTS; /** @@ -75,10 +76,7 @@ public class StorageLogServiceImpl implements StorageLogService { private WmsConfigMapper wmsConfigMapper; @Resource - private DictTypeService dictTypeService; - - @Resource - private DictDataService dictDataService; + private SerialNumberService serialNumberService; @Resource private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper; @@ -157,16 +155,13 @@ public class StorageLogServiceImpl implements StorageLogService { idSet = new HashSet<>(pageReqVO.getIds()); } for (StorageLogDO logDO : pageResult.getList()) { - if (logDO.getGoodsType() == 2) { - if (ObjectUtil.isNotEmpty(logDO.getMatName())) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(MaterialDO::getName, logDO.getMatName()); - List materialDOS = materialMapper.selectList(queryWrapper); - logDO.setMaterialDOList(materialDOS); - if (idSet.contains(logDO.getId()) && materialDOS.size() == 1) { - logDO.setMatId(materialDOS.get(0).getId()); - } - } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(logDO.getMatName() != null, MaterialDO::getName, logDO.getMatName()); + queryWrapper.like(logDO.getMatSpec() != null, MaterialDO::getSpec, logDO.getMatSpec()); + List materialDOS = materialMapper.selectList(queryWrapper); + logDO.setMaterialDOList(materialDOS); + if (idSet.contains(logDO.getId()) && materialDOS.size() == 1) { + logDO.setMatId(materialDOS.get(0).getId()); } } return pageResult; @@ -466,7 +461,11 @@ public class StorageLogServiceImpl implements StorageLogService { storageDO.setStockType(stockType); storageDO.setBusiType(stockType == 1 ? configDO.getBusiTypeIn() : configDO.getBusiTypeOut()); storageDO.setWhName(configDO.getWhName()); - storageDO.setStockNo(IdUtil.getSnowflakeNextIdStr()); + // 生成订单号 X202604+3位流水号 001 002 + SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(XZD_STORAGE.name(), new SimpleDateFormat("yyyyMM").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber() + 1); + serialNumberService.updateSerialNumber(serialNumberDO); + storageDO.setStockNo(XZD_STORAGE.getCode(serialNumberDO.getSerialNumber().toString())); storageDO.setBusiDate(LocalDate.now()); storageDO.setSupplierName(supplierName); storageDO.setPriceType(priceType); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/xzdstoragelog/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/xzdstoragelog/index.vue index 9c3bc4ed..efb626ee 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/xzdstoragelog/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/xzdstoragelog/index.vue @@ -163,7 +163,7 @@