fix(xzdstoragelog): 优化物料选择显示和价格类型处理
This commit is contained in:
parent
918c57e233
commit
35b3451a53
@ -1,13 +1,12 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.wmsstoragedetail.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 新中大入出库单子 Response VO")
|
||||
@Data
|
||||
@ -30,6 +29,10 @@ public class WmsStorageDetailRespVO {
|
||||
@ExcelProperty("物料编码")
|
||||
private String matCode;
|
||||
|
||||
@Schema(description = "物料名称")
|
||||
@ExcelProperty("物料名称")
|
||||
private String matName;
|
||||
|
||||
@Schema(description = "库位", example = "李四")
|
||||
@ExcelProperty("库位")
|
||||
private String rgName;
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.wmsstoragedetail;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 新中大入出库单子 DO
|
||||
@ -58,4 +57,6 @@ public class WmsStorageDetailDO extends BaseDO {
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
private String matName;
|
||||
|
||||
}
|
||||
|
||||
@ -67,7 +67,8 @@ public interface StorageLogMapper extends BaseMapperX<StorageLogDO> {
|
||||
.orderByDesc(StorageLogDO::getId);
|
||||
|
||||
query
|
||||
.notIn(StorageLogDO::getStockMode, 24, 14)
|
||||
.ne(WarehouseDO::getWhName, "虚拟仓库")
|
||||
// .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())
|
||||
|
||||
@ -156,6 +156,7 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
}
|
||||
for (StorageLogDO logDO : pageResult.getList()) {
|
||||
LambdaQueryWrapper<MaterialDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MaterialDO::getStatus, 1);
|
||||
queryWrapper.like(logDO.getMatName() != null, MaterialDO::getName, logDO.getMatName());
|
||||
queryWrapper.like(logDO.getMatSpec() != null, MaterialDO::getSpec, logDO.getMatSpec());
|
||||
List<MaterialDO> materialDOS = materialMapper.selectList(queryWrapper);
|
||||
@ -426,10 +427,9 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
|
||||
// 1|临时暂估价 价格类型是这样的,用 | 分割会有问题
|
||||
groupMap.forEach((key, logs) -> {
|
||||
String[] parts = key.split("/");
|
||||
String priceType = parts[0];
|
||||
String supplierName = parts[1]; // 1|临时暂估价 价格类型是这样的,用 | 分割会有问题
|
||||
|
||||
String[] parts = key.split("/", -1);
|
||||
String priceType = parts[0].isEmpty() ? null : parts[0];
|
||||
String supplierName = parts[1].isEmpty() ? null : parts[1];
|
||||
createAndSaveStorage(logs, configDO, userId, now, 1, priceType, supplierName);
|
||||
});
|
||||
}
|
||||
@ -461,6 +461,9 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
storageDO.setStockType(stockType);
|
||||
storageDO.setBusiType(stockType == 1 ? configDO.getBusiTypeIn() : configDO.getBusiTypeOut());
|
||||
storageDO.setWhName(configDO.getWhName());
|
||||
if (stockType == 1){
|
||||
storageDO.setPriceType(priceType);
|
||||
}
|
||||
// 生成订单号 X202604+3位流水号 001 002
|
||||
SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(XZD_STORAGE.name(), new SimpleDateFormat("yyyyMM").format(new Date()));
|
||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber() + 1);
|
||||
@ -468,7 +471,6 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
storageDO.setStockNo(XZD_STORAGE.getCode(serialNumberDO.getSerialNumber().toString()));
|
||||
storageDO.setBusiDate(LocalDate.now());
|
||||
storageDO.setSupplierName(supplierName);
|
||||
storageDO.setPriceType(priceType);
|
||||
storageDO.setDeptName(configDO.getDeptName());
|
||||
storageDO.setStatus(1);
|
||||
storageDO.setStockTime(now);
|
||||
@ -498,9 +500,12 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
detailDO.setXzdWmsId(storageDO.getId());
|
||||
detailDO.setStockNo(storageDO.getStockNo());
|
||||
detailDO.setMatCode(logDO.getMatCode());
|
||||
detailDO.setMatName(logDO.getMatName());
|
||||
detailDO.setRgName(configDO.getRgName());
|
||||
detailDO.setStockNum(logDO.getStorageOkQty());
|
||||
if (logDO.getStockType() == 1){
|
||||
detailDO.setPrice(logDO.getPrice());
|
||||
}
|
||||
detailDO.setCreateTime(now);
|
||||
detailDO.setUpdateTime(now);
|
||||
detailDO.setCreator(userId);
|
||||
@ -517,7 +522,7 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
}
|
||||
|
||||
private String buildPriceSupplierKey(String priceType, String supplierName) {
|
||||
return priceType + "/" + supplierName;
|
||||
return (priceType == null ? "" : priceType) + "/" + (supplierName == null ? "" : supplierName);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@
|
||||
>
|
||||
<el-table-column type="index" width="80" label="序号" align="center" />
|
||||
<el-table-column label="物料编码" align="center" prop="matCode" min-width="120" />
|
||||
<el-table-column label="物料名称" align="center" prop="matName" min-width="120" />
|
||||
<el-table-column label="库位" align="center" prop="rgName" min-width="120" />
|
||||
<el-table-column label="数量" align="center" prop="stockNum" min-width="100" />
|
||||
<el-table-column label="单价" align="center" prop="price" min-width="100" />
|
||||
|
||||
@ -176,7 +176,7 @@
|
||||
<el-option
|
||||
v-for="dict in scope.row.materialDOList"
|
||||
:key="dict.id"
|
||||
:label="dict.code + ' ' + dict.name"
|
||||
:label="dict.code + ' ' + dict.name + ' ' + dict.spec"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
@ -190,12 +190,8 @@
|
||||
<el-table-column label="价格类型" align="center" prop="priceType" min-width="190">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.priceType" placeholder="请选择" class="!w-full" clearable>
|
||||
<el-option
|
||||
v-for="item in getIntDictOptions(DICT_TYPE.HELI_PRICE_TYPE)"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-option label="1|临时暂估价" value="1|临时暂估价" />
|
||||
<el-option label="3|实价" value="3|实价" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user