Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -28,6 +28,7 @@ public interface IToErpService {
|
||||
String login();
|
||||
|
||||
AjaxResult callErp(ReceiveOutStockConfirm receiveOutStockConfirm);
|
||||
|
||||
AjaxResult receiveOutStockList();
|
||||
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -130,10 +131,10 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
AspResponse responseBean = JSONUtil.toBean(body, AspResponse.class);
|
||||
for (List<String> row : responseBean.getBody().getSource().getTable().getRows()) {
|
||||
BasProduct product = new BasProduct();
|
||||
product.setProductGuid(row.get(0));
|
||||
product.setProductId(row.get(0));
|
||||
product.setProductGuid(row.get(2));
|
||||
product.setProductId(row.get(2));
|
||||
product.setProductName(row.get(1));
|
||||
product.setCargoNo(row.get(2));
|
||||
product.setCargoNo(row.get(0));
|
||||
product.setSpec(row.get(3));
|
||||
product.setUnit(row.get(4));
|
||||
product.setSpare1(row.get(5));
|
||||
@@ -283,9 +284,12 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
outStockout.setWarehouseId(Convert.toStr(row.get(2)));
|
||||
outStockout.setErpStockoutId(Convert.toStr(row.get(0)));
|
||||
outStockout.setStockoutGuid(stockOutId);
|
||||
outStockout.setCreateDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
outStockout.setCreateDate(Convert.toStr(row.get(3)));
|
||||
outStockout.setOutType("1");
|
||||
outStockout.setStatus("1");
|
||||
outStockout.setFID(Convert.toStr(row.get(1)));
|
||||
outStockout.setStockoutSource("2");
|
||||
outStockout.setCustomerNo(Convert.toStr(row.get(24)));
|
||||
ErpOutStock erpOutStock1 = erpOutStockService.selectErpOutStockByStockoutId(erpOutStock.getStockoutId());
|
||||
OutStockout outStockout1 = outStockoutService.selectOutStockoutByStockoutGuid(outStockout.getStockoutGuid());
|
||||
if (ObjUtil.isNotNull(erpOutStock1)){
|
||||
@@ -346,6 +350,8 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
outStockoutDetail.setQuantity(detail.getQuantity());
|
||||
outStockoutDetail.setProductName(detail.getProductName());
|
||||
outStockoutDetail.setFid(Convert.toStr(detail.getId()));
|
||||
outStockoutDetail.setAssignNum(BigDecimal.valueOf(0));
|
||||
outStockoutDetail.setAllotQuantity(BigDecimal.valueOf(0));
|
||||
ErpOutStockDetail erpOutStockDetail1 = erpOutStockDetailService.selectErpOutStockDetailById(detail.getId());
|
||||
OutStockoutDetail outStockoutDetail1 = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(outStockoutDetail.getStockoutDetailId());
|
||||
if (ObjUtil.isNotNull(erpOutStockDetail1)){
|
||||
|
||||
@@ -107,6 +107,18 @@ public class KpiController extends BaseController {
|
||||
return success(kpiService.getRoadways(warehouseId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取货位楼层数据
|
||||
*
|
||||
* @param warehouseId 仓库ID
|
||||
* @return 货位楼层数据
|
||||
*/
|
||||
|
||||
@GetMapping("/getFloors")
|
||||
public AjaxResult getFloors(@RequestParam("warehouseId") String warehouseId){
|
||||
return success(kpiService.getFloors(warehouseId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取货位排数据
|
||||
*
|
||||
@@ -116,23 +128,22 @@ public class KpiController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/getPlatoons")
|
||||
public AjaxResult getPlatoons(@RequestParam("warehouseId") String warehouseId,
|
||||
@RequestParam("roadwayId") String roadwayId){
|
||||
return success(kpiService.getPlatoons(warehouseId,roadwayId));
|
||||
@RequestParam("theFloor") String theFloor){
|
||||
return success(kpiService.getPlatoons(warehouseId,theFloor));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取库存平面图
|
||||
*
|
||||
* @param warehouseId 仓库ID
|
||||
* @param roadwayId 巷道ID
|
||||
* @param thePlatoon 排
|
||||
* @param theFloor 层数
|
||||
* @return 库存平面图数据
|
||||
*/
|
||||
@GetMapping("/getChartData")
|
||||
public AjaxResult getChartData(@RequestParam("warehouseId") String warehouseId,
|
||||
@RequestParam("roadwayId") String roadwayId,
|
||||
@RequestParam("thePlatoon") String thePlatoon){
|
||||
return success(kpiService.getChartData(warehouseId,roadwayId,thePlatoon));
|
||||
@RequestParam("theFloor") String theFloor
|
||||
){
|
||||
return success(kpiService.getChartData(warehouseId,theFloor));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,7 +40,7 @@ public interface KpiService {
|
||||
|
||||
Map<String, Object> getPlatoons(String warehouseId, String roadwayId);
|
||||
|
||||
Map<String,Object> getChartData(String warehouseId, String roadwayId, String thePlatoon);
|
||||
Map<String,Object> getChartData(String warehouseId, String theFloor);
|
||||
|
||||
Map<String,Object> getChartMag(String warehouseId, String theColumn, String theFloor, String thePlatoon);
|
||||
|
||||
@@ -48,4 +48,6 @@ public interface KpiService {
|
||||
|
||||
// 新增:根据仓库和巷道统计各状态货位数量
|
||||
Map<String, Object> getSpaceStatusCounts(String warehouseId, String roadwayId);
|
||||
|
||||
Map<String, Object> getFloors(String warehouseId);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class KpiServiceImpl implements KpiService
|
||||
|
||||
@Autowired
|
||||
private BasCargoSpaceMapper basCargoSpaceMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private BasStockMapper basStockMapper;
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ public class KpiServiceImpl implements KpiService
|
||||
Map<String, Integer> roadwayCount = new HashMap<>();
|
||||
|
||||
for (MydoJob job : list) {
|
||||
// 检查入库作业标识是否小于10
|
||||
// 检查入库作业标识是否小于20
|
||||
if (job.getInOrOut() == null || Integer.parseInt(job.getInOrOut()) >= 20) {
|
||||
continue;
|
||||
}
|
||||
@@ -317,6 +317,36 @@ public class KpiServiceImpl implements KpiService
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getFloors(String warehouseId) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
|
||||
// 查询指定仓库和巷道的排号信息
|
||||
BasCargoSpace queryParams = new BasCargoSpace();
|
||||
queryParams.setWarehouseId(warehouseId);
|
||||
List<BasCargoSpace> list = basCargoSpaceMapper.selectBasCargoSpaceList(queryParams);
|
||||
|
||||
// 使用TreeSet去重并排序排号
|
||||
Set<Long> platoonSet = new TreeSet<>();
|
||||
for (BasCargoSpace space : list) {
|
||||
if (space.getTheFloor() != null) {
|
||||
platoonSet.add(space.getTheFloor());
|
||||
}
|
||||
}
|
||||
|
||||
// 转换为前端下拉框所需的格式
|
||||
List<Map<String, String>> platoons = new ArrayList<>();
|
||||
for (Long platoon : platoonSet) {
|
||||
Map<String, String> platoonMap = new HashMap<>();
|
||||
platoonMap.put("value", platoon.toString());
|
||||
platoonMap.put("label", platoon + "层");
|
||||
platoons.add(platoonMap);
|
||||
}
|
||||
|
||||
response.put("data", platoons);
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getRoadways(String warehouseId){
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
@@ -348,13 +378,13 @@ public class KpiServiceImpl implements KpiService
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,Object> getPlatoons(String warehouseId, String roadwayId){
|
||||
public Map<String,Object> getPlatoons(String warehouseId, String theFloor){
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
|
||||
// 查询指定仓库和巷道的排号信息
|
||||
BasCargoSpace queryParams = new BasCargoSpace();
|
||||
queryParams.setWarehouseId(warehouseId);
|
||||
queryParams.setRoadwayId(roadwayId);
|
||||
queryParams.setTheFloor(Long.valueOf(theFloor));
|
||||
List<BasCargoSpace> list = basCargoSpaceMapper.selectBasCargoSpaceList(queryParams);
|
||||
|
||||
// 使用TreeSet去重并排序排号
|
||||
@@ -379,14 +409,11 @@ public class KpiServiceImpl implements KpiService
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,Object> getChartData(String warehouseId, String roadwayId, String thePlatoon) {
|
||||
public Map<String,Object> getChartData(String warehouseId, String theFloor) {
|
||||
// 查询指定仓库、巷道和排号的货位信息
|
||||
BasCargoSpace queryParams = new BasCargoSpace();
|
||||
queryParams.setWarehouseId(warehouseId);
|
||||
queryParams.setRoadwayId(roadwayId);
|
||||
if (thePlatoon != null) {
|
||||
queryParams.setThePlatoon(Long.parseLong(thePlatoon));
|
||||
}
|
||||
queryParams.setTheFloor(Long.valueOf(theFloor));
|
||||
List<BasCargoSpace> list = basCargoSpaceMapper.selectBasCargoSpaceList(queryParams);
|
||||
|
||||
// 用于存储不同状态的货位坐标
|
||||
@@ -405,11 +432,11 @@ public class KpiServiceImpl implements KpiService
|
||||
for (BasCargoSpace space : list) {
|
||||
// 收集列和层信息
|
||||
columnSet.add(space.getTheColumn());
|
||||
floorSet.add(space.getTheFloor());
|
||||
floorSet.add(space.getThePlatoon());
|
||||
|
||||
// 根据状态分类处理
|
||||
if (space.getStatus() != null) {
|
||||
String coordinate = "[" + space.getTheColumn() + "," + space.getTheFloor() + "," + space.getStatus() + "],";
|
||||
String coordinate = "[" + space.getTheColumn() + "," + space.getThePlatoon() + "," + space.getStatus() + "],";
|
||||
switch (Integer.parseInt(space.getStatus())) {
|
||||
case 1: empty += coordinate; break;
|
||||
case 2: full += coordinate; break;
|
||||
@@ -424,15 +451,19 @@ public class KpiServiceImpl implements KpiService
|
||||
// 构建列和层的标签
|
||||
StringBuilder columnLabels = new StringBuilder();
|
||||
for (Long col : columnSet) {
|
||||
columnLabels.append("'").append(col).append(MessageUtils.message("kpi.spacePlan.column")).append("',");
|
||||
columnLabels.append("'").append(col).append("列").append("',");
|
||||
}
|
||||
String column = "[" + columnLabels.toString() + "]";
|
||||
String column = "[" + columnLabels + "]";
|
||||
|
||||
StringBuilder floorLabels = new StringBuilder();
|
||||
for (Long floor : floorSet) {
|
||||
floorLabels.append("'").append(floor).append(MessageUtils.message("kpi.spacePlan.floor")).append("',");
|
||||
if (floor==7){
|
||||
floorLabels.append("'").append(6).append("排").append("',");
|
||||
}
|
||||
floorLabels.append("'").append(floor).append("排").append("',");
|
||||
}
|
||||
String floor = "[" + floorLabels.toString() + "]";
|
||||
//floorLabels.append("6排");
|
||||
String floor = "[" + floorLabels + "]";
|
||||
|
||||
// 返回结果
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@@ -469,7 +500,7 @@ public class KpiServiceImpl implements KpiService
|
||||
info.append("货位名称:").append(space.getCargoSpaceName()).append("<br>");
|
||||
info.append("是否锁定:").append("Y".equals(space.getLocked()) ? "是" : "否").append("<br>");
|
||||
info.append("托盘条码:").append(space.getTrayCode() != null ? space.getTrayCode() : "无").append("<br>");
|
||||
|
||||
|
||||
// 根据cargoSpaceId查询BasStock表,获取productId和productName
|
||||
BasStock stockQuery = new BasStock();
|
||||
stockQuery.setCargoSpaceId(space.getCargoSpaceId());
|
||||
@@ -489,7 +520,7 @@ public class KpiServiceImpl implements KpiService
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult getInAnalysisByData(String warehouseId, String startTime, String endTime,String inOut) {
|
||||
public AjaxResult getInAnalysisByData(String warehouseId, String startTime, String endTime, String inOut) {
|
||||
Map<String,Object> res = new HashMap<>();
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setWarehouseId(warehouseId);
|
||||
@@ -497,47 +528,92 @@ public class KpiServiceImpl implements KpiService
|
||||
mydoJobParam.setCreateLeftTime(startTime);
|
||||
mydoJobParam.setCreateRightTime(endTime);
|
||||
mydoJobParam.setInOut(inOut);
|
||||
List<DateTime> datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startTime), DateUtil.parseDate(endTime), DateField.DAY_OF_MONTH);
|
||||
List<MydoJob> list = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJobParam);
|
||||
|
||||
// 获取所有巷道ID(1和2)
|
||||
List<String> roadwayIds = Arrays.asList("1", "2");
|
||||
|
||||
|
||||
// 收集所有涉及的楼层
|
||||
Set<Long> floorSet = new HashSet<>();
|
||||
Map<String, BasCargoSpace> cargoSpaceCache = new HashMap<>();
|
||||
|
||||
// 遍历作业记录,收集涉及的货位ID并查询对应楼层
|
||||
for (MydoJob job : list) {
|
||||
if (job.getCargoSpaceId() != null) {
|
||||
// 检查缓存中是否有该货位信息
|
||||
if (!cargoSpaceCache.containsKey(job.getCargoSpaceId())) {
|
||||
// 使用现有的查询方法查询货位信息
|
||||
BasCargoSpace queryParam = new BasCargoSpace();
|
||||
queryParam.setCargoSpaceId(job.getCargoSpaceId());
|
||||
List<BasCargoSpace> cargoSpaces = basCargoSpaceMapper.selectBasCargoSpaceList(queryParam);
|
||||
|
||||
if (!cargoSpaces.isEmpty()) {
|
||||
BasCargoSpace cargoSpace = cargoSpaces.get(0);
|
||||
cargoSpaceCache.put(job.getCargoSpaceId(), cargoSpace);
|
||||
if (cargoSpace.getTheFloor() != null) {
|
||||
floorSet.add(cargoSpace.getTheFloor());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
BasCargoSpace cachedSpace = cargoSpaceCache.get(job.getCargoSpaceId());
|
||||
if (cachedSpace.getTheFloor() != null) {
|
||||
floorSet.add(cachedSpace.getTheFloor());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 将楼层排序
|
||||
List<Long> floors = new ArrayList<>(floorSet);
|
||||
Collections.sort(floors);
|
||||
|
||||
// 生成日期范围
|
||||
List<DateTime> datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startTime), DateUtil.parseDate(endTime), DateField.DAY_OF_MONTH);
|
||||
|
||||
List<String> xAxis = new ArrayList<>();
|
||||
List<Map<String, Object>> series = new ArrayList<>();
|
||||
|
||||
// 为每个巷道创建一个系列
|
||||
for (String roadwayId : roadwayIds) {
|
||||
|
||||
// 为每个楼层创建一个系列
|
||||
for (Long floor : floors) {
|
||||
Map<String, Object> seriesItem = new HashMap<>();
|
||||
seriesItem.put("name", roadwayId + "号巷道");
|
||||
seriesItem.put("name", floor + "层");
|
||||
seriesItem.put("type", "line");
|
||||
List<Long> data = new ArrayList<>();
|
||||
seriesItem.put("data", data);
|
||||
series.add(seriesItem);
|
||||
}
|
||||
|
||||
// 按日期统计每个巷道的数量
|
||||
|
||||
// 按日期统计每个楼层的数量
|
||||
for (DateTime dateTime : datesBetween) {
|
||||
xAxis.add(DateUtil.format(dateTime, "yyyy-MM-dd"));
|
||||
|
||||
// 统计每个巷道在当天的数量
|
||||
for (int i = 0; i < roadwayIds.size(); i++) {
|
||||
String roadwayId = roadwayIds.get(i);
|
||||
long count = list.stream()
|
||||
.filter(mydoJob -> roadwayId.equals(mydoJob.getRoadwayId())
|
||||
&& DateUtil.isIn(mydoJob.getCreateTime(), DateUtil.beginOfDay(dateTime), DateUtil.endOfDay(dateTime)))
|
||||
.count();
|
||||
|
||||
|
||||
// 统计每个楼层在当天的数量
|
||||
for (int i = 0; i < floors.size(); i++) {
|
||||
Long floor = floors.get(i);
|
||||
long count = 0;
|
||||
|
||||
// 遍历作业记录,统计该楼层在当天的作业数量
|
||||
for (MydoJob job : list) {
|
||||
if (DateUtil.isIn(job.getCreateTime(), DateUtil.beginOfDay(dateTime), DateUtil.endOfDay(dateTime))) {
|
||||
// 查找该作业对应的货位是否属于当前楼层
|
||||
if (job.getCargoSpaceId() != null && cargoSpaceCache.containsKey(job.getCargoSpaceId())) {
|
||||
BasCargoSpace space = cargoSpaceCache.get(job.getCargoSpaceId());
|
||||
if (space.getTheFloor() != null && space.getTheFloor().equals(floor)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Long> data = (List<Long>) series.get(i).get("data");
|
||||
data.add(count);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
res.put("xAxis", xAxis);
|
||||
res.put("series", series);
|
||||
return AjaxResult.success(res);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ public class OutStockoutController extends BaseController {
|
||||
public TableDataInfo list(OutStockout outStockout) {
|
||||
startPage();
|
||||
List<OutStockout> list = new ArrayList<>();
|
||||
if(Integer.parseInt(outStockout.getStatus())<4){
|
||||
list =outStockoutService.selectOutStockoutList(outStockout);
|
||||
}else{
|
||||
list=outStockoutFinishService.selectOutStockoutFinishListByOutStockout(outStockout);
|
||||
if (Integer.parseInt(outStockout.getStatus()) < 4) {
|
||||
list = outStockoutService.selectOutStockoutList(outStockout);
|
||||
} else {
|
||||
list = outStockoutFinishService.selectOutStockoutFinishListByOutStockout(outStockout);
|
||||
}
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@@ -94,8 +94,17 @@ public class OutStockout extends BaseEntity
|
||||
|
||||
private String remark;
|
||||
|
||||
private String theme;
|
||||
|
||||
private List<String> typeData;
|
||||
|
||||
public String getTheme() {
|
||||
return theme;
|
||||
}
|
||||
|
||||
public void setTheme(String theme) {
|
||||
this.theme = theme;
|
||||
}
|
||||
|
||||
public String getSupplierName() {
|
||||
return supplierName;
|
||||
|
||||
@@ -135,7 +135,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
String username = SecurityContextHolder.getContext().getAuthentication().getName();
|
||||
outStockout.setCreateManId(username);
|
||||
outStockout.setStatus("1");
|
||||
outStockout.setStockoutSource("0");
|
||||
outStockout.setStockoutSource("1");
|
||||
// outStockout.setWarehouseId("01");
|
||||
for (int i = 0; i < detailList.size(); i++) {
|
||||
OutStockoutDetail outStockoutDetail = detailList.get(i);
|
||||
@@ -155,7 +155,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus,String exitId) {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
if (status.equals("4")){
|
||||
if ("4".equals(status)){
|
||||
for(String stockoutId:stockoutIds){
|
||||
ReceiveOutStockConfirm receiveOutStockConfirm = new ReceiveOutStockConfirm();
|
||||
OutStockout outStockout = selectOutStockoutByStockoutGuid(stockoutId);
|
||||
|
||||
@@ -23,9 +23,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 库存物资Controller
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2025-12-08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/out/productAndStock")
|
||||
@@ -45,17 +45,6 @@ public class ViewProductAndStockController extends BaseController
|
||||
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock);
|
||||
return getDataTable(list);
|
||||
}
|
||||
/**
|
||||
* 查询库存物资列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('out:productAndStock:list')")
|
||||
@GetMapping("/pd/list")
|
||||
public TableDataInfo pdList(ViewProductAndStock viewProductAndStock)
|
||||
{
|
||||
startPage();
|
||||
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockPdList(viewProductAndStock);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出库存物资列表
|
||||
|
||||
@@ -9,135 +9,29 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
||||
* 库存物资对象 view_product_and_stock
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-10-21
|
||||
* @date 2025-12-08
|
||||
*/
|
||||
public class ViewProductAndStock
|
||||
public class ViewProductAndStock extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 序号 */
|
||||
@Excel(name = "序号")
|
||||
/** 唯一id */
|
||||
@Excel(name = "唯一id")
|
||||
private Long onlyIdentity;
|
||||
|
||||
/** 物料编码 */
|
||||
@Excel(name = "物料编码")
|
||||
/** 产品编码 */
|
||||
@Excel(name = "产品编码")
|
||||
private String productId;
|
||||
|
||||
/** 批次 */
|
||||
@Excel(name = "批次")
|
||||
private String lotNo;
|
||||
|
||||
/** 物料名称 */
|
||||
@Excel(name = "物料名称")
|
||||
/** 产品名称 */
|
||||
@Excel(name = "产品名称")
|
||||
private String productName;
|
||||
|
||||
/** 库存数量 */
|
||||
@Excel(name = "库存数量")
|
||||
private String quantity;
|
||||
|
||||
/** 仓库 */
|
||||
@Excel(name = "仓库")
|
||||
private String warehouseId;
|
||||
|
||||
/** 来源 */
|
||||
@Excel(name = "来源")
|
||||
private String spare1;
|
||||
|
||||
/** 套账 */
|
||||
@Excel(name = "套账")
|
||||
private String spare3;
|
||||
|
||||
/** 用途 */
|
||||
@Excel(name = "用途")
|
||||
private String spare4;
|
||||
|
||||
/** 台次 */
|
||||
@Excel(name = "台次")
|
||||
private String spare5;
|
||||
|
||||
/** 入库单价 */
|
||||
@Excel(name = "入库单价")
|
||||
private String spare6;
|
||||
|
||||
/** 状态 */
|
||||
@Excel(name = "状态")
|
||||
private String voltage;
|
||||
|
||||
/** 件次 */
|
||||
@Excel(name = "件次")
|
||||
private String power;
|
||||
|
||||
/** 供应商 */
|
||||
// @Excel(name = "供应商")
|
||||
private String phase;
|
||||
|
||||
private String supplierName;
|
||||
|
||||
/** 管理号 */
|
||||
@Excel(name = "管理号")
|
||||
private String distribution;
|
||||
|
||||
/** 合同号 */
|
||||
@Excel(name = "合同号")
|
||||
private String orderId;
|
||||
|
||||
/** 质量等级 */
|
||||
@Excel(name = "质量等级")
|
||||
private String spare8;
|
||||
|
||||
/** 单价 */
|
||||
@Excel(name = "单价")
|
||||
private String price;
|
||||
|
||||
/** 图号 */
|
||||
@Excel(name = "图号")
|
||||
private String cargoNo;
|
||||
|
||||
/** 物料状态 */
|
||||
@Excel(name = "物料状态")
|
||||
private String productStatus;
|
||||
|
||||
/** 常用编码 */
|
||||
@Excel(name = "常用编码")
|
||||
private String parentId;
|
||||
|
||||
/** 启用标识 */
|
||||
@Excel(name = "启用标识")
|
||||
private String spare7;
|
||||
|
||||
@Excel(name = "创建时间")
|
||||
private String createTime;
|
||||
|
||||
/** 创建用户 */
|
||||
@Excel(name = "创建用户")
|
||||
private String createSys;
|
||||
|
||||
/** 规格型号 */
|
||||
@Excel(name = "规格型号")
|
||||
private String spec;
|
||||
|
||||
/** 单位 */
|
||||
@Excel(name = "单位")
|
||||
private String unit;
|
||||
|
||||
|
||||
public String getSupplierName() {
|
||||
return supplierName;
|
||||
}
|
||||
|
||||
public void setSupplierName(String supplierName) {
|
||||
this.supplierName = supplierName;
|
||||
}
|
||||
|
||||
public String getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(String createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public void setOnlyIdentity(Long onlyIdentity)
|
||||
public void setOnlyIdentity(Long onlyIdentity)
|
||||
{
|
||||
this.onlyIdentity = onlyIdentity;
|
||||
}
|
||||
@@ -157,16 +51,6 @@ public class ViewProductAndStock
|
||||
return productId;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo)
|
||||
{
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getLotNo()
|
||||
{
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setProductName(String productName)
|
||||
{
|
||||
this.productName = productName;
|
||||
@@ -187,235 +71,13 @@ public class ViewProductAndStock
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setWarehouseId(String warehouseId)
|
||||
{
|
||||
this.warehouseId = warehouseId;
|
||||
}
|
||||
|
||||
public String getWarehouseId()
|
||||
{
|
||||
return warehouseId;
|
||||
}
|
||||
|
||||
public void setSpare1(String spare1)
|
||||
{
|
||||
this.spare1 = spare1;
|
||||
}
|
||||
|
||||
public String getSpare1()
|
||||
{
|
||||
return spare1;
|
||||
}
|
||||
|
||||
public void setSpare3(String spare3)
|
||||
{
|
||||
this.spare3 = spare3;
|
||||
}
|
||||
|
||||
public String getSpare3()
|
||||
{
|
||||
return spare3;
|
||||
}
|
||||
|
||||
public void setSpare4(String spare4)
|
||||
{
|
||||
this.spare4 = spare4;
|
||||
}
|
||||
|
||||
public String getSpare4()
|
||||
{
|
||||
return spare4;
|
||||
}
|
||||
|
||||
public void setSpare5(String spare5)
|
||||
{
|
||||
this.spare5 = spare5;
|
||||
}
|
||||
|
||||
public String getSpare5()
|
||||
{
|
||||
return spare5;
|
||||
}
|
||||
|
||||
public void setSpare6(String spare6)
|
||||
{
|
||||
this.spare6 = spare6;
|
||||
}
|
||||
|
||||
public String getSpare6()
|
||||
{
|
||||
return spare6;
|
||||
}
|
||||
|
||||
public void setVoltage(String voltage)
|
||||
{
|
||||
this.voltage = voltage;
|
||||
}
|
||||
|
||||
public String getVoltage()
|
||||
{
|
||||
return voltage;
|
||||
}
|
||||
|
||||
public void setPower(String power)
|
||||
{
|
||||
this.power = power;
|
||||
}
|
||||
|
||||
public String getPower()
|
||||
{
|
||||
return power;
|
||||
}
|
||||
|
||||
public void setPhase(String phase)
|
||||
{
|
||||
this.phase = phase;
|
||||
}
|
||||
|
||||
public String getPhase()
|
||||
{
|
||||
return phase;
|
||||
}
|
||||
|
||||
public void setDistribution(String distribution)
|
||||
{
|
||||
this.distribution = distribution;
|
||||
}
|
||||
|
||||
public String getDistribution()
|
||||
{
|
||||
return distribution;
|
||||
}
|
||||
|
||||
public void setOrderId(String orderId)
|
||||
{
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public String getOrderId()
|
||||
{
|
||||
return orderId;
|
||||
}
|
||||
|
||||
public void setSpare8(String spare8)
|
||||
{
|
||||
this.spare8 = spare8;
|
||||
}
|
||||
|
||||
public String getSpare8()
|
||||
{
|
||||
return spare8;
|
||||
}
|
||||
|
||||
public void setPrice(String price)
|
||||
{
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public String getPrice()
|
||||
{
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setCargoNo(String cargoNo)
|
||||
{
|
||||
this.cargoNo = cargoNo;
|
||||
}
|
||||
|
||||
public String getCargoNo()
|
||||
{
|
||||
return cargoNo;
|
||||
}
|
||||
|
||||
public void setProductStatus(String productStatus)
|
||||
{
|
||||
this.productStatus = productStatus;
|
||||
}
|
||||
|
||||
public String getProductStatus()
|
||||
{
|
||||
return productStatus;
|
||||
}
|
||||
|
||||
public void setParentId(String parentId)
|
||||
{
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getParentId()
|
||||
{
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setSpare7(String spare7)
|
||||
{
|
||||
this.spare7 = spare7;
|
||||
}
|
||||
|
||||
public String getSpare7()
|
||||
{
|
||||
return spare7;
|
||||
}
|
||||
|
||||
public void setCreateSys(String createSys)
|
||||
{
|
||||
this.createSys = createSys;
|
||||
}
|
||||
|
||||
public String getCreateSys()
|
||||
{
|
||||
return createSys;
|
||||
}
|
||||
|
||||
public void setSpec(String spec)
|
||||
{
|
||||
this.spec = spec;
|
||||
}
|
||||
|
||||
public String getSpec()
|
||||
{
|
||||
return spec;
|
||||
}
|
||||
|
||||
public void setUnit(String unit)
|
||||
{
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public String getUnit()
|
||||
{
|
||||
return unit;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("onlyIdentity", getOnlyIdentity())
|
||||
.append("productId", getProductId())
|
||||
.append("lotNo", getLotNo())
|
||||
.append("productName", getProductName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("warehouseId", getWarehouseId())
|
||||
.append("spare1", getSpare1())
|
||||
.append("spare3", getSpare3())
|
||||
.append("spare4", getSpare4())
|
||||
.append("spare5", getSpare5())
|
||||
.append("spare6", getSpare6())
|
||||
.append("voltage", getVoltage())
|
||||
.append("power", getPower())
|
||||
.append("phase", getPhase())
|
||||
.append("distribution", getDistribution())
|
||||
.append("orderId", getOrderId())
|
||||
.append("spare8", getSpare8())
|
||||
.append("price", getPrice())
|
||||
.append("cargoNo", getCargoNo())
|
||||
.append("productStatus", getProductStatus())
|
||||
.append("parentId", getParentId())
|
||||
.append("spare7", getSpare7())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("createSys", getCreateSys())
|
||||
.append("spec", getSpec())
|
||||
.append("unit", getUnit())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,15 +5,15 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
|
||||
|
||||
/**
|
||||
* 库存物资Mapper接口
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2025-12-08
|
||||
*/
|
||||
public interface ViewProductAndStockMapper
|
||||
public interface ViewProductAndStockMapper
|
||||
{
|
||||
/**
|
||||
* 查询库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 库存物资
|
||||
*/
|
||||
@@ -21,7 +21,7 @@ public interface ViewProductAndStockMapper
|
||||
|
||||
/**
|
||||
* 查询库存物资列表
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 库存物资集合
|
||||
*/
|
||||
@@ -29,7 +29,7 @@ public interface ViewProductAndStockMapper
|
||||
|
||||
/**
|
||||
* 新增库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -37,7 +37,7 @@ public interface ViewProductAndStockMapper
|
||||
|
||||
/**
|
||||
* 修改库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -45,7 +45,7 @@ public interface ViewProductAndStockMapper
|
||||
|
||||
/**
|
||||
* 删除库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -53,11 +53,9 @@ public interface ViewProductAndStockMapper
|
||||
|
||||
/**
|
||||
* 批量删除库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentitys 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys);
|
||||
|
||||
List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock);
|
||||
}
|
||||
|
||||
@@ -5,15 +5,15 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
|
||||
|
||||
/**
|
||||
* 库存物资Service接口
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2025-12-08
|
||||
*/
|
||||
public interface IViewProductAndStockService
|
||||
public interface IViewProductAndStockService
|
||||
{
|
||||
/**
|
||||
* 查询库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 库存物资
|
||||
*/
|
||||
@@ -21,7 +21,7 @@ public interface IViewProductAndStockService
|
||||
|
||||
/**
|
||||
* 查询库存物资列表
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 库存物资集合
|
||||
*/
|
||||
@@ -29,7 +29,7 @@ public interface IViewProductAndStockService
|
||||
|
||||
/**
|
||||
* 新增库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -37,7 +37,7 @@ public interface IViewProductAndStockService
|
||||
|
||||
/**
|
||||
* 修改库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -45,7 +45,7 @@ public interface IViewProductAndStockService
|
||||
|
||||
/**
|
||||
* 批量删除库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentitys 需要删除的库存物资主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -53,11 +53,9 @@ public interface IViewProductAndStockService
|
||||
|
||||
/**
|
||||
* 删除库存物资信息
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity);
|
||||
|
||||
List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock);
|
||||
}
|
||||
|
||||
@@ -9,19 +9,19 @@ import com.ruoyi.out.productAndStock.service.IViewProductAndStockService;
|
||||
|
||||
/**
|
||||
* 库存物资Service业务层处理
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2025-12-08
|
||||
*/
|
||||
@Service
|
||||
public class ViewProductAndStockServiceImpl implements IViewProductAndStockService
|
||||
public class ViewProductAndStockServiceImpl implements IViewProductAndStockService
|
||||
{
|
||||
@Autowired
|
||||
private ViewProductAndStockMapper viewProductAndStockMapper;
|
||||
|
||||
/**
|
||||
* 查询库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 库存物资
|
||||
*/
|
||||
@@ -33,7 +33,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
|
||||
/**
|
||||
* 查询库存物资列表
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 库存物资
|
||||
*/
|
||||
@@ -45,7 +45,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
|
||||
/**
|
||||
* 新增库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -57,7 +57,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
|
||||
/**
|
||||
* 修改库存物资
|
||||
*
|
||||
*
|
||||
* @param viewProductAndStock 库存物资
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -69,7 +69,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
|
||||
/**
|
||||
* 批量删除库存物资
|
||||
*
|
||||
*
|
||||
* @param onlyIdentitys 需要删除的库存物资主键
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -81,7 +81,7 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
|
||||
/**
|
||||
* 删除库存物资信息
|
||||
*
|
||||
*
|
||||
* @param onlyIdentity 库存物资主键
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -90,10 +90,4 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
{
|
||||
return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentity(onlyIdentity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock) {
|
||||
return viewProductAndStockMapper.selectViewProductAndStockPdList(viewProductAndStock);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +90,15 @@ public class BasStockFreezeRecord extends BaseEntity
|
||||
/** 物料guid */
|
||||
// @Excel(name = "${stock.Freeze.productGuid}")
|
||||
private String productGuid;
|
||||
|
||||
/** 单位名称 */
|
||||
@Excel(name = "单位名称")
|
||||
private String unitName;
|
||||
|
||||
/** 产品型号 */
|
||||
@Excel(name = "产品型号")
|
||||
private String productModel;
|
||||
|
||||
// 创建时间
|
||||
@Excel(name = "操作时间", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 30)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
@@ -101,6 +101,14 @@ public class BasStockMaintainRecord extends BaseEntity
|
||||
// @Excel(name = "${stock.Maintain.barCodeQuantity}")
|
||||
private String barCodeQuantity;
|
||||
|
||||
/** 单位名称 */
|
||||
@Excel(name = "单位名称")
|
||||
private String unitName;
|
||||
|
||||
/** 产品型号 */
|
||||
@Excel(name = "产品型号")
|
||||
private String productModel;
|
||||
|
||||
/** 物料guid */
|
||||
// @Excel(name = "${stock.Maintain.productGuid}")
|
||||
private String productGuid;
|
||||
|
||||
@@ -81,8 +81,7 @@ public class BasStock extends BaseEntity {
|
||||
private String spare8;
|
||||
|
||||
private String voltage;
|
||||
@Excel(name = "件次",sort=18)
|
||||
private String power;
|
||||
|
||||
private String phase;
|
||||
private String netWeight;
|
||||
private String grossWeight;
|
||||
@@ -217,4 +216,112 @@ public class BasStock extends BaseEntity {
|
||||
private String cargoNo;
|
||||
@Excel(name = "备注",sort=31)
|
||||
private String remark;
|
||||
private String power;
|
||||
|
||||
/** 产品型号 */
|
||||
@Excel(name = "产品型号")
|
||||
private String productModel;
|
||||
|
||||
// ---------- 产品明细 pd_ 字段 (来自产品明细 JSON) ----------
|
||||
/** 入库明细ID */
|
||||
private String pdDetailId;
|
||||
/** 产品名称(明细) */
|
||||
private String pdProductName;
|
||||
/** 型号(明细) */
|
||||
private String pdModel;
|
||||
/** 单位(明细) */
|
||||
private String pdUnit;
|
||||
/** 单价(明细) */
|
||||
private String pdUnitPrice;
|
||||
/** 辅助单位(明细) */
|
||||
private String pdAuxUnit;
|
||||
/** 产品属性1(明细) */
|
||||
private String pdAttr1;
|
||||
/** 产品属性2(明细) */
|
||||
private String pdAttr2;
|
||||
/** 数量(明细) */
|
||||
private String pdQuantity;
|
||||
/** 入库数(明细) */
|
||||
private String pdInQty;
|
||||
/** 辅助数量(明细) */
|
||||
private String pdAuxQuantity;
|
||||
/** 总价(明细) */
|
||||
private String pdTotalPrice;
|
||||
/** 成本单价(明细) */
|
||||
private String pdCostUnitPrice;
|
||||
/** 总价2(明细) */
|
||||
private String pdTotalPrice2;
|
||||
/** 核算成本总价(明细) */
|
||||
private String pdAccountCostTotal;
|
||||
/** 核算数量(明细) */
|
||||
private String pdAccountQuantity;
|
||||
/** 核算状态(明细) */
|
||||
private String pdAccountStatus;
|
||||
/** 批号(明细) */
|
||||
private String pdBatchNo;
|
||||
/** 序列号(明细) */
|
||||
private String pdSerialNo;
|
||||
/** 生产日期(明细) */
|
||||
private String pdProdDate;
|
||||
/** 有效日期(明细) */
|
||||
private String pdValidDate;
|
||||
/** 到货日期(明细) */
|
||||
private String pdArrivalDate;
|
||||
/** 备注(明细) */
|
||||
private String pdRemark;
|
||||
/** 自定义字段1(明细) */
|
||||
private String pdCustom1;
|
||||
/** 自定义字段2(明细) */
|
||||
private String pdCustom2;
|
||||
/** 自定义字段3(明细) */
|
||||
private String pdCustom3;
|
||||
/** 自定义字段4(明细) */
|
||||
private String pdCustom4;
|
||||
/** 自定义字段5(明细) */
|
||||
private String pdCustom5;
|
||||
/** 自定义字段6(明细) */
|
||||
private String pdCustom6;
|
||||
/** 装卸工(明细) */
|
||||
private String pdLoader;
|
||||
// ---------- SQL 脚本中新增的其他字段 ----------
|
||||
/** 集合数据(JSON/序列化) */
|
||||
private String Rows;
|
||||
/** 入库主题 */
|
||||
private String Title;
|
||||
/** 入库id */
|
||||
private String Kuin;
|
||||
/** 入库状态 */
|
||||
private String Complete1;
|
||||
/** 申请人 */
|
||||
private String Cateid;
|
||||
/** 申请日期 */
|
||||
private String Date3;
|
||||
/** 确认日期 */
|
||||
private String Date5;
|
||||
/** 审批人 */
|
||||
private String Catein;
|
||||
/** 审批意见 */
|
||||
private String Intro2;
|
||||
/** 入库备注 */
|
||||
private String Intro;
|
||||
/** 关联其他单据id */
|
||||
private String Caigou;
|
||||
/** 添加时间 */
|
||||
private String Date7;
|
||||
/** 库管id */
|
||||
private String Kg;
|
||||
/** 入库类别 */
|
||||
private String Sort1;
|
||||
/** 入库编号 */
|
||||
private String Rkbh;
|
||||
/** 审批状态 */
|
||||
private String Status;
|
||||
/** 产品明细(JSON/集合) */
|
||||
private String KuinList;
|
||||
/** 客户名称 */
|
||||
private String sysIcusIInheritIdIidI413;
|
||||
/** 磅单编号 */
|
||||
private String sysIcusIInheritIdIidI414;
|
||||
/** 入库车号 */
|
||||
private String sysIcusIInheritIdIidI415;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user