|
|
|
@ -71,7 +71,7 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) { |
|
|
|
public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) { |
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
if(user.getRoleName().equals("业务员")){ |
|
|
|
if(user.getRoleName().equals("sale")){ |
|
|
|
order.setCreateUser(user.getUserId()); |
|
|
|
order.setCreateUser(user.getUserId()); |
|
|
|
} |
|
|
|
} |
|
|
|
if(StringUtils.isNotEmpty(order.getStatusStr())){ |
|
|
|
if(StringUtils.isNotEmpty(order.getStatusStr())){ |
|
|
|
@ -98,8 +98,8 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
order.setCode(generateOrderCode(order)); |
|
|
|
order.setCode(generateOrderCode(order)); |
|
|
|
order.setOrderDate(DateFormatUtils.format(new Date(),"yyyy-MM-dd")); |
|
|
|
order.setOrderDate(DateFormatUtils.format(new Date(),"yyyy-MM-dd")); |
|
|
|
order.setRemittedAmount(new BigDecimal(0)); |
|
|
|
order.setRemittedAmount(new BigDecimal(0)); |
|
|
|
order.setUnremittedAmount(order.getSellingPrice()); |
|
|
|
order.setUnremittedAmount(order.getSellingPrice().subtract(order.getDiscountAmount())); |
|
|
|
order.setCreateUserName(user.getNickName()); |
|
|
|
order.setCreateUserName(user.getUserName()); |
|
|
|
order.setCreateDeptName(SysCache.getDeptName(Long.parseLong(user.getDeptId()))); |
|
|
|
order.setCreateDeptName(SysCache.getDeptName(Long.parseLong(user.getDeptId()))); |
|
|
|
this.save(order); |
|
|
|
this.save(order); |
|
|
|
List<OrderProjectEntity> orderProjectEntityList = order.getProjectList(); |
|
|
|
List<OrderProjectEntity> orderProjectEntityList = order.getProjectList(); |
|
|
|
@ -121,32 +121,37 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
public Boolean updateOrder(OrderEntity order) { |
|
|
|
public Boolean updateOrder(OrderEntity order) { |
|
|
|
Date date = new Date(); |
|
|
|
Date date = new Date(); |
|
|
|
//修改之前版本的状态
|
|
|
|
//修改之前版本的状态
|
|
|
|
int status = order.getStatus(); |
|
|
|
OrderEntity oldOrder = this.getById(order.getId()); |
|
|
|
order.setStatus(9999); |
|
|
|
oldOrder.setStatus(9999); |
|
|
|
order.setUpdateTime(date); |
|
|
|
oldOrder.setUpdateTime(date); |
|
|
|
this.updateById(order); |
|
|
|
this.updateById(oldOrder); |
|
|
|
//添加新的版本
|
|
|
|
//添加新的版本
|
|
|
|
order.setCode(generateOrderCode(order)); |
|
|
|
order.setCode(generateOrderCode(order)); |
|
|
|
order.setStatus(status); |
|
|
|
|
|
|
|
order.setId(null); |
|
|
|
order.setId(null); |
|
|
|
this.save(order); |
|
|
|
this.save(order); |
|
|
|
List<OrderProjectEntity> orderProjectEntityList = order.getProjectList(); |
|
|
|
List<OrderProjectEntity> orderProjectEntityList = order.getProjectList(); |
|
|
|
for(OrderProjectEntity project : orderProjectEntityList){ |
|
|
|
for(OrderProjectEntity project : orderProjectEntityList){ |
|
|
|
//修改之前版本的状态
|
|
|
|
//修改之前版本的状态
|
|
|
|
project.setStatus(9999); |
|
|
|
if(project.getId() != null){ |
|
|
|
project.setUpdateTime(date); |
|
|
|
OrderProjectEntity oldProject = orderProjectService.getById(project.getId()); |
|
|
|
orderProjectService.updateById(project); |
|
|
|
oldProject.setStatus(9999); |
|
|
|
|
|
|
|
oldProject.setUpdateTime(date); |
|
|
|
|
|
|
|
orderProjectService.updateById(oldProject); |
|
|
|
|
|
|
|
} |
|
|
|
//添加新的版本
|
|
|
|
//添加新的版本
|
|
|
|
project.setId(null); |
|
|
|
project.setId(null); |
|
|
|
project.setOrderId(order.getId()); |
|
|
|
project.setOrderId(order.getId()); |
|
|
|
project.setStatus(1); |
|
|
|
|
|
|
|
orderProjectService.save(project); |
|
|
|
orderProjectService.save(project); |
|
|
|
List<OrderProjectProductEntity> orderProjectProductEntityList = project.getProductList(); |
|
|
|
List<OrderProjectProductEntity> orderProjectProductEntityList = project.getProductList(); |
|
|
|
for(OrderProjectProductEntity product : orderProjectProductEntityList){ |
|
|
|
for(OrderProjectProductEntity product : orderProjectProductEntityList){ |
|
|
|
//修改之前版本状态
|
|
|
|
if(product.getId() != null){ |
|
|
|
product.setStatus(9999); |
|
|
|
OrderProjectProductEntity oldProduct = orderProjectProductService.getById(product.getId()); |
|
|
|
product.setUpdateTime(date); |
|
|
|
//修改之前版本状态
|
|
|
|
orderProjectProductService.updateById(product); |
|
|
|
oldProduct.setStatus(9999); |
|
|
|
|
|
|
|
oldProduct.setUpdateTime(date); |
|
|
|
|
|
|
|
orderProjectProductService.updateById(oldProduct); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//添加新的版本
|
|
|
|
//添加新的版本
|
|
|
|
product.setId(null); |
|
|
|
product.setId(null); |
|
|
|
product.setOrderId(order.getId()); |
|
|
|
product.setOrderId(order.getId()); |
|
|
|
@ -167,6 +172,8 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
project.setProductList(productList); |
|
|
|
project.setProductList(productList); |
|
|
|
}); |
|
|
|
}); |
|
|
|
order.setProjectList(projectList); |
|
|
|
order.setProjectList(projectList); |
|
|
|
|
|
|
|
List<OrderExtraChargeEntity> chargeList = orderExtraChargeService.list(Wrappers.<OrderExtraChargeEntity>lambdaQuery().eq(OrderExtraChargeEntity::getOrderId,order.getId())); |
|
|
|
|
|
|
|
order.setExtraChargeList(chargeList); |
|
|
|
return order; |
|
|
|
return order; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -239,7 +246,8 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
} |
|
|
|
} |
|
|
|
List<OrderEntity> list = this.list(wrapper); |
|
|
|
List<OrderEntity> list = this.list(wrapper); |
|
|
|
list.forEach(item ->{ |
|
|
|
list.forEach(item ->{ |
|
|
|
item.setPaidRate(item.getRemittedAmount().divide(item.getRemittedAmount().add(item.getUnremittedAmount()),2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)) + "%"); |
|
|
|
BigDecimal totalAmount = item.getRemittedAmount().add(item.getUnremittedAmount()); |
|
|
|
|
|
|
|
item.setPaidRate(totalAmount.compareTo(new BigDecimal(0)) == 0 ? "0" :item.getRemittedAmount().divide(item.getRemittedAmount().add(item.getUnremittedAmount()),2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)) + "%"); |
|
|
|
List<WaterBillEntity> waterBillList = waterBillService.list(Wrappers.<WaterBillEntity>lambdaQuery().eq(WaterBillEntity::getOrderId,item.getId())); |
|
|
|
List<WaterBillEntity> waterBillList = waterBillService.list(Wrappers.<WaterBillEntity>lambdaQuery().eq(WaterBillEntity::getOrderId,item.getId())); |
|
|
|
if(CollectionUtils.isNotEmpty(waterBillList)){ |
|
|
|
if(CollectionUtils.isNotEmpty(waterBillList)){ |
|
|
|
item.setIsWaterBill("1"); |
|
|
|
item.setIsWaterBill("1"); |
|
|
|
@ -281,8 +289,9 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity> |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Map<String,List<OrderProjectEntity>> selectTemplate(String year) { |
|
|
|
public Map<String,List<OrderProjectEntity>> selectTemplate(String year) { |
|
|
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
Map<String,List<OrderProjectEntity>> map = new HashMap<>(); |
|
|
|
Map<String,List<OrderProjectEntity>> map = new HashMap<>(); |
|
|
|
List<OrderEntity> orderList = this.list(Wrappers.<OrderEntity>lambdaQuery().like(OrderEntity::getOrderDate,year).eq(BaseEntity::getStatus,CommonEnum.STATUS_5.getCode())); |
|
|
|
List<OrderEntity> orderList = this.list(Wrappers.<OrderEntity>lambdaQuery().like(OrderEntity::getOrderDate,year).eq(BaseEntity::getStatus,CommonEnum.STATUS_5.getCode()).eq(BaseEntity::getCreateUser,user.getUserId())); |
|
|
|
Map<String,List<OrderEntity>> orderMap = orderList.stream().collect(Collectors.groupingBy(item -> item.getOrderDate().substring(5,7))); |
|
|
|
Map<String,List<OrderEntity>> orderMap = orderList.stream().collect(Collectors.groupingBy(item -> item.getOrderDate().substring(5,7))); |
|
|
|
Map<String, List<OrderEntity>> sortMap = orderMap.entrySet().stream() |
|
|
|
Map<String, List<OrderEntity>> sortMap = orderMap.entrySet().stream() |
|
|
|
// 按 key(月份)倒序排序(Comparator.reverseOrder())
|
|
|
|
// 按 key(月份)倒序排序(Comparator.reverseOrder())
|
|
|
|
|