多次扫码根据药品追溯码查询详情接口

This commit is contained in:
daichao 2025-06-25 10:20:12 +08:00
parent 1f5378d72e
commit dd79484153
6 changed files with 258 additions and 5 deletions

View File

@ -0,0 +1,163 @@
package com.alihealth.d2d.provtest.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 药品多次扫码根据ypzsm 查询多次扫码的详情
*/
@Data
public class DrugRetailAndUseApplyInfoVO implements Serializable {
private static final long serialVersionUID = -8890385149189668807L;
/**
* 药品追溯码
*/
private String ypzsm;
/**
* 包装层级
*/
private String bzcj;
/**
* 上一级包装药品追溯码
*/
private String syjbzypzsm;
/**
* 药品通用名称
*/
private String yptymc;
/**
* 国家药品标识码
*/
private String gjypbsm;
/**
* 药品批准文号
*/
private String yppzwh;
/**
* 药品批准文号有效期
*/
private Date yppzwhyxq;
/**
* 药品生产批号
*/
private String ymscph;
/**
* 生产日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date scrq;
/**
* 售出时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date scsj;
/**
* 生产数量
*/
private Integer sysl;
/**
* 购买人身份信息
*/
private String gmrsfxx;
/**
* 购买人电话号码
*/
private String gmrdhhm;
/**
* 互联网订单标识 true / false
*/
private String hlwddbz;
/**
* 统一社会信用代码零售药店
*/
private String tyshxydmlsyd;
/**
* 零售药店名称
*/
private String lsydmc;
/**
* 执业许可证登记号
*/
private String zyxkzdjh;
/**
* 零售药店编号
*/
private String lsdjbh;
/**
* 经营许可证编号
*/
private String jyxkzbh;
/**
* 开方药师
*/
private String kfys;
/**
* 药品发药人
*/
private String ypfyr;
/**
* 药品使用者
*/
private String ypsyz;
/**
* 剂型
*/
private String jx;
/**
* 包装规格
*/
private String bzgg;
/**
* 制剂规格
*/
private String zjgg;
/**
* 包装转换比
*/
private Integer bzzhb;
/**
* 包装转换比单位
*/
private String bzzhbdw;
/**
* 药品注册分类
*/
private String ypzcfl;
/**
* 特殊药品管理分类
*/
private String tsypglfl;
}

View File

@ -1,6 +1,7 @@
package com.alihealth.d2d.provtest.controller; package com.alihealth.d2d.provtest.controller;
import com.alihealth.d2d.provtest.VO.DrugRetailAndUseApplyInfoVO;
import com.alihealth.d2d.provtest.common.AjaxResult; import com.alihealth.d2d.provtest.common.AjaxResult;
import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord; import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord;
import com.alihealth.d2d.provtest.service.IMultyScanCodeRecordService; import com.alihealth.d2d.provtest.service.IMultyScanCodeRecordService;
@ -11,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* <p> * <p>
* 药品追溯码多次扫码记录 前端控制器 * 药品追溯码多次扫码记录 前端控制器
@ -26,15 +29,29 @@ public class MultyScanCodeRecordController {
@Autowired @Autowired
private IMultyScanCodeRecordService iMultyScanCodeRecordService; private IMultyScanCodeRecordService iMultyScanCodeRecordService;
/**
* 多次扫码分页查询接口
*
* @param current
* @param size
* @param ypzsm
* @param handleFlag
* @return
*/
@GetMapping("/query") @GetMapping("/query")
public AjaxResult multyScanCode( public AjaxResult multyScanCode(@RequestParam(defaultValue = "1") Integer current, @RequestParam(defaultValue = "10") Integer size, @RequestParam(required = false) String ypzsm, @RequestParam(required = false) Integer handleFlag) {
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String ypzsm,
@RequestParam(required = false) Integer handleFlag) {
Page<MultyScanCodeRecord> page = new Page<>(current, size); Page<MultyScanCodeRecord> page = new Page<>(current, size);
Page<MultyScanCodeRecord> result = iMultyScanCodeRecordService.pageQuery(page, ypzsm, handleFlag); Page<MultyScanCodeRecord> result = iMultyScanCodeRecordService.pageQuery(page, ypzsm, handleFlag);
return AjaxResult.success(result); return AjaxResult.success(result);
} }
/**
* 存在多次扫码的药品追溯码详情
*/
@GetMapping("/details")
public AjaxResult details(@RequestParam(required = false) String ypzsm) {
List<DrugRetailAndUseApplyInfoVO> voList = iMultyScanCodeRecordService.detailsByYpzsm(ypzsm);
return AjaxResult.success(voList);
}
} }

View File

@ -1,10 +1,13 @@
package com.alihealth.d2d.provtest.mapper; package com.alihealth.d2d.provtest.mapper;
import com.alihealth.d2d.provtest.VO.DrugRetailAndUseApplyInfoVO;
import com.alihealth.d2d.provtest.VO.DrugRetailAndUseInfoVO; import com.alihealth.d2d.provtest.VO.DrugRetailAndUseInfoVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.alihealth.d2d.provtest.domain.DrugRetailAndUseApplyInfo; import com.alihealth.d2d.provtest.domain.DrugRetailAndUseApplyInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 药品零售与药品使用信息数据子集(DrugRetailAndUseApplyInfo)表数据库访问层 * 药品零售与药品使用信息数据子集(DrugRetailAndUseApplyInfo)表数据库访问层
* *
@ -15,9 +18,18 @@ public interface DrugRetailAndUseApplyInfoMapper extends BaseMapper<DrugRetailAn
/** /**
* 根据药品追溯码查询零售与使用信息 * 根据药品追溯码查询零售与使用信息
*
* @param ypzsm * @param ypzsm
* @return * @return
*/ */
DrugRetailAndUseInfoVO selectByYpzsm(@Param("ypzsm") String ypzsm); DrugRetailAndUseInfoVO selectByYpzsm(@Param("ypzsm") String ypzsm);
/**
* 根据药品追溯码查询,多次扫码的药品追溯码查询接口
*
* @param ypzsm
* @return
*/
List<DrugRetailAndUseApplyInfoVO> queryByYpzsm(@Param("ypzsm") String ypzsm);
} }

View File

@ -1,9 +1,12 @@
package com.alihealth.d2d.provtest.service; package com.alihealth.d2d.provtest.service;
import com.alihealth.d2d.provtest.VO.DrugRetailAndUseApplyInfoVO;
import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord; import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 药品追溯码多次扫码记录 服务类 * 药品追溯码多次扫码记录 服务类
@ -22,4 +25,11 @@ public interface IMultyScanCodeRecordService extends IService<MultyScanCodeRecor
* @return * @return
*/ */
Page<MultyScanCodeRecord> pageQuery(Page<MultyScanCodeRecord> page, String ypzsm, Integer handleFlag); Page<MultyScanCodeRecord> pageQuery(Page<MultyScanCodeRecord> page, String ypzsm, Integer handleFlag);
/**
* 多次扫码记录详情,根据药品追溯码进行查询
* @param ypzsm
* @return
*/
List<DrugRetailAndUseApplyInfoVO> detailsByYpzsm(String ypzsm);
} }

View File

@ -1,6 +1,8 @@
package com.alihealth.d2d.provtest.service.impl; package com.alihealth.d2d.provtest.service.impl;
import com.alihealth.d2d.provtest.VO.DrugRetailAndUseApplyInfoVO;
import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord; import com.alihealth.d2d.provtest.domain.MultyScanCodeRecord;
import com.alihealth.d2d.provtest.mapper.DrugRetailAndUseApplyInfoMapper;
import com.alihealth.d2d.provtest.mapper.MultyScanCodeRecordMapper; import com.alihealth.d2d.provtest.mapper.MultyScanCodeRecordMapper;
import com.alihealth.d2d.provtest.service.IMultyScanCodeRecordService; import com.alihealth.d2d.provtest.service.IMultyScanCodeRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -10,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
@ -26,6 +29,9 @@ public class MultyScanCodeRecordServiceImpl extends ServiceImpl<MultyScanCodeRec
@Autowired @Autowired
private MultyScanCodeRecordMapper multyScanCodeRecordMapper; private MultyScanCodeRecordMapper multyScanCodeRecordMapper;
@Autowired
private DrugRetailAndUseApplyInfoMapper drugRetailAndUseApplyInfoMapper;
@Override @Override
public Page<MultyScanCodeRecord> pageQuery(Page<MultyScanCodeRecord> page, String ypzsm, Integer handleFlag) { public Page<MultyScanCodeRecord> pageQuery(Page<MultyScanCodeRecord> page, String ypzsm, Integer handleFlag) {
Page<MultyScanCodeRecord> multyScanCodeRecordPage = multyScanCodeRecordMapper.selectPage(page, new QueryWrapper<MultyScanCodeRecord>().lambda() Page<MultyScanCodeRecord> multyScanCodeRecordPage = multyScanCodeRecordMapper.selectPage(page, new QueryWrapper<MultyScanCodeRecord>().lambda()
@ -36,4 +42,10 @@ public class MultyScanCodeRecordServiceImpl extends ServiceImpl<MultyScanCodeRec
); );
return multyScanCodeRecordPage; return multyScanCodeRecordPage;
} }
@Override
public List<DrugRetailAndUseApplyInfoVO> detailsByYpzsm(String ypzsm) {
List<DrugRetailAndUseApplyInfoVO> voList = drugRetailAndUseApplyInfoMapper.queryByYpzsm(ypzsm);
return voList;
}
} }

View File

@ -18,5 +18,44 @@
WHERE WHERE
ypzsm = #{ypzsm} ypzsm = #{ypzsm}
</select> </select>
<select id="queryByYpzsm" resultType="com.alihealth.d2d.provtest.VO.DrugRetailAndUseApplyInfoVO">
SELECT
ypzsm,
bzcj,
syjbzypzsm,
yptymc,
gjypbsm,
yppzwh,
yppzwhyxq,
ymscph,
scrq,
scsj,
sysl,
gmrsfxx,
gmrdhhm,
hlwddbz,
tyshxydmlsyd,
lsydmc,
zyxkzdjh,
lsdjbh,
jyxkzbh,
kfys,
ypfyr,
ypsyz,
jx,
bzgg,
zjgg,
bzzhb,
bzzhbdw,
ypzcfl,
tsypglfl
FROM
drug_retail_and_use_apply_info
WHERE
ypzsm = #{ypzsm}
ORDER BY
scsj ASC
</select>
</mapper> </mapper>