Commit bd887008 by huangtao

physic

parent b2aa9437
Showing with 1221 additions and 84 deletions
package com.jmai.physic.controller;
import com.jmai.physic.dto.PhysicAmpouleCreateReq;
import com.jmai.physic.dto.PhysicStorageAmpouleCreateReq;
import com.jmai.physic.service.PhysicAmpouleService;
import com.jmai.physic.service.PhysicStorageAmpouleService;
import com.jmai.sys.aop.Auth;
import com.jmai.sys.dto.ResponseData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
@Slf4j
@Auth
@RestController
@RequestMapping("/physicAmpoule")
@Api(tags = "药品专用登记-药房/科室")
@ApiImplicitParams({@ApiImplicitParam(paramType = "header", name = "Access-Token", value = "凭证", required = true, dataType = "string")})
public class PhysicAmpouleController {
@Resource
private PhysicAmpouleService physicAmpouleService;
@PostMapping("/create")
@ApiOperation(value = "创建")
public ResponseData create(@RequestBody @Valid PhysicAmpouleCreateReq req) {
physicAmpouleService.create(req);
return ResponseData.ok();
}
}
package com.jmai.physic.controller;
import com.jmai.physic.dto.PhysicDestroyCheckCreateReq;
import com.jmai.physic.dto.PhysicRecordCreateReq;
import com.jmai.physic.service.PhysicDestroyCheckService;
import com.jmai.physic.service.PhysicDestroyService;
import com.jmai.sys.aop.Auth;
import com.jmai.sys.dto.ResponseData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
@Slf4j
@Auth
@RestController
@RequestMapping("/physicDestroyCheck")
@Api(tags = "镇痛泵销毁")
public class PhysicDestroyCheckController {
@Resource
private PhysicDestroyCheckService physicDestroyCheckService;
@PostMapping("/create")
@ApiOperation(value = "创建")
public ResponseData create(@RequestBody @Valid PhysicDestroyCheckCreateReq req) {
physicDestroyCheckService.create(req);
return ResponseData.ok();
}
}
package com.jmai.physic.controller;
import com.jmai.physic.dto.PhysicRecordCreateReq;
import com.jmai.physic.service.PhysicRecordService;
import com.jmai.sys.aop.Auth;
import com.jmai.sys.dto.ResponseData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
@Slf4j
@Auth
@RestController
@RequestMapping("/physicRecord")
@Api(tags = "药品专用登记")
@ApiImplicitParams({@ApiImplicitParam(paramType = "header", name = "Access-Token", value = "凭证", required = true, dataType = "string")})
public class PhysicRecordController {
@Resource
private PhysicRecordService physicRecordService;
@PostMapping("/create")
@ApiOperation(value = "创建")
public ResponseData createPhysicRecord(@RequestBody @Valid PhysicRecordCreateReq req) {
physicRecordService.PhysicRecordCreate(req);
return ResponseData.ok();
}
}
package com.jmai.physic.controller;
import com.jmai.physic.dto.PhysicStorageAmpouleCreateReq;
import com.jmai.physic.service.PhysicStorageAmpouleService;
import com.jmai.sys.aop.Auth;
import com.jmai.sys.dto.ResponseData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
@Slf4j
@Auth
@RestController
@RequestMapping("/physicStorageAmpoule")
@Api(tags = "药品专用登记-药库")
@ApiImplicitParams({@ApiImplicitParam(paramType = "header", name = "Access-Token", value = "凭证", required = true, dataType = "string")})
public class PhysicStorageAmpouleController {
@Resource
private PhysicStorageAmpouleService physicStorageAmpouleService;
@PostMapping("/create")
@ApiOperation(value = "创建")
public ResponseData create(@RequestBody @Valid PhysicStorageAmpouleCreateReq req) {
physicStorageAmpouleService.create(req);
return ResponseData.ok();
}
}
package com.jmai.physic.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PhysicAmpouleCreateReq {
private Integer type;
private Integer deptId;
private String remark;
@ApiModelProperty(value = "药品记录集")
private List<PhysicAmpouleCreateReq.Physic> physicList;
@Data
public static class Physic{
@ApiModelProperty(value = "药品名称")
private String physicName;
private String physicType;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physicSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
private String unit;
}
}
...@@ -8,7 +8,6 @@ import lombok.Data; ...@@ -8,7 +8,6 @@ import lombok.Data;
@Data @Data
@ApiModel(description = "药品申请信息") @ApiModel(description = "药品申请信息")
@TableName("physic_apply")
public class PhysicApplyCreateReq { public class PhysicApplyCreateReq {
@ApiModelProperty(value = "药品名称") @ApiModelProperty(value = "药品名称")
private String physicName; private String physicName;
......
package com.jmai.physic.dto;
import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import lombok.Data;
import java.util.List;
@Data
public class PhysicDestroyCheckCreateReq {
private String applyName;
private String applyDeptId;
private String applyTitle;
private String applyReason;
private String images;
private List<PhysicDestroyCheckDetail> checkDetailList;
}
package com.jmai.physic.dto;
import lombok.Data;
import java.util.Date;
@Data
public class PhysicDestroyCreateReq {
private String sickName;
private String surplus;
private String images;
private Date destroyTime;
}
package com.jmai.physic.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PhysicRecordCreateReq {
@ApiModelProperty(value = "患者姓名")
private String sickName;
private Integer sickSex;
private Integer sickAge;
private String sickIdCard;
private String hospitalNumber;
@ApiModelProperty(value = "疾病名称")
private String diseaseName;
@ApiModelProperty(value = "处方编号")
private String prescriptionNumber;
@ApiModelProperty(value = "处方医生")
private String prescriptionDoctor;
private List<Long> prescriptionImages;
@ApiModelProperty(value = "药品记录集")
private List<Physic> physicList;
@Data
public static class Physic{
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physicSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
}
}
package com.jmai.physic.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PhysicStorageAmpouleCreateReq {
private Integer type;
private Integer deptId;
private String remark;
private Integer recycleReceiptNum;
@ApiModelProperty(value = "药品记录集")
private List<PhysicStorageAmpouleCreateReq.Physic> physicList;
@Data
public static class Physic{
@ApiModelProperty(value = "药品名称")
private String physicName;
private String physicType;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physicSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
}
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(description = "药品专用登记-科室/药房")
@TableName("physic_ampoule")
public class PhysicAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physiSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
private String unit;
private String physicType;
private Integer type;
private String orderNo;
private Integer deptId;
private Integer batchBalance;
private Integer physicBalance;
private String chUser;
private String fhUser;
private String remark;
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(description = "药品销毁表")
@TableName("physic_destroy")
public class PhysicDestroy extends BaseVersionEntity {
private Long deptId;
private String sickName;
private String orderNo;
private String surplus;
private Integer status;
private String czUser;
private String xhUser;
private String images;
private Date destroyTime;
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(description = "药品销毁审核表")
@TableName("physic_destroy_check")
public class PhysicDestroyCheck extends BaseVersionEntity {
private String applyName;
private String applyDeptId;
private String applyTitle;
private String applyReason;
private String images;
private Integer destroyNum;
private Integer status;
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(description = "药品销毁审核表")
@TableName("physic_destroy_check")
public class PhysicDestroyCheckDetail extends BaseVersionEntity {
private Long checkId;
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physiSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
private String factoryName;
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(description = "药品专用登记")
@TableName("physic_record")
public class PhysicRecord extends BaseVersionEntity {
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physiSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
@ApiModelProperty(value = "患者姓名")
private String sickName;
private Integer sickSex;
private Integer sickAge;
private String sickIdCard;
private String hospitalNumber;
@ApiModelProperty(value = "疾病名称")
private String diseaseName;
@ApiModelProperty(value = "处方编号")
private String prescriptionNumber;
@ApiModelProperty(value = "处方医生")
private String prescriptionDoctor;
@ApiModelProperty(value = "状态 0-待调配 1-待发药 2-已完成+")
private Integer status;
private String dpUser;
private String fyUser;
}
package com.jmai.physic.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jmai.sys.entity.BaseVersionEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(description = "药品专用登记-药库")
@TableName("physic_storage_ampoule")
public class PhysicStorageAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格")
private String physiSpec;
@ApiModelProperty(value = "批号")
private String batchNo;
private String unit;
private String physicType;
private Integer type;
private String orderNo;
private Integer deptId;
private Integer recycleReceiptNum;
private Integer batchBalance;
private Integer physicBalance;
private String jsUser;
private String thUser;
private Integer status;
private String remark;
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicAmpoule;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicAmpouleMapper extends BaseMapper<PhysicAmpoule> {
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicDestroyCheckDetailMapper extends BaseMapper<PhysicDestroyCheckDetail> {
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicBill;
import com.jmai.physic.entity.PhysicDestroyCheck;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicDestroyCheckMapper extends BaseMapper<PhysicDestroyCheck> {
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicDestroy;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicDestroyMapper extends BaseMapper<PhysicDestroy> {
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicRecord;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicRecordMapper extends BaseMapper<PhysicRecord> {
}
package com.jmai.physic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmai.physic.entity.PhysicStorageAmpoule;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PhysicStorageAmpouleMapper extends BaseMapper<PhysicStorageAmpoule> {
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicAmpouleCreateReq;
public interface PhysicAmpouleService {
void create(PhysicAmpouleCreateReq req);
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicDestroyCheckCreateReq;
import com.jmai.physic.entity.PhysicDestroyCheck;
import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import com.jmai.sys.service.BaseService;
public interface PhysicDestroyCheckDetailService extends BaseService<PhysicDestroyCheckDetail> {
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicDestroyCheckCreateReq;
import com.jmai.physic.entity.PhysicDestroyCheck;
import com.jmai.sys.service.BaseService;
public interface PhysicDestroyCheckService extends BaseService<PhysicDestroyCheck> {
void create(PhysicDestroyCheckCreateReq req);
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicAmpouleCreateReq;
import com.jmai.physic.dto.PhysicDestroyCreateReq;
public interface PhysicDestroyService {
void create(PhysicDestroyCreateReq req);
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicRecordCreateReq;
public interface PhysicRecordService {
void PhysicRecordCreate(PhysicRecordCreateReq req);
}
package com.jmai.physic.service;
import com.jmai.physic.dto.PhysicStorageAmpouleCreateReq;
public interface PhysicStorageAmpouleService {
void create(PhysicStorageAmpouleCreateReq req);
}
package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.jmai.physic.dto.PhysicAmpouleCreateReq;
import com.jmai.physic.entity.PhysicAmpoule;
import com.jmai.physic.mapper.PhysicAmpouleMapper;
import com.jmai.physic.service.PhysicAmpouleService;
import com.jmai.sys.AbstractService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicAmpouleService {
@Resource
private PhysicAmpouleMapper physicAmpouleMapper;
@Transactional
@Override
public void create(PhysicAmpouleCreateReq req) {
for (PhysicAmpouleCreateReq.Physic physic : req.getPhysicList()) {
PhysicAmpoule ampoule = new PhysicAmpoule();
BeanUtil.copyProperties(req,ampoule);
ampoule.setPhysicName(physic.getPhysicName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setPhysiSpec(physic.getPhysicSpec());
ampoule.setPhysicType(physic.getPhysicType());
physicAmpouleMapper.insert(ampoule);
}
}
}
package com.jmai.physic.service.impl;
import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import com.jmai.physic.mapper.PhysicDestroyCheckDetailMapper;
import com.jmai.physic.service.PhysicDestroyCheckDetailService;
import com.jmai.sys.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class PhysicDestroyCheckDetailServiceImpl extends BaseServiceImpl<PhysicDestroyCheckDetailMapper, PhysicDestroyCheckDetail> implements PhysicDestroyCheckDetailService {
}
package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.jmai.physic.dto.PhysicDestroyCheckCreateReq;
import com.jmai.physic.entity.PhysicDestroy;
import com.jmai.physic.entity.PhysicDestroyCheck;
import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import com.jmai.physic.mapper.PhysicDestroyCheckMapper;
import com.jmai.physic.service.PhysicDestroyCheckDetailService;
import com.jmai.physic.service.PhysicDestroyCheckService;
import com.jmai.sys.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
public class PhysicDestroyCheckServiceImpl extends BaseServiceImpl<PhysicDestroyCheckMapper, PhysicDestroyCheck> implements PhysicDestroyCheckService {
@Resource
private PhysicDestroyCheckDetailService physicDestroyCheckDetailService;
@Transactional
@Override
public void create(PhysicDestroyCheckCreateReq req) {
PhysicDestroyCheck check = new PhysicDestroyCheck();
BeanUtil.copyProperties(req,check);
this.save(check);
for (PhysicDestroyCheckDetail physicDestroyCheckDetail : req.getCheckDetailList()) {
physicDestroyCheckDetail.setCheckId(check.getId());
}
physicDestroyCheckDetailService.saveBatch(req.getCheckDetailList());
}
}
package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.jmai.physic.dto.PhysicDestroyCreateReq;
import com.jmai.physic.entity.PhysicDestroy;
import com.jmai.physic.mapper.PhysicDestroyMapper;
import com.jmai.physic.service.PhysicBillService;
import com.jmai.physic.service.PhysicDestroyService;
import com.jmai.sys.AbstractService;
import com.jmai.sys.ctx.SpringContextUtils;
import com.jmai.sys.entity.SysUser;
import com.jmai.sys.mapper.SysUserMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class PhysicDestroyServiceImpl extends AbstractService implements PhysicDestroyService {
@Resource
private SysUserMapper sysUserMapper;
@Resource
private PhysicDestroyMapper physicDestroyMapper;
@Override
public void create(PhysicDestroyCreateReq req) {
Long userId = SpringContextUtils.getUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
PhysicDestroy destroy =new PhysicDestroy();
BeanUtil.copyProperties(req,destroy);
destroy.setDeptId(sysUser.getDeptId());
destroy.setStatus(0);
physicDestroyMapper.insert(destroy);
}
}
package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.jmai.physic.dto.PhysicRecordCreateReq;
import com.jmai.physic.entity.PhysicRecord;
import com.jmai.physic.mapper.PhysicRecordMapper;
import com.jmai.physic.service.PhysicRecordService;
import com.jmai.sys.AbstractService;
import com.jmai.sys.consts.BizFileTypes;
import com.jmai.sys.service.BizFileService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
public class PhysicRecordServiceImpl extends AbstractService implements PhysicRecordService {
@Resource
private PhysicRecordMapper physicRecordMapper;
@Resource
private BizFileService bizFileService;
@Transactional
@Override
public void PhysicRecordCreate(PhysicRecordCreateReq req) {
for (PhysicRecordCreateReq.Physic physic : req.getPhysicList()) {
PhysicRecord record = new PhysicRecord();
BeanUtil.copyProperties(req,record);
record.setPhysicName(physic.getPhysicName());
record.setBatchNo(physic.getBatchNo());
record.setPhysicNum(physic.getPhysicNum());
record.setPhysiSpec(physic.getPhysicSpec());
physicRecordMapper.insert(record);
if(ObjectUtil.isNotEmpty(req.getPrescriptionImages())){
if (CollectionUtils.isNotEmpty(req.getPrescriptionImages())) {
bizFileService.addBizFilesIfAbsent(BizFileTypes.PHYSIC_RECORD_IMAGE,record.getId().toString(), req.getPrescriptionImages());
}
}
}
}
}
package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.jmai.physic.dto.PhysicStorageAmpouleCreateReq;
import com.jmai.physic.entity.PhysicStorageAmpoule;
import com.jmai.physic.mapper.PhysicStorageAmpouleMapper;
import com.jmai.physic.service.PhysicStorageAmpouleService;
import com.jmai.sys.AbstractService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
public class PhysicStorageAmpouleServiceImpl extends AbstractService implements PhysicStorageAmpouleService {
@Resource
private PhysicStorageAmpouleMapper physicStorageAmpouleMapper;
@Transactional
@Override
public void create(PhysicStorageAmpouleCreateReq req) {
for (PhysicStorageAmpouleCreateReq.Physic physic : req.getPhysicList()) {
PhysicStorageAmpoule ampoule = new PhysicStorageAmpoule();
BeanUtil.copyProperties(req,ampoule);
ampoule.setPhysicName(physic.getPhysicName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setPhysiSpec(physic.getPhysicSpec());
ampoule.setPhysicType(physic.getPhysicType());
physicStorageAmpouleMapper.insert(ampoule);
}
}
}
...@@ -134,13 +134,7 @@ public class SwaggerConfiguration implements WebMvcConfigurer { ...@@ -134,13 +134,7 @@ public class SwaggerConfiguration implements WebMvcConfigurer {
.select() .select()
.apis(basePackages( .apis(basePackages(
"com.jmai.sys.controller", "com.jmai.sys.controller",
"com.jmai.ivs.controller", "com.jmai.physic.controller"
"com.jmai.open.**.controller",
"com.jmai.ocr.controller",
"com.jmai.bi.controller",
"com.jmai.udi.controller",
"com.jmai.x.**.controller"
)) ))
.build() .build()
.globalRequestParameters(getRequestParameters()); .globalRequestParameters(getRequestParameters());
...@@ -165,78 +159,17 @@ public class SwaggerConfiguration implements WebMvcConfigurer { ...@@ -165,78 +159,17 @@ public class SwaggerConfiguration implements WebMvcConfigurer {
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo()) .apiInfo(getApiInfo())
.useDefaultResponseMessages(false) .useDefaultResponseMessages(false)
.groupName("2-ivs") .groupName("3-physic")
.select() .select()
.apis(basePackages("com.jmai.ivs.controller")) .apis(basePackages("com.jmai.physic.controller"))
.paths(PathSelectors.any()) .paths(PathSelectors.any())
.build() .build()
.globalRequestParameters(getRequestParameters()); .globalRequestParameters(getRequestParameters());
} }
@Bean
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public Docket openApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo())
.useDefaultResponseMessages(false)
.groupName("3-open")
.select()
.apis(basePackages("com.jmai.open.**.controller"))
.build()
.globalRequestParameters(getRequestParameters());
}
@Bean
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public Docket ocrApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo())
.useDefaultResponseMessages(false)
.groupName("4-ocr")
.select()
.apis(basePackages("com.jmai.ocr.controller"))
.build()
.globalRequestParameters(getRequestParameters());
}
@Bean
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public Docket biApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo())
.useDefaultResponseMessages(false)
.groupName("5-bi")
.select()
.apis(basePackages("com.jmai.bi.controller"))
.build()
.globalRequestParameters(getRequestParameters());
}
@Bean
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public Docket udiApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo())
.useDefaultResponseMessages(false)
.groupName("6-udi")
.select()
.apis(basePackages("com.jmai.udi.controller"))
.build()
.globalRequestParameters(getRequestParameters());
}
@Bean
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public Docket xApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getApiInfo())
.useDefaultResponseMessages(false)
.groupName("9-其他")
.select()
.apis(basePackages("com.jmai.x.**.controller"))
.build()
.globalRequestParameters(getRequestParameters());
}
private List<RequestParameter> getRequestParameters() { private List<RequestParameter> getRequestParameters() {
RequestParameterBuilder builder = new RequestParameterBuilder(); RequestParameterBuilder builder = new RequestParameterBuilder();
......
...@@ -11,19 +11,8 @@ public interface BizFileTypes { ...@@ -11,19 +11,8 @@ public interface BizFileTypes {
/******************************************************************* /*******************************************************************
* 基础模块 * 基础模块
******************************************************************/ ******************************************************************/
@ApiModelProperty("用户人脸") @ApiModelProperty("药品专用登记图片")
String SYS_USER_FACEBOOK = "sys.user.facebook"; String PHYSIC_RECORD_IMAGE = "physic.record.image";
/*******************************************************************
* 核验模块
******************************************************************/
@ApiModelProperty("导入结果")
String IVS_IMPORTER_RESULT = "ivs.importer.result";
@ApiModelProperty("业务单图片")
String IVS_BIZ_ORDER_IMAGE = "ivs.order.image";
@ApiModelProperty("核验单图片")
String IVS_VERIFY_ORDER_IMAGE = "ivs.verifyOrder.image";
@ApiModelProperty("核验任务图片")
String IVS_VERIFY_TASK_IMAGE = "ivs.verifyTask.image";
} }
package com.jmai.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
public interface BaseService<T> extends IService<T> {
}
package com.jmai.sys.service.impl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jmai.sys.service.BaseService;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
/**
* 公共Service父类
*/
public abstract class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements BaseService<T> {
/**
* 实体类型
*/
private Class<?> entityClass;
{
Class<?> clazz = this.getClass();
Type type = clazz.getGenericSuperclass();
if (type instanceof ParameterizedType) {
Type[] p = ((ParameterizedType) type).getActualTypeArguments();
this.entityClass = (Class<T>) p[1];
}
}
}
...@@ -2025,3 +2025,296 @@ com.jmai.api.exception.ServiceException: 401,token失效,请重新登录。 ...@@ -2025,3 +2025,296 @@ com.jmai.api.exception.ServiceException: 401,token失效,请重新登录。
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.lang.Thread.run(Thread.java:750) at java.lang.Thread.run(Thread.java:750)
[jmai:38098::] 2025-10-14 18:13:24.164[ERROR] 17576 [] [main:5313] [org.springframework.boot.SpringApplication.reportFailure:818] Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-web/3.0.0/springfox-spring-web-3.0.0.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:929)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at com.jmai.Application.main(Application.java:22)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 18 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 35 common frames omitted
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:669)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:635)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:332)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:420)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:76)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$2(AbstractHandlerMethodMapping.java:299)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:297)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:266)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:225)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:213)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:205)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 49 common frames omitted
[jmai:38098::] 2025-10-14 18:14:31.549[ERROR] 21404 [] [main:5341] [org.springframework.boot.SpringApplication.reportFailure:818] Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-web/3.0.0/springfox-spring-web-3.0.0.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:929)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at com.jmai.Application.main(Application.java:22)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 18 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 35 common frames omitted
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:669)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:635)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:332)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:420)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:76)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$2(AbstractHandlerMethodMapping.java:299)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:297)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:266)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:225)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:213)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:205)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 49 common frames omitted
[jmai:38098::] 2025-10-15 02:21:42.918[ERROR] 27892 [] [main:5919] [org.springframework.boot.SpringApplication.reportFailure:818] Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-web/3.0.0/springfox-spring-web-3.0.0.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:929)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at com.jmai.Application.main(Application.java:22)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Java/apache-maven-3.6.1/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:801)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 18 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1609)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1573)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1462)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788)
... 35 common frames omitted
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'physicStorageAmpouleController' method
com.jmai.physic.controller.PhysicStorageAmpouleController#create(PhysicStorageAmpouleCreateReq)
to {POST [/physicStorageAmpoule/create]}: There is already 'physicAmpouleController' bean method
com.jmai.physic.controller.PhysicAmpouleController#create(PhysicAmpouleCreateReq) mapped.
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:669)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:635)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:332)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:420)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:76)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$2(AbstractHandlerMethodMapping.java:299)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:297)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:266)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:225)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:213)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:205)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 49 common frames omitted
[jmai:38098::] 2025-10-15 02:22:23.366[ERROR] 23220 [] [main:5589] [o.s.b.diagnostics.LoggingFailureAnalysisReporter.report:40]
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 38098 was already in use.
Action:
Identify and stop the process that's listening on port 38098 or configure this application to listen on another port.
[jmai:38098::] 2025-10-20 02:54:01.815[ERROR] 31828 [] [main:7450] [o.s.b.diagnostics.LoggingFailureAnalysisReporter.report:40]
***************************
APPLICATION FAILED TO START
***************************
Description:
A component required a bean of type 'com.jmai.physic.service.PhysicDestroyCheckDetailService' that could not be found.
Action:
Consider defining a bean of type 'com.jmai.physic.service.PhysicDestroyCheckDetailService' in your configuration.
This diff could not be displayed because it is too large.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment