Commit 32440598 by zhu.zewen

修复业务单创建

parent 67052241
Showing with 221 additions and 120 deletions
...@@ -6,30 +6,26 @@ import lombok.Data; ...@@ -6,30 +6,26 @@ import lombok.Data;
@Data @Data
public class BillDTO { public class BillDTO {
@ApiModelProperty(value = "部门id")
private Long deptId;
@ApiModelProperty(value = "药品名称")
private String physicName; private String physicName;
@ApiModelProperty(value = "药品类型") @ApiModelProperty(value = "药品类型")
private String physicSpec; private String physicSpec;
@ApiModelProperty(value = "厂家名称")
private Long deptId; private String factoryName;
@ApiModelProperty(value = "失效时间") @ApiModelProperty(value = "失效时间")
private String expireDate; private String expireDate;
@ApiModelProperty(value = "批号") @ApiModelProperty(value = "批号")
private String batchNo; private String batchNo;
@ApiModelProperty(value = "数量") @ApiModelProperty(value = "数量")
private Integer physicNum; private Integer physicNum;
@ApiModelProperty(value = " 1-采购入库 2-申领入库 3-申领出库 4-使用出库 5-回收空安瓿 6-退回空安瓿 7-销毁空安瓿") @ApiModelProperty(value = " 1-采购入库 2-申领入库 3-申领出库 4-使用出库 5-回收空安瓿 6-退回空安瓿 7-销毁空安瓿")
private Integer type; private Integer type;
@ApiModelProperty(value = "厂家名称")
private String factoryName;
@ApiModelProperty(value = "相关申请、入库id") @ApiModelProperty(value = "相关申请、入库id")
private Long refId; private Long refId;
} }
...@@ -2,17 +2,22 @@ package com.jmai.physic.dto; ...@@ -2,17 +2,22 @@ package com.jmai.physic.dto;
import com.jmai.physic.entity.PhysicDestroyCheckDetail; import com.jmai.physic.entity.PhysicDestroyCheckDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Collections;
import java.util.List; import java.util.List;
@Data @Data
public class PhysicDestroyCheckCreateReq { public class PhysicDestroyCheckCreateReq {
@ApiModelProperty(value = "申请人")
private String applyName; private String applyName;
private String applyDeptId; @ApiModelProperty(value = "申请科室")
private Long applyDeptId;
@ApiModelProperty(value = "申请标题")
private String applyTitle; private String applyTitle;
@ApiModelProperty(value = "申请理由")
private String applyReason; private String applyReason;
private List<Long> images; private List<Long> images;
private List<PhysicDestroyCheckDetail> checkDetailList; private List<PhysicDestroyCheckDetail> checkDetailList = Collections.emptyList();
} }
...@@ -10,9 +10,13 @@ import java.util.List; ...@@ -10,9 +10,13 @@ import java.util.List;
public class PhysicRecordCreateReq { public class PhysicRecordCreateReq {
@ApiModelProperty(value = "患者姓名") @ApiModelProperty(value = "患者姓名")
private String sickName; private String sickName;
@ApiModelProperty(value = "患者性别")
private Integer sickSex; private Integer sickSex;
@ApiModelProperty(value = "患者年龄")
private Integer sickAge; private Integer sickAge;
@ApiModelProperty(value = "患者身份证号")
private String sickIdCard; private String sickIdCard;
@ApiModelProperty(value = "住院号")
private String hospitalNumber; private String hospitalNumber;
@ApiModelProperty(value = "疾病名称") @ApiModelProperty(value = "疾病名称")
private String diseaseName; private String diseaseName;
......
...@@ -9,16 +9,16 @@ import java.util.List; ...@@ -9,16 +9,16 @@ import java.util.List;
@Data @Data
public class PhysicStorageAmpouleCreateReq { public class PhysicStorageAmpouleCreateReq {
@NotNull(message = "type不能为空") @NotNull(message = "type不能为空")
@ApiModelProperty(value = "1-回收 2-移至销毁") @ApiModelProperty(value = "1-回收 2-移至销毁")
private Integer type; private Integer type;
@ApiModelProperty(value = "移交部门") @ApiModelProperty(value = "移交部门")
private Integer transferDeptId; private Long transferDeptId;
@ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "回收处方数量")
private Integer recycleReceiptNum; private Integer recycleReceiptNum;
@ApiModelProperty(value = "药品记录集") @ApiModelProperty(value = "药品记录集")
......
...@@ -10,8 +10,10 @@ import lombok.Data; ...@@ -10,8 +10,10 @@ import lombok.Data;
@Data @Data
@ApiModel(description = "药品专用登记-科室/药房") @ApiModel(description = "药品专用登记-科室/药房")
@TableName("physic_ampoule") @TableName("physic_ampoule")
public class PhysicAmpoule extends BaseVersionEntity { public class PhysicAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "部门ID")
private Long deptId;
@ApiModelProperty(value = "药品名称") @ApiModelProperty(value = "药品名称")
private String physicName; private String physicName;
@ApiModelProperty(value = "规格") @ApiModelProperty(value = "规格")
...@@ -35,9 +37,6 @@ public class PhysicAmpoule extends BaseVersionEntity { ...@@ -35,9 +37,6 @@ public class PhysicAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "订单号") @ApiModelProperty(value = "订单号")
private String orderNo; private String orderNo;
@ApiModelProperty(value = "部门ID")
private Long deptId;
private Integer batchBalance; private Integer batchBalance;
private Integer physicBalance; private Integer physicBalance;
......
...@@ -35,7 +35,6 @@ public class PhysicApply extends BaseVersionEntity{ ...@@ -35,7 +35,6 @@ public class PhysicApply extends BaseVersionEntity{
@ApiModelProperty(value = "实发数量") @ApiModelProperty(value = "实发数量")
private Integer actualNum; private Integer actualNum;
@ApiModelProperty(value = "发药部门") @ApiModelProperty(value = "发药部门")
private Long fyDeptId; private Long fyDeptId;
@ApiModelProperty(value = "领药部门") @ApiModelProperty(value = "领药部门")
...@@ -44,9 +43,13 @@ public class PhysicApply extends BaseVersionEntity{ ...@@ -44,9 +43,13 @@ public class PhysicApply extends BaseVersionEntity{
@ApiModelProperty(value = "状态 0 -待领药 1-待审核 2-待发药 3 -待复核 4 -完成") @ApiModelProperty(value = "状态 0 -待领药 1-待审核 2-待发药 3 -待复核 4 -完成")
private Integer status; private Integer status;
@ApiModelProperty(value = "领药人")
private String lyUser; private String lyUser;
@ApiModelProperty(value = "审核人")
private String shUser; private String shUser;
@ApiModelProperty(value = "发药人")
private String fyUser; private String fyUser;
@ApiModelProperty(value = "复核人")
private String fhUser; private String fhUser;
} }
...@@ -52,8 +52,4 @@ public class PhysicBill extends BaseVersionEntity { ...@@ -52,8 +52,4 @@ public class PhysicBill extends BaseVersionEntity {
private Integer balance; private Integer balance;
@ApiModelProperty(value = "总结存") @ApiModelProperty(value = "总结存")
private Integer balanceAll; private Integer balanceAll;
} }
...@@ -7,26 +7,30 @@ import io.swagger.annotations.ApiModel; ...@@ -7,26 +7,30 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@Data @Data
@ApiModel(description = "药品销毁表") @ApiModel(description = "药品销毁表")
@TableName("physic_destroy") @TableName("physic_destroy")
public class PhysicDestroy extends BaseVersionEntity { public class PhysicDestroy extends BaseVersionEntity {
@ApiModelProperty(value = "部门id")
private Long deptId; private Long deptId;
@ApiModelProperty(value = "患者名称")
private String sickName; private String sickName;
@ApiModelProperty(value = "订单编号")
private String orderNo; private String orderNo;
private String surplus; private String surplus;
@ApiModelProperty(value = "状态 0-代操作 1-待复核 2-已完成") @ApiModelProperty(value = "状态 0-代操作 1-待复核 2-已完成")
private Integer status; private Integer status;
@ApiModelProperty(value = "操作人")
private String czUser; private String czUser;
@ApiModelProperty(value = "复核人")
private String fhUser; private String fhUser;
@ApiModelProperty(value = "图片")
private String images; private String images;
private Date destroyTime; @ApiModelProperty(value = "销毁时间")
private LocalDateTime destroyTime;
} }
...@@ -11,19 +11,32 @@ import lombok.Data; ...@@ -11,19 +11,32 @@ import lombok.Data;
@ApiModel(description = "药品销毁审核表") @ApiModel(description = "药品销毁审核表")
@TableName("physic_destroy_check") @TableName("physic_destroy_check")
public class PhysicDestroyCheck extends BaseVersionEntity { public class PhysicDestroyCheck extends BaseVersionEntity {
@ApiModelProperty(value = "单号")
private String orderNo; private String orderNo;
@ApiModelProperty(value = "申请人")
private String applyName; private String applyName;
@ApiModelProperty(value = "申请部门")
private Long applyDeptId; private Long applyDeptId;
@ApiModelProperty(value = "申请标题")
private String applyTitle; private String applyTitle;
@ApiModelProperty(value = "申请事由")
private String applyReason; private String applyReason;
@ApiModelProperty(value = "销毁数量")
private Integer destroyNum; private Integer destroyNum;
@ApiModelProperty(value = "销毁状态:0-5审批中, 6-已销毁 ") @ApiModelProperty(value = "销毁状态:0-5审批中, 6-已销毁 ")
private Integer status; private Integer status;
@ApiModelProperty(value = "销毁人")
private String xhUser; private String xhUser;
@ApiModelProperty(value = "监督人")
private String jdUser; private String jdUser;
@ApiModelProperty(value = "药学部主任")
private String yxbzrUser; private String yxbzrUser;
@ApiModelProperty(value = "医务科科长")
private String ywkkzUser; private String ywkkzUser;
@ApiModelProperty(value = "保卫科科长")
private String bwkkzUser; private String bwkkzUser;
@ApiModelProperty(value = "主管院长")
private String zgyzUser; private String zgyzUser;
} }
...@@ -11,18 +11,18 @@ import lombok.Data; ...@@ -11,18 +11,18 @@ import lombok.Data;
@ApiModel(description = "药品销毁审核详情表") @ApiModel(description = "药品销毁审核详情表")
@TableName("physic_destroy_check_detail") @TableName("physic_destroy_check_detail")
public class PhysicDestroyCheckDetail extends BaseVersionEntity { public class PhysicDestroyCheckDetail extends BaseVersionEntity {
@ApiModelProperty(value = "审核id")
private Long checkId; private Long checkId;
@ApiModelProperty(value = "药品名称") @ApiModelProperty(value = "药品名称")
private String physicName; private String physicName;
@ApiModelProperty(value = "药品数量")
private Integer physicNum;
@ApiModelProperty(value = "规格") @ApiModelProperty(value = "规格")
private String physicSpec; private String physicSpec;
@ApiModelProperty(value = "生产厂家")
private String factoryName;
@ApiModelProperty(value = "批号") @ApiModelProperty(value = "批号")
private String batchNo; private String batchNo;
@ApiModelProperty(value = "药品数量")
private String factoryName; private Integer physicNum;
} }
...@@ -12,7 +12,6 @@ import lombok.Data; ...@@ -12,7 +12,6 @@ import lombok.Data;
@TableName("physic_storage_ampoule") @TableName("physic_storage_ampoule")
public class PhysicStorageAmpoule extends BaseVersionEntity { public class PhysicStorageAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "药品名称") @ApiModelProperty(value = "药品名称")
private String physicName; private String physicName;
@ApiModelProperty(value = "药品规格") @ApiModelProperty(value = "药品规格")
...@@ -33,6 +32,8 @@ public class PhysicStorageAmpoule extends BaseVersionEntity { ...@@ -33,6 +32,8 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
private Integer acquireNum; private Integer acquireNum;
@ApiModelProperty(value = "发出") @ApiModelProperty(value = "发出")
private Integer expendNum; private Integer expendNum;
@ApiModelProperty(value = "回收处方数量")
private Integer recycleReceiptNum;
@ApiModelProperty(value = "类型:1-接收,2-移至销毁") @ApiModelProperty(value = "类型:1-接收,2-移至销毁")
private Integer type; private Integer type;
...@@ -46,12 +47,12 @@ public class PhysicStorageAmpoule extends BaseVersionEntity { ...@@ -46,12 +47,12 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
@ApiModelProperty(value = "接收部门") @ApiModelProperty(value = "接收部门")
private Long acceptDeptId; private Long acceptDeptId;
private Integer recycleReceiptNum;
private Integer batchBalance; private Integer batchBalance;
private Integer physicBalance; private Integer physicBalance;
@ApiModelProperty(value = "接收人")
private String jsUser; private String jsUser;
@ApiModelProperty(value = "退回人")
private String thUser; private String thUser;
@ApiModelProperty(value = "状态:0-待处理、1-退出人处理、2-接收人处理") @ApiModelProperty(value = "状态:0-待处理、1-退出人处理、2-接收人处理")
......
...@@ -38,7 +38,10 @@ public class PhysicWarehouse extends BaseVersionEntity{ ...@@ -38,7 +38,10 @@ public class PhysicWarehouse extends BaseVersionEntity{
@ApiModelProperty(value = "状态 0 -待验收 1-待复核 2 -待保管 3 -完成") @ApiModelProperty(value = "状态 0 -待验收 1-待复核 2 -待保管 3 -完成")
private Integer status; private Integer status;
@ApiModelProperty(value = "验收人")
private String ysUser; private String ysUser;
@ApiModelProperty(value = "复核人")
private String fhUser; private String fhUser;
@ApiModelProperty(value = "保管人")
private String bgUser; private String bgUser;
} }
...@@ -55,12 +55,18 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA ...@@ -55,12 +55,18 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
String orderNo = sysManager.newOrderNo(PhysicAmpoule.class); String orderNo = sysManager.newOrderNo(PhysicAmpoule.class);
PhysicAmpoule ampoule = new PhysicAmpoule(); PhysicAmpoule ampoule = new PhysicAmpoule();
BeanUtil.copyProperties(req,ampoule); BeanUtil.copyProperties(req,ampoule);
ampoule.setOrderNo(orderNo); ampoule.setDeptId(SpringContextUtils.getDeptId());
ampoule.setPhysicName(physic.getPhysicName()); ampoule.setPhysicName(physic.getPhysicName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setPhysicSpec(physic.getPhysicSpec()); ampoule.setPhysicSpec(physic.getPhysicSpec());
ampoule.setPhysicType(physic.getPhysicType()); ampoule.setPhysicType(physic.getPhysicType());
ampoule.setUnit(physic.getUnit());
ampoule.setFactoryName(physic.getFactoryName());
ampoule.setExpireDate(physic.getExpireDate());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setType(req.getType());
ampoule.setOrderNo(orderNo);
ampoule.setRemark(req.getRemark());
physicAmpouleMapper.insert(ampoule); physicAmpouleMapper.insert(ampoule);
} }
} }
......
...@@ -30,7 +30,6 @@ import org.springframework.util.CollectionUtils; ...@@ -30,7 +30,6 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -54,17 +53,23 @@ public class PhysicApplyServiceImpl extends AbstractService implements PhysicApp ...@@ -54,17 +53,23 @@ public class PhysicApplyServiceImpl extends AbstractService implements PhysicApp
@Transactional @Transactional
@Override @Override
public PhysicApplyVO createPhysicApply(PhysicApplyCreateReq req) { public PhysicApplyVO createPhysicApply(PhysicApplyCreateReq req) {
PhysicApply apply =new PhysicApply(); PhysicApply apply = new PhysicApply();
BeanUtil.copyProperties(req,apply); // 复制请求对象的属性到实体对象
BeanUtil.copyProperties(req, apply);
Long userId = SpringContextUtils.getUserId(); Long deptId = SpringContextUtils.getDeptId();
SysUser sysUser = sysUserMapper.selectById(userId);
Long deptId = sysUser.getDeptId();
SysDept sysDept = sysDeptMapper.selectById(deptId); SysDept sysDept = sysDeptMapper.selectById(deptId);
apply.setLyDeptId(deptId);
apply.setFyDeptId(sysDept.getParentId()); apply.setFyDeptId(sysDept.getParentId());
apply.setLyDeptId(deptId);
apply.setStatus(0); apply.setStatus(0);
apply.setLyUser("");
apply.setShUser("");
apply.setFyUser("");
apply.setFhUser("");
physicApplyMapper.insert(apply); physicApplyMapper.insert(apply);
PhysicApplyVO info = getInfo(apply.getId()); PhysicApplyVO info = getInfo(apply.getId());
return info; return info;
......
package com.jmai.physic.service.impl; package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jmai.api.exception.ServiceException; import com.jmai.api.exception.ServiceException;
...@@ -10,8 +11,6 @@ import com.jmai.physic.dto.PhysicBillQueryReq; ...@@ -10,8 +11,6 @@ import com.jmai.physic.dto.PhysicBillQueryReq;
import com.jmai.physic.dto.PhysicBillSignReq; import com.jmai.physic.dto.PhysicBillSignReq;
import com.jmai.physic.dto.SignInfoDTO; import com.jmai.physic.dto.SignInfoDTO;
import com.jmai.physic.entity.PhysicBill; import com.jmai.physic.entity.PhysicBill;
import com.jmai.physic.entity.PhysicDestroyCheck;
import com.jmai.physic.entity.PhysicWarehouse;
import com.jmai.physic.mapper.PhysicBillMapper; import com.jmai.physic.mapper.PhysicBillMapper;
import com.jmai.physic.service.PhysicBillService; import com.jmai.physic.service.PhysicBillService;
import com.jmai.physic.vo.BillInfoVO; import com.jmai.physic.vo.BillInfoVO;
...@@ -43,21 +42,21 @@ public class PhysicBillServiceImpl extends AbstractService implements PhysicBill ...@@ -43,21 +42,21 @@ public class PhysicBillServiceImpl extends AbstractService implements PhysicBill
@Transactional @Transactional
@Override @Override
public void createBill(BillDTO billDTO) { public void createBill(BillDTO req) {
PhysicBill bill = new PhysicBill(); PhysicBill bill = new PhysicBill();
BeanUtil.copyProperties(billDTO,bill); BeanUtil.copyProperties(req, bill);
bill.setType(billDTO.getType()); bill.setType(req.getType());
Integer batchNoSum = physicBillMapper.selectSumByBatchNo(billDTO.getPhysicName(), billDTO.getPhysicSpec(), billDTO.getFactoryName(), billDTO.getBatchNo(),billDTO.getDeptId()); Integer batchNoSum = physicBillMapper.selectSumByBatchNo(req.getPhysicName(), req.getPhysicSpec(), req.getFactoryName(), req.getBatchNo(), req.getDeptId());
Integer sum = physicBillMapper.selectSumByName(billDTO.getPhysicName(), billDTO.getPhysicSpec(), billDTO.getFactoryName(),billDTO.getDeptId()); Integer sum = physicBillMapper.selectSumByName(req.getPhysicName(), req.getPhysicSpec(), req.getFactoryName(), req.getDeptId());
if(billDTO.getType()==1 || billDTO.getType()==2){ if (ObjectUtil.equals(req.getType(), 1) || ObjectUtil.equals(req.getType(), 2)) {
bill.setAcquireNum(billDTO.getPhysicNum()); bill.setAcquireNum(req.getPhysicNum());
bill.setBalance(batchNoSum+billDTO.getPhysicNum()); bill.setBalance(batchNoSum + req.getPhysicNum());
bill.setBalanceAll(sum+billDTO.getPhysicNum()); bill.setBalanceAll(sum + req.getPhysicNum());
}else if(billDTO.getType()==3 || billDTO.getType()==4){ } else if (ObjectUtil.equals(req.getType(), 3) || ObjectUtil.equals(req.getType(), 4)) {
bill.setExpendNum(billDTO.getPhysicNum()); bill.setExpendNum(req.getPhysicNum());
bill.setBalance(batchNoSum-billDTO.getPhysicNum()); bill.setBalance(batchNoSum - req.getPhysicNum());
bill.setBalanceAll(sum-billDTO.getPhysicNum()); bill.setBalanceAll(sum - req.getPhysicNum());
} }
bill.setStatus(0); bill.setStatus(0);
......
...@@ -70,20 +70,26 @@ public class PhysicDestroyCheckServiceImpl extends BaseServiceImpl<PhysicDestroy ...@@ -70,20 +70,26 @@ public class PhysicDestroyCheckServiceImpl extends BaseServiceImpl<PhysicDestroy
@Override @Override
public void create(PhysicDestroyCheckCreateReq req) { public void create(PhysicDestroyCheckCreateReq req) {
String orderNo = sysManager.newOrderNo(PhysicDestroyCheck.class); String orderNo = sysManager.newOrderNo(PhysicDestroyCheck.class);
int destroyNum = req.getCheckDetailList().stream().mapToInt(PhysicDestroyCheckDetail::getPhysicNum).sum();
PhysicDestroyCheck check = new PhysicDestroyCheck(); PhysicDestroyCheck check = new PhysicDestroyCheck();
BeanUtil.copyProperties(req,check); BeanUtil.copyProperties(req, check);
check.setOrderNo(orderNo); check.setOrderNo(orderNo);
check.setApplyName(req.getApplyName());
check.setApplyDeptId(req.getApplyDeptId());
check.setApplyTitle(req.getApplyTitle());
check.setApplyReason(req.getApplyReason());
check.setDestroyNum(destroyNum);
// 相关人员初始化为空
this.save(check); this.save(check);
if(CollectionUtils.isNotEmpty(req.getCheckDetailList())) {
for (PhysicDestroyCheckDetail physicDestroyCheckDetail : req.getCheckDetailList()) { if (CollectionUtils.isNotEmpty(req.getCheckDetailList())) {
physicDestroyCheckDetail.setCheckId(check.getId()); req.getCheckDetailList().forEach(detail -> detail.setCheckId(check.getId()));
}
physicDestroyCheckDetailService.saveBatch(req.getCheckDetailList()); physicDestroyCheckDetailService.saveBatch(req.getCheckDetailList());
} }
if(ObjectUtil.isNotEmpty(req.getImages())){
if (CollectionUtils.isNotEmpty(req.getImages())) { if (ObjectUtil.isNotEmpty(req.getImages())) {
bizFileService.addBizFilesIfAbsent(BizFileTypes.AMPOULE_DESTROY_IMAGE,check.getId().toString(), req.getImages()); bizFileService.addBizFilesIfAbsent(BizFileTypes.AMPOULE_DESTROY_IMAGE, check.getId().toString(), req.getImages());
}
} }
} }
......
...@@ -7,8 +7,6 @@ import com.jmai.api.exception.ServiceException; ...@@ -7,8 +7,6 @@ import com.jmai.api.exception.ServiceException;
import com.jmai.physic.cloudsign.CloudsignService; import com.jmai.physic.cloudsign.CloudsignService;
import com.jmai.physic.dto.*; import com.jmai.physic.dto.*;
import com.jmai.physic.entity.PhysicDestroy; import com.jmai.physic.entity.PhysicDestroy;
import com.jmai.physic.entity.PhysicRecord;
import com.jmai.physic.entity.PhysicWarehouse;
import com.jmai.physic.mapper.PhysicDestroyMapper; import com.jmai.physic.mapper.PhysicDestroyMapper;
import com.jmai.physic.service.PhysicBillService; import com.jmai.physic.service.PhysicBillService;
import com.jmai.physic.service.PhysicDestroyService; import com.jmai.physic.service.PhysicDestroyService;
...@@ -40,17 +38,15 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD ...@@ -40,17 +38,15 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
@Override @Override
public void create(PhysicDestroyCreateReq req) { public void create(PhysicDestroyCreateReq req) {
Long userId = SpringContextUtils.getUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
String orderNo = sysManager.newOrderNo(PhysicDestroy.class); String orderNo = sysManager.newOrderNo(PhysicDestroy.class);
PhysicDestroy destroy =new PhysicDestroy(); PhysicDestroy destroy = new PhysicDestroy();
BeanUtil.copyProperties(req,destroy); BeanUtil.copyProperties(req, destroy);
destroy.setDeptId(SpringContextUtils.getDeptId());
destroy.setOrderNo(orderNo); destroy.setOrderNo(orderNo);
destroy.setDeptId(sysUser.getDeptId()); destroy.setSurplus(req.getSurplus());
destroy.setStatus(0); destroy.setStatus(0);
destroy.setDestroyTime(LocalDateTime.now());
physicDestroyMapper.insert(destroy); physicDestroyMapper.insert(destroy);
} }
@Override @Override
......
...@@ -53,25 +53,26 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe ...@@ -53,25 +53,26 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
private PhysicBillService physicBillService; private PhysicBillService physicBillService;
@Transactional @Transactional
@Override @Override
public List<PhysicRecord> physicRecordCreate(PhysicRecordCreateReq req) { public List<PhysicRecord> physicRecordCreate(PhysicRecordCreateReq req) {
List<PhysicRecord> records = new ArrayList<>(); List<PhysicRecord> records = new ArrayList<>();
Long userId = SpringContextUtils.getUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
for (PhysicRecordCreateReq.Physic physic : req.getPhysicList()) { for (PhysicRecordCreateReq.Physic physic : req.getPhysicList()) {
PhysicRecord record = new PhysicRecord(); PhysicRecord record = new PhysicRecord();
BeanUtil.copyProperties(req,record); BeanUtil.copyProperties(req, record);
record.setDeptId(SpringContextUtils.getDeptId());
record.setPhysicName(physic.getPhysicName()); record.setPhysicName(physic.getPhysicName());
record.setPhysicSpec(physic.getPhysicSpec());
record.setPhysicType(physic.getPhysicType());
record.setUnit(physic.getUnit());
record.setFactoryName(physic.getFactoryName());
record.setExpireDate(physic.getExpireDate());
record.setBatchNo(physic.getBatchNo()); record.setBatchNo(physic.getBatchNo());
record.setPhysicNum(physic.getPhysicNum()); record.setPhysicNum(physic.getPhysicNum());
record.setPhysicSpec(physic.getPhysicSpec());
record.setDeptId(sysUser.getDeptId());
physicRecordMapper.insert(record); physicRecordMapper.insert(record);
if(ObjectUtil.isNotEmpty(req.getPrescriptionImages())){ if (ObjectUtil.isNotEmpty(req.getPrescriptionImages())) {
if (CollectionUtils.isNotEmpty(req.getPrescriptionImages())) { if (CollectionUtils.isNotEmpty(req.getPrescriptionImages())) {
bizFileService.addBizFilesIfAbsent(BizFileTypes.PHYSIC_RECORD_IMAGE,record.getId().toString(), req.getPrescriptionImages()); bizFileService.addBizFilesIfAbsent(BizFileTypes.PHYSIC_RECORD_IMAGE, record.getId().toString(), req.getPrescriptionImages());
} }
} }
records.add(record); records.add(record);
......
...@@ -49,47 +49,87 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements ...@@ -49,47 +49,87 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
@Transactional @Transactional
@Override @Override
public void create(PhysicStorageAmpouleCreateReq req) { public void create(PhysicStorageAmpouleCreateReq req) {
Long userId = SpringContextUtils.getUserId(); Long deptId = SpringContextUtils.getDeptId();
SysUser sysUser = sysUserMapper.selectById(userId);
if(req.getType()==1) { if(ObjectUtil.equals(req.getType(), 1)) {
// 1-回收
for (PhysicStorageAmpouleCreateReq.Physic physic : req.getPhysicList()) { for (PhysicStorageAmpouleCreateReq.Physic physic : req.getPhysicList()) {
String orderNo = sysManager.newOrderNo(PhysicStorageAmpoule.class); String orderNo = sysManager.newOrderNo(PhysicStorageAmpoule.class);
PhysicStorageAmpoule ampoule = new PhysicStorageAmpoule(); PhysicStorageAmpoule ampoule = new PhysicStorageAmpoule();
BeanUtil.copyProperties(req, ampoule); BeanUtil.copyProperties(req, ampoule);
ampoule.setOrderNo(orderNo); ampoule.setOrderNo(orderNo);
ampoule.setPhysicName(physic.getPhysicName()); ampoule.setPhysicName(physic.getPhysicName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setAcceptDeptId(sysUser.getDeptId());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setPhysicSpec(physic.getPhysicSpec()); ampoule.setPhysicSpec(physic.getPhysicSpec());
ampoule.setPhysicType(physic.getPhysicType()); ampoule.setPhysicType(physic.getPhysicType());
ampoule.setUnit(physic.getUnit());
ampoule.setFactoryName(physic.getFactoryName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setAcquireNum(physic.getPhysicNum()); ampoule.setAcquireNum(physic.getPhysicNum());
Integer batchNoSum = physicStorageAmpouleMapper.selectCurrentSumByBatchNo(physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), physic.getBatchNo(), sysUser.getDeptId()); ampoule.setExpendNum(null);
Integer physicSum = physicStorageAmpouleMapper.selectCurrentSumByName(physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), sysUser.getDeptId()); ampoule.setRecycleReceiptNum(req.getRecycleReceiptNum());
ampoule.setType(req.getType());
ampoule.setTransferDeptId(req.getTransferDeptId());
ampoule.setAcceptDeptId(deptId);
// 统计数量
Integer batchNoSum = physicStorageAmpouleMapper.selectCurrentSumByBatchNo(
physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), physic.getBatchNo(), deptId);
Integer physicSum = physicStorageAmpouleMapper.selectCurrentSumByName(
physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), deptId);
ampoule.setBatchBalance(batchNoSum+physic.getPhysicNum()); ampoule.setBatchBalance(batchNoSum+physic.getPhysicNum());
ampoule.setPhysicNum(physicSum+physic.getPhysicNum()); ampoule.setPhysicNum(physicSum+physic.getPhysicNum());
ampoule.setJsUser(null);
ampoule.setThUser(null);
ampoule.setStatus(0);
ampoule.setRemark(req.getRemark());
physicStorageAmpouleMapper.insert(ampoule); physicStorageAmpouleMapper.insert(ampoule);
} }
}if(req.getType()==2) { }else if(ObjectUtil.equals(req.getType(), 2)) {
// 2-移至销毁
for (PhysicStorageAmpouleCreateReq.Physic physic : req.getPhysicList()) { for (PhysicStorageAmpouleCreateReq.Physic physic : req.getPhysicList()) {
String orderNo = sysManager.newOrderNo(PhysicStorageAmpoule.class);
PhysicStorageAmpoule ampoule = new PhysicStorageAmpoule(); PhysicStorageAmpoule ampoule = new PhysicStorageAmpoule();
BeanUtil.copyProperties(req, ampoule); BeanUtil.copyProperties(req, ampoule);
ampoule.setOrderNo(orderNo);
ampoule.setPhysicName(physic.getPhysicName()); ampoule.setPhysicName(physic.getPhysicName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setTransferDeptId(sysUser.getDeptId());
ampoule.setAcceptDeptId(sysUser.getDeptId());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setPhysicSpec(physic.getPhysicSpec()); ampoule.setPhysicSpec(physic.getPhysicSpec());
ampoule.setPhysicType(physic.getPhysicType()); ampoule.setPhysicType(physic.getPhysicType());
Integer batchNoSum = physicStorageAmpouleMapper.selectCurrentSumByBatchNo(physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), physic.getBatchNo(), sysUser.getDeptId()); ampoule.setUnit(physic.getUnit());
Integer physicSum = physicStorageAmpouleMapper.selectCurrentSumByName(physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), sysUser.getDeptId()); ampoule.setFactoryName(physic.getFactoryName());
ampoule.setBatchNo(physic.getBatchNo());
ampoule.setPhysicNum(physic.getPhysicNum());
ampoule.setAcquireNum(physic.getPhysicNum());
ampoule.setExpendNum(null);
ampoule.setRecycleReceiptNum(req.getRecycleReceiptNum());
ampoule.setType(req.getType());
ampoule.setTransferDeptId(deptId);
ampoule.setAcceptDeptId(deptId);
Integer batchNoSum = physicStorageAmpouleMapper.selectCurrentSumByBatchNo(
physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), physic.getBatchNo(), deptId);
Integer physicSum = physicStorageAmpouleMapper.selectCurrentSumByName(
physic.getPhysicName(), physic.getPhysicSpec(), physic.getFactoryName(), deptId);
ampoule.setBatchBalance(batchNoSum); ampoule.setBatchBalance(batchNoSum);
ampoule.setPhysicNum(physicSum); ampoule.setPhysicNum(physicSum);
ampoule.setJsUser(null);
ampoule.setThUser(null);
ampoule.setStatus(0);
ampoule.setRemark(req.getRemark());
physicStorageAmpouleMapper.insert(ampoule); physicStorageAmpouleMapper.insert(ampoule);
} }
} else {
throw new ServiceException("类型错误:type=" + req.getType());
} }
} }
......
...@@ -6,12 +6,9 @@ import cn.hutool.json.JSONUtil; ...@@ -6,12 +6,9 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jmai.api.exception.ServiceException; import com.jmai.api.exception.ServiceException;
import com.jmai.physic.cloudsign.CloudsignService; import com.jmai.physic.cloudsign.CloudsignService;
import com.jmai.physic.dto.*; import com.jmai.physic.dto.*;
import com.jmai.physic.entity.PhysicAmpoule;
import com.jmai.physic.entity.PhysicDestroyCheck;
import com.jmai.physic.entity.PhysicWarehouse; import com.jmai.physic.entity.PhysicWarehouse;
import com.jmai.physic.mapper.PhysicAmpouleMapper; import com.jmai.physic.mapper.PhysicAmpouleMapper;
import com.jmai.physic.mapper.PhysicWarehouseMapper; import com.jmai.physic.mapper.PhysicWarehouseMapper;
...@@ -60,13 +57,23 @@ public class PhysicWarehouseServiceImpl extends AbstractService implements Phys ...@@ -60,13 +57,23 @@ public class PhysicWarehouseServiceImpl extends AbstractService implements Phys
public PhysicWarehouseVO createPhysicWarehouse(PhysicWarehouseCreateReq req) { public PhysicWarehouseVO createPhysicWarehouse(PhysicWarehouseCreateReq req) {
PhysicWarehouse physicWarehouse = new PhysicWarehouse(); PhysicWarehouse physicWarehouse = new PhysicWarehouse();
BeanUtil.copyProperties(req,physicWarehouse); BeanUtil.copyProperties(req,physicWarehouse);
physicWarehouse.setDeptId(SpringContextUtils.getDeptId());
physicWarehouse.setPhysicName(req.getPhysicName());
physicWarehouse.setPhysicSpec(req.getPhysicSpec());
physicWarehouse.setPhysicType(req.getPhysicType());
physicWarehouse.setUnit(req.getUnit());
physicWarehouse.setFactoryName(req.getFactoryName());
physicWarehouse.setExpireDate(req.getExpireDate());
physicWarehouse.setSupplyName(req.getSupplyName());
physicWarehouse.setVoucherNo(req.getVoucherNo());
physicWarehouse.setBatchNo(req.getBatchNo());
physicWarehouse.setPhysicNum(req.getPhysicNum());
physicWarehouse.setStatus(0); physicWarehouse.setStatus(0);
Long userId = SpringContextUtils.getUserId(); physicWarehouse.setYsUser(null);
SysUser sysUser = sysUserMapper.selectById(userId); physicWarehouse.setFhUser(null);
physicWarehouse.setDeptId(sysUser.getDeptId()); physicWarehouse.setBgUser(null);
physicWarehouseMapper.insert(physicWarehouse); physicWarehouseMapper.insert(physicWarehouse);
PhysicWarehouseVO info = getInfo(physicWarehouse.getId()); return getInfo(physicWarehouse.getId());
return info;
} }
@Override @Override
......
...@@ -5,5 +5,6 @@ import lombok.Data; ...@@ -5,5 +5,6 @@ import lombok.Data;
@Data @Data
public class PhysicAmpouleVO extends PhysicAmpoule { public class PhysicAmpouleVO extends PhysicAmpoule {
private String deptName;
private String createName; private String createName;
} }
...@@ -37,7 +37,9 @@ public interface HeaderCode { ...@@ -37,7 +37,9 @@ public interface HeaderCode {
String USER_ID = "User-Id"; String USER_ID = "User-Id";
String USER_NAME = "User-Name"; String USER_NAME = "User-Name";
String USER_TYPE = "User-Type"; String USER_TYPE = "User-Type";
String DEPT_ID = "Dept-Id";
String AUTH_DEPT_LIST = "Auth-Dept-List";
String ROLE_LIST = "Role-List";
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert; ...@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.ttl.TransmittableThreadLocal; import com.alibaba.ttl.TransmittableThreadLocal;
import com.jmai.api.base.BaseService;
import com.jmai.sys.consts.HeaderCode; import com.jmai.sys.consts.HeaderCode;
import com.jmai.sys.consts.SpecialCharacterPool; import com.jmai.sys.consts.SpecialCharacterPool;
import com.jmai.sys.consts.enums.UserTypeEnum; import com.jmai.sys.consts.enums.UserTypeEnum;
...@@ -18,12 +19,15 @@ import org.springframework.web.context.request.RequestContextHolder; ...@@ -18,12 +19,15 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Collections;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import static com.jmai.api.base.BaseService.copyTo; import static com.jmai.api.base.BaseService.copyTo;
import static com.jmai.api.base.BaseService.extractLongList;
@Component @Component
public class SpringContextUtils implements ApplicationContextAware { public class SpringContextUtils implements ApplicationContextAware {
...@@ -176,6 +180,18 @@ public class SpringContextUtils implements ApplicationContextAware { ...@@ -176,6 +180,18 @@ public class SpringContextUtils implements ApplicationContextAware {
.map(userType -> Long.parseLong(userType)) .map(userType -> Long.parseLong(userType))
.orElse(null); .orElse(null);
} }
public static Long getDeptId() {
String value = get(HeaderCode.DEPT_ID);
return Optional.ofNullable(value).filter(ObjectUtil::isNotEmpty).map(Long::valueOf).orElse(null);
}
public static List<Long> getAuthDeptList() {
String value = get(HeaderCode.AUTH_DEPT_LIST);
return Optional.ofNullable(value).filter(ObjectUtil::isNotEmpty).map(BaseService::extractLongList).orElse(Collections.emptyList());
}
public static List<Long> getRoleList() {
String value = get(HeaderCode.ROLE_LIST);
return Optional.ofNullable(value).filter(ObjectUtil::isNotEmpty).map(BaseService::extractLongList).orElse(Collections.emptyList());
}
public static UserTypeEnum getUserTypeEnum() { public static UserTypeEnum getUserTypeEnum() {
Long userType = getUserType(); Long userType = getUserType();
return ObjectUtil.isNotEmpty(userType) ? UserTypeEnum.getEnum(userType) : null; return ObjectUtil.isNotEmpty(userType) ? UserTypeEnum.getEnum(userType) : null;
......
...@@ -29,10 +29,8 @@ public class SysUser extends BaseExtEntity implements IStatus { ...@@ -29,10 +29,8 @@ public class SysUser extends BaseExtEntity implements IStatus {
@ApiModelProperty(value = "组织(ID)列表(逗号隔开)") @ApiModelProperty(value = "组织(ID)列表(逗号隔开)")
private String authDeptList; private String authDeptList;
@ApiModelProperty(value = "组织(ID)") @ApiModelProperty(value = "组织(ID)")
private Long deptId; private Long deptId;
@ApiModelProperty(value = "用户类型(角色)列表(逗号隔开)") @ApiModelProperty(value = "用户类型(角色)列表(逗号隔开)")
private String roleList; private String roleList;
......
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