保洁查询和新增的问题
This commit is contained in:
parent
b4f2dfd632
commit
7c95a690ea
@ -37,6 +37,11 @@ public class Clean extends TenantEntity {
|
|||||||
*/
|
*/
|
||||||
private String measure;
|
private String measure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保洁面积
|
||||||
|
*/
|
||||||
|
private Long cleanArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算方式
|
* 计算方式
|
||||||
*/
|
*/
|
||||||
@ -45,7 +50,12 @@ public class Clean extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 单价
|
* 单价
|
||||||
*/
|
*/
|
||||||
private String peices;
|
private Long peices;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总价
|
||||||
|
*/
|
||||||
|
private Long sumPrices;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁频率
|
* 保洁频率
|
||||||
|
@ -8,6 +8,7 @@ import java.util.Date;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁订单对象 clean_order
|
* 保洁订单对象 clean_order
|
||||||
@ -37,7 +38,7 @@ public class CleanOrder extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 面积
|
* 面积
|
||||||
*/
|
*/
|
||||||
private String area;
|
private Long area;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁id
|
* 保洁id
|
||||||
@ -114,5 +115,7 @@ public class CleanOrder extends TenantEntity {
|
|||||||
*/
|
*/
|
||||||
private String searchValue;
|
private String searchValue;
|
||||||
|
|
||||||
|
private List<Clean> cleanList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,11 @@ public class CleanBo extends BaseEntity {
|
|||||||
@NotBlank(message = "计量单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "计量单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String measure;
|
private String measure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保洁面积
|
||||||
|
*/
|
||||||
|
private Long cleanArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算方式
|
* 计算方式
|
||||||
*/
|
*/
|
||||||
@ -59,6 +64,11 @@ public class CleanBo extends BaseEntity {
|
|||||||
@NotBlank(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String peices;
|
private String peices;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总价
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "总价不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String sumPrices;
|
||||||
/**
|
/**
|
||||||
* 保洁频率
|
* 保洁频率
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.property.domain.bo;
|
package org.dromara.property.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.property.domain.Clean;
|
||||||
import org.dromara.property.domain.CleanOrder;
|
import org.dromara.property.domain.CleanOrder;
|
||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
@ -8,6 +9,8 @@ import io.github.linpeilie.annotations.AutoMapper;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -39,7 +42,7 @@ public class CleanOrderBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 面积
|
* 面积
|
||||||
*/
|
*/
|
||||||
private String area;
|
private Long area;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁id
|
* 保洁id
|
||||||
@ -110,5 +113,8 @@ public class CleanOrderBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private int state;
|
private int state;
|
||||||
|
|
||||||
|
@NotEmpty(message = "订单详情不能为空", groups = { AddGroup.class })
|
||||||
|
private List<Clean> cleanList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ public class CleanOrderVo implements Serializable {
|
|||||||
* 面积
|
* 面积
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "面积")
|
@ExcelProperty(value = "面积")
|
||||||
private String area;
|
private Long area;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁id
|
* 保洁id
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package org.dromara.property.domain.vo;
|
package org.dromara.property.domain.vo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
import org.dromara.property.domain.Clean;
|
import org.dromara.property.domain.Clean;
|
||||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import cn.idev.excel.annotation.ExcelProperty;
|
import cn.idev.excel.annotation.ExcelProperty;
|
||||||
@ -46,6 +49,11 @@ public class CleanVo implements Serializable {
|
|||||||
@ExcelProperty(value = "计量单位")
|
@ExcelProperty(value = "计量单位")
|
||||||
private String measure;
|
private String measure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保洁面积
|
||||||
|
*/
|
||||||
|
private Long cleanArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算方式
|
* 计算方式
|
||||||
*/
|
*/
|
||||||
@ -58,6 +66,12 @@ public class CleanVo implements Serializable {
|
|||||||
@ExcelProperty(value = "单价")
|
@ExcelProperty(value = "单价")
|
||||||
private String peices;
|
private String peices;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总价
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "总价不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String sumPrices;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保洁频率
|
* 保洁频率
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package org.dromara.property.mapper;
|
package org.dromara.property.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.dromara.property.domain.CleanOrder;
|
import org.dromara.property.domain.CleanOrder;
|
||||||
import org.dromara.property.domain.vo.CleanOrderVo;
|
import org.dromara.property.domain.vo.CleanOrderVo;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
@ -12,4 +14,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|||||||
*/
|
*/
|
||||||
public interface CleanOrderMapper extends BaseMapperPlus<CleanOrder, CleanOrderVo> {
|
public interface CleanOrderMapper extends BaseMapperPlus<CleanOrder, CleanOrderVo> {
|
||||||
|
|
||||||
|
Page<CleanOrderVo> selectForPage(Page<Object> build, LambdaQueryWrapper<CleanOrder> lqw);
|
||||||
}
|
}
|
||||||
|
@ -12,14 +12,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.property.domain.Clean;
|
||||||
import org.dromara.property.domain.CleanserverOrder;
|
import org.dromara.property.domain.CleanserverOrder;
|
||||||
|
import org.dromara.property.mapper.CleanMapper;
|
||||||
import org.dromara.property.mapper.CleanserverOrderMapper;
|
import org.dromara.property.mapper.CleanserverOrderMapper;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.property.domain.bo.CleanOrderBo;
|
import org.dromara.property.domain.bo.CleanOrderBo;
|
||||||
import org.dromara.property.domain.vo.CleanOrderVo;
|
import org.dromara.property.domain.vo.CleanOrderVo;
|
||||||
import org.dromara.property.domain.CleanOrder;
|
import org.dromara.property.domain.CleanOrder;
|
||||||
import org.dromara.property.mapper.CleanOrderMapper;
|
import org.dromara.property.mapper.CleanOrderMapper;
|
||||||
import org.dromara.property.service.ICleanOrderService;
|
import org.dromara.property.service.ICleanOrderService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.stringtemplate.v4.ST;
|
import org.stringtemplate.v4.ST;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -41,6 +45,8 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
|||||||
private final CleanOrderMapper baseMapper;
|
private final CleanOrderMapper baseMapper;
|
||||||
private final CleanserverOrderMapper cleanserverOrderMapper;
|
private final CleanserverOrderMapper cleanserverOrderMapper;
|
||||||
|
|
||||||
|
private final CleanMapper cleanMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询保洁订单
|
* 查询保洁订单
|
||||||
*
|
*
|
||||||
@ -62,7 +68,7 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<CleanOrderVo> queryPageList(CleanOrderBo bo, PageQuery pageQuery) {
|
public TableDataInfo<CleanOrderVo> queryPageList(CleanOrderBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<CleanOrder> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<CleanOrder> lqw = buildQueryWrapper(bo);
|
||||||
Page<CleanOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<CleanOrderVo> result = baseMapper.selectForPage(pageQuery.build(), lqw);
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +89,7 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
|||||||
LambdaQueryWrapper<CleanOrder> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<CleanOrder> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.orderByAsc(CleanOrder::getId);
|
lqw.orderByAsc(CleanOrder::getId);
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), CleanOrder::getLocation, bo.getLocation());
|
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), CleanOrder::getLocation, bo.getLocation());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getArea()), CleanOrder::getArea, bo.getArea());
|
// lqw.eq(StringUtils.isNotBlank(bo.getArea()), CleanOrder::getArea, bo.getArea());
|
||||||
|
|
||||||
// lqw.eq(bo.getCleanIds() != null, CleanOrder::getCleanId, bo.getCleanIds());
|
// lqw.eq(bo.getCleanIds() != null, CleanOrder::getCleanId, bo.getCleanIds());
|
||||||
// lqw.like(StringUtils.isNotBlank(bo.getName()), CleanOrder::getName, bo.getName());
|
// lqw.like(StringUtils.isNotBlank(bo.getName()), CleanOrder::getName, bo.getName());
|
||||||
@ -107,12 +113,36 @@ public class CleanOrderServiceImpl implements ICleanOrderService {
|
|||||||
* @param bo 保洁订单
|
* @param bo 保洁订单
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
*/
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(CleanOrderBo bo) {
|
public Boolean insertByBo(CleanOrderBo bo) {
|
||||||
CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class);
|
//向clean_order表中插入数据
|
||||||
validEntityBeforeSave(add);
|
// CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class);
|
||||||
|
// validEntityBeforeSave(add);
|
||||||
|
CleanOrder add = new CleanOrder();
|
||||||
|
BeanUtils.copyProperties(bo, add);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//向clean表中插入数据
|
||||||
|
//判断clean表是否为空
|
||||||
|
List<Clean> cleanList = bo.getCleanList();
|
||||||
|
if (!CollectionUtils.isEmpty(cleanList)) {
|
||||||
|
//不为空,循环插入clean表
|
||||||
|
for (Clean clean : cleanList) {
|
||||||
|
BeanUtils.copyProperties(add.getCleanList(), clean);
|
||||||
|
clean.setSumPrices(clean.getPeices() * clean.getCleanArea());
|
||||||
|
cleanMapper.insert(clean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//通过clean表格中的所有总价,计算出clean_order表中的总价
|
||||||
|
add.setSumPeices(cleanList.stream().map(Clean::getSumPrices).reduce(Long::sum).orElse(0L));
|
||||||
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
|
||||||
|
//向中间表插入数据
|
||||||
if (flag) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
ArrayList<CleanserverOrder> cleanserverOrders = new ArrayList<>();
|
ArrayList<CleanserverOrder> cleanserverOrders = new ArrayList<>();
|
||||||
|
@ -4,4 +4,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.dromara.property.mapper.CleanOrderMapper">
|
<mapper namespace="org.dromara.property.mapper.CleanOrderMapper">
|
||||||
|
|
||||||
|
<select id="selectForPage" resultType="org.dromara.property.domain.vo.CleanOrderVo">
|
||||||
|
SELECT
|
||||||
|
co.*,
|
||||||
|
c.*
|
||||||
|
FROM
|
||||||
|
clean_order co
|
||||||
|
LEFT JOIN clean c ON co.clean_id = c.id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Loading…
Reference in New Issue
Block a user