JAVA全系列 教程
3762个小节阅读:7088.7k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 药品销售统计 | /statistics/drug/queryDrug | get |
2 | 发药数量统计 | /statistics/drug/queryDrugStat | get |
参数名称 | 是否必须 |
---|---|
beginTime | 否 |
endTime | 否 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int | |
data | object [] | item 类型: object |
├─ medicinesId | String | |
├─ medicinesName | String | |
├─ num | int | |
├─ price | int | |
├─ amount | int | |
├─ createTime | String |
创建Drug、DrugQueryDto、DrugStat
xxxxxxxxxx
package com.bjsxt.domain;
import ...
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
public class Drug extends BaseEntity {
/**
* 药品id
*/
private String medicinesId;
/**
* 药品名
*/
private String medicinesName;
/**
* 订单数量
*/
private BigDecimal num;
/**
* 单价
*/
private BigDecimal price;
/**
* 金额
*/
private BigDecimal amount;
/**
* 创建时间
*/
private Date createTime;
}
xxxxxxxxxx
package com.bjsxt.dto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@ApiModel(value="com-bjsxt-dto-DrugQueryDto")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class DrugQueryDto extends BaseDto{
private String drugName;
private String queryDate;
}
xxxxxxxxxx
package com.bjsxt.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
public class DrugStat extends BaseEntity {
/**
* 药品id
*/
private String medicinesId;
/**
* 药品名
*/
private String medicinesName;
/**
* 金额
*/
private BigDecimal totalAmount;
/**
* 销售数量
*/
private BigDecimal count;
}
xxxxxxxxxx
package com.bjsxt.mapper;
import com.bjsxt.domain.Drug;
import com.bjsxt.domain.DrugStat;
import com.bjsxt.dto.DrugQueryDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface DrugMapper {
/**
* 药品统计列表
*
* @param drugQueryDto
* @return
*/
List<Drug> queryDrug(@Param("drug") DrugQueryDto drugQueryDto);
/**
* 药品数量统计列表
*
* @param drugQueryDto
* @return
*/
List<DrugStat> queryDrugStat(@Param("drug") DrugQueryDto drugQueryDto);
}
创建DrugMapper.xml
xxxxxxxxxx
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bjsxt.mapper.DrugMapper">
<resultMap id="DrugBaseResultMap" type="com.bjsxt.domain.Drug">
<result column="item_ref_id" property="medicinesId" />
<result column="item_name" property="medicinesName" />
<result column="price" property="price" />
<result column="amount" property="amount" />
<result column="num" property="num" />
<result column="create_time" property="createTime" />
</resultMap>
<resultMap id="DrugStatBaseResultMap" type="com.bjsxt.domain.DrugStat">
<result column="item_ref_id" property="medicinesId" />
<result column="item_name" property="medicinesName" />
<result column="total_amount" property="totalAmount" />
<result column="count" property="count" />
</resultMap>
<sql id="Drug_Base_Column_List">
item_ref_id, item_name,price,amount,num,create_time
</sql>
<sql id="DrugStat_Base_Column_List">
item_ref_id, item_name,total_amount,`count`
</sql>
<!--药品统计列表-->
<select id="queryDrug" resultMap="DrugBaseResultMap">
select <include refid="Drug_Base_Column_List"></include>
from his_care_order_item
<where>
status='3' and item_type='0'
<if test="drug.drugName!=null and drug.drugName!=''">
and item_name like concat("%",#{drug.drugName},"%")
</if>
<if test="drug.queryDate!=null and drug.queryDate!=''">
and date_format(create_time,'%Y-%m-%d') =#{drug.queryDate}
</if>
<if test="drug.beginTime!=null">
and create_time>=#{drug.beginTime}
</if>
<if test="drug.endTime!=null">
and create_time <![CDATA[<=]]>
#{drug.endTime}
</if>
</where>
</select>
<!--药品数量统计列表-->
<select id="queryDrugStat" resultMap="DrugStatBaseResultMap">
select item_ref_id,item_name,count(1) as 'count',sum(amount) as total_amount
from his_care_order_item
<where>
status='3' and item_type='0'
<if test="drug.drugName!=null and drug.drugName!=''">
and item_name like concat("%",#{drug.drugName},"%")
</if>
<if test="drug.queryDate!=null and drug.queryDate!=''">
and date_format(create_time,'%Y-%m-%d') =#{drug.queryDate}
</if>
<if test="drug.beginTime!=null">
and create_time>=#{drug.beginTime}
</if>
<if test="drug.endTime!=null">
and create_time <![CDATA[<=]]>
#{drug.endTime}
</if>
</where>
group by item_ref_id,item_name
</select>
</mapper>
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Drug;
import com.bjsxt.domain.DrugStat;
import com.bjsxt.dto.DrugQueryDto;
import java.util.List;
public interface DrugService {
/**
* 查询发药统计列表
* @param drugQueryDto
* @return
*/
List<Drug> queryDrug(DrugQueryDto drugQueryDto);
/**
* 查询发药数量统计列表
* @param drugQueryDto
* @return
*/
List<DrugStat> queryDrugStat(DrugQueryDto drugQueryDto);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
@Service
public class DrugServiceImpl implements DrugService {
@Autowired
private DrugMapper drugMapper;
@Override
public List<Drug> queryDrug(DrugQueryDto drugQueryDto) {
return this.drugMapper.queryDrug(drugQueryDto);
}
@Override
public List<DrugStat> queryDrugStat(DrugQueryDto drugQueryDto) {
return this.drugMapper.queryDrugStat(drugQueryDto);
}
}
xxxxxxxxxx
package com.bjsxt.controller.statistics;
import ...
/**
* 药品销售统计控制器
*/
@RestController
@RequestMapping("statistics/drug")
public class StatDrugController {
@Reference
private DrugService drugService;
/**
* 查询发药统计列表
*/
@GetMapping("queryDrug")
public AjaxResult queryDrug(DrugQueryDto drugQueryDto){
if(drugQueryDto.getBeginTime()==null){
drugQueryDto.setQueryDate(DateUtil.format(DateUtil.date(),"yyyy-MM-dd"));
}
List<Drug> drugList=this.drugService.queryDrug(drugQueryDto);
return AjaxResult.success(drugList);
}
/**
* 查询发药数量统计列表
*/
@GetMapping("queryDrugStat")
public AjaxResult queryDrugStat(DrugQueryDto drugQueryDto){
if(drugQueryDto.getBeginTime()==null){
drugQueryDto.setQueryDate(DateUtil.format(DateUtil.date(),"yyyy-MM-dd"));
}
List<DrugStat> drugList=this.drugService.queryDrugStat(drugQueryDto);
return AjaxResult.success(drugList);
}
}
药品销售统计/statistics/drug/queryDrug
参数名称 | 是否必须 |
---|---|
beginTime | 否 |
endTime | 否 |
queryDate | 否 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int | |
data | object [] | item 类型: object |
├─ medicinesId | String | |
├─ medicinesName | String | |
├─ totalAmount | int | |
├─ count | int |
xxxxxxxxxx
public interface DrugService {
/**
* 查询发药统计列表
* @param drugQueryDto
* @return
*/
List<Drug> queryDrug(DrugQueryDto drugQueryDto);
/**
* 查询发药数量统计列表
* @param drugQueryDto
* @return
*/
List<DrugStat> queryDrugStat(DrugQueryDto drugQueryDto);
}
xxxxxxxxxx
@Service
public class DrugServiceImpl implements DrugService {
@Autowired
private DrugMapper drugMapper;
@Override
public List<Drug> queryDrug(DrugQueryDto drugQueryDto) {
return this.drugMapper.queryDrug(drugQueryDto);
}
@Override
public List<DrugStat> queryDrugStat(DrugQueryDto drugQueryDto) {
return this.drugMapper.queryDrugStat(drugQueryDto);
}
}
xxxxxxxxxx
/**
* @Author:
* 药品销售统计控制器
*/
@RestController
@RequestMapping("statistics/drug")
public class StatDrugController {
@Reference
private DrugService drugService;
/**
* 查询发药统计列表
*/
@GetMapping("queryDrug")
public AjaxResult queryDrug(DrugQueryDto drugQueryDto){
if(drugQueryDto.getBeginTime()==null){
drugQueryDto.setQueryDate(DateUtil.format(DateUtil.date(),"yyyy-MM-dd"));
}
List<Drug> drugList=this.drugService.queryDrug(drugQueryDto);
return AjaxResult.success(drugList);
}
/**
* 查询发药数量统计列表
*/
@GetMapping("queryDrugStat")
public AjaxResult queryDrugStat(DrugQueryDto drugQueryDto){
if(drugQueryDto.getBeginTime()==null){
drugQueryDto.setQueryDate(DateUtil.format(DateUtil.date(),"yyyy-MM-dd"));
}
List<DrugStat> drugList=this.drugService.queryDrugStat(drugQueryDto);
return AjaxResult.success(drugList);
}
}
发药数量统计 /statistics/drug/queryDrugStat,图片