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