血液报废,血袋回收
This commit is contained in:
parent
5fb1e91dc8
commit
60f1dd1f1a
@ -17,4 +17,5 @@ public class BloodSysLogConstants {
|
||||
public static final String LOG_TYPE_MATCH_BLOOD = "交叉配血";
|
||||
public static final String LOG_TYPE_BLOOD_OUT = "临床发血";
|
||||
public static final String LOG_TYPE_BLOOD_BACK = "临床发血退血";
|
||||
public static final String LOG_TYPE_DISCARD_MAIN = "血液报废";
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -10,4 +10,4 @@ public interface XkBackinDetailMapper {
|
||||
void insert(XkBackinDetail xkBackinDetail);
|
||||
void deleteByBillNo(String billNo);
|
||||
void deleteOne(@Param("billNo") String billNo,@Param("bloodNo") String bloodNo,@Param("productNo") String productNo);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,13 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface XkDiscardDetailMapper {
|
||||
XkDiscardDetail queryDiscardDetail(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||
void insert(XkDiscardDetail xkDiscardDetail);
|
||||
void delete(String billNo);
|
||||
List<XkDiscardDetail> queryListByBillNo(String billNo);
|
||||
}
|
||||
|
||||
@ -1,4 +1,10 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
|
||||
public interface XkDiscardMainMapper {
|
||||
void insert(XkDiscardMain xkDiscardMain);
|
||||
XkDiscardMain queryOne(String billNo);
|
||||
void update(XkDiscardMain xkDiscardMain);
|
||||
void deleteByBillNo(String billNo);
|
||||
}
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
public interface XkRecycleBagDetailMapper {
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
public interface XkRecycleBagMainMapper {
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -16,6 +17,7 @@ public class XkDiscardDetail {
|
||||
private Integer sid;
|
||||
private String blood_no;
|
||||
private BigDecimal price;
|
||||
@ApiModelProperty("报废原因")
|
||||
private String reason;
|
||||
private String product_no;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -14,16 +15,28 @@ import java.util.Date;
|
||||
@ApiModel("报废血液主表")
|
||||
public class XkDiscardMain {
|
||||
private String bill_no;
|
||||
@ApiModelProperty("经手人")
|
||||
private String handle_person;
|
||||
@ApiModelProperty("总金额")
|
||||
private BigDecimal total_money;
|
||||
@ApiModelProperty("报废日期")
|
||||
private Date discard_date;
|
||||
@ApiModelProperty("输入人")
|
||||
private String input_person;
|
||||
@ApiModelProperty("输入日期")
|
||||
private Date input_date;
|
||||
@ApiModelProperty("审核人")
|
||||
private String audit_person;
|
||||
@ApiModelProperty("审核日期")
|
||||
private Date audit_date;
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
@ApiModelProperty("批准人")
|
||||
private String ratify_person;
|
||||
@ApiModelProperty("批准人意见")
|
||||
private String ratify_attitude;
|
||||
@ApiModelProperty("报废途径")
|
||||
private String discard_approach;
|
||||
@ApiModelProperty("报废方法")
|
||||
private String discard_method;
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel("血袋回收明细表")
|
||||
public class XkRecycleBagDetail {
|
||||
private String bill_no;
|
||||
private Integer sid;
|
||||
private String blood_no;
|
||||
@ApiModelProperty("接收人")
|
||||
private String receive_person;
|
||||
@ApiModelProperty("接收日期")
|
||||
private Date receive_date;
|
||||
private String Exp1;
|
||||
private String Exp2;
|
||||
private String product_no;
|
||||
@ApiModelProperty("销毁人")
|
||||
private String destroy_person;
|
||||
@ApiModelProperty("销毁时间")
|
||||
private Date destroy_time;
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel("回收血液主表")
|
||||
public class XkRecycleBagMain {
|
||||
private String bill_no;
|
||||
@ApiModelProperty("送返人")
|
||||
private String send_person;
|
||||
@ApiModelProperty("送返日期")
|
||||
private Date send_date;
|
||||
@ApiModelProperty("接收人")
|
||||
private String receive_person;
|
||||
@ApiModelProperty("接收日期")
|
||||
private Date receive_date;
|
||||
@ApiModelProperty("接收数量")
|
||||
private Integer sum;
|
||||
private String Exp1;
|
||||
private String Exp2;
|
||||
private String bz1;
|
||||
}
|
||||
@ -2,5 +2,21 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkDiscardDetailMapper">
|
||||
<insert id="insert">
|
||||
insert into xk_discard_detail (
|
||||
bill_no,sid,blood_no,product_no,price,reason
|
||||
)values(
|
||||
#{bill_no},#{sid},#{blood_no},#{product_no},#{price},#{reason}
|
||||
)
|
||||
</insert>
|
||||
<delete id="delete">
|
||||
delete from xk_discard_detail where bill_no = #{billNo}
|
||||
</delete>
|
||||
|
||||
<select id="queryDiscardDetail" resultType="com.czblood.bus.pojo.XkDiscardDetail">
|
||||
select * from xk_discard_detail where blood_no = #{bloodNo} and product_no = #{productNo}
|
||||
</select>
|
||||
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkDiscardDetail">
|
||||
select * from xk_discard_detail where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -3,4 +3,44 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkDiscardMainMapper">
|
||||
|
||||
<insert id="insert">
|
||||
insert into xk_discard_main (
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="ratify_person != null">ratify_person,</if>
|
||||
<if test="ratify_attitude != null">ratify_attitude,</if>
|
||||
<if test="discard_approach != null">discard_approach,</if>
|
||||
<if test="discard_method != null">discard_method,</if>
|
||||
bill_no,handle_person,total_money,input_person,input_date
|
||||
)values(
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="ratify_person != null">#{ratify_person},</if>
|
||||
<if test="ratify_attitude != null">#{ratify_attitude},</if>
|
||||
<if test="discard_approach != null">#{discard_approach},</if>
|
||||
<if test="discard_method != null">#{discard_method},</if>
|
||||
bill bill #{bill_no},#{handle_person},#{total_money},#{input_person},#{input_date}
|
||||
)
|
||||
</insert>
|
||||
<update id="update">
|
||||
update xk_discard_main set
|
||||
<if test="handle_person != null">handle_person = #{handle_person},</if>
|
||||
<if test="total_money != null">total_money = #{total_money},</if>
|
||||
<if test="discard_date != null">discard_date = #{discard_date},</if>
|
||||
<if test="input_person != null">input_person = #{input_person},</if>
|
||||
<if test="input_date != null">input_date = #{input_date},</if>
|
||||
<if test="audit_person != null">audit_person = #{audit_person},</if>
|
||||
<if test="audit_date != null">audit_date = #{audit_date},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="ratify_person != null">ratify_person = #{ratify_person},</if>
|
||||
<if test="ratify_attitude != null">ratify_attitude = #{ratify_attitude},</if>
|
||||
<if test="discard_approach != null">discard_approach = #{discard_approach},</if>
|
||||
<if test="discard_method != null">discard_method = #{discard_method},</if>
|
||||
bill_no = #{bill_no}
|
||||
where bill_no = #{bill_no}
|
||||
</update>
|
||||
<delete id="deleteByBillNo">
|
||||
delete from xk_discard_main where bill_no = #{billNo}
|
||||
</delete>
|
||||
<select id="queryOne" resultType="com.czblood.bus.pojo.XkDiscardMain">
|
||||
select * from xk_discard_main where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkRecycleBagDetailMapper">
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkRecycleBagMainMapper">
|
||||
|
||||
</mapper>
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.busBloodbank.controller;
|
||||
|
||||
import com.czblood.bus.constants.BloodSysLogConstants;
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.busBloodbank.service.BackinService;
|
||||
@ -55,6 +56,13 @@ public class BackinController extends BaseController {
|
||||
return backinService.deleteData(billNo);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_BLOOD_BACK, businessType = BusinessType.DELETE_DETAIL)
|
||||
@ApiOperation("删除血液信息")
|
||||
@PostMapping("/deleteBloodInfo")
|
||||
public Result deleteBloodInfo(@RequestBody XkBackinDetail xkBackinDetail){
|
||||
return backinService.deleteBloodInfo(xkBackinDetail);
|
||||
}
|
||||
|
||||
@ApiOperation("查询列表")
|
||||
@GetMapping("/queryList")
|
||||
public TableDataInfo queryList(BackinQueryVO backinQueryVO){
|
||||
|
||||
@ -1,19 +1,23 @@
|
||||
package com.czblood.busBloodbank.controller;
|
||||
|
||||
import com.czblood.bus.constants.BloodSysLogConstants;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.busBloodbank.service.DiscardMainService;
|
||||
import com.czblood.common.annotation.Log;
|
||||
import com.czblood.common.core.controller.BaseController;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.enums.BusinessType;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "血液报废")
|
||||
@RestController
|
||||
@RequestMapping("/bus/bloodbank/discardMain")
|
||||
public class DiscardMainController {
|
||||
public class DiscardMainController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private DiscardMainService discardMainService;
|
||||
@ -24,4 +28,39 @@ public class DiscardMainController {
|
||||
return discardMainService.queryBloodInfo(bloodNo,productNo);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.INSERT)
|
||||
@ApiOperation("保存报废信息")
|
||||
@PostMapping("/saveData")
|
||||
public Result saveData(@RequestBody DiscardVO discardVO){
|
||||
discardVO.setUserId(getUsername());
|
||||
return discardMainService.saveData(discardVO);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.CHECK)
|
||||
@ApiOperation("审核单据")
|
||||
@GetMapping("/auditData")
|
||||
public Result auditData(String billNo){
|
||||
String userId = getUsername();
|
||||
return discardMainService.auditData(billNo,userId);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.DELETE)
|
||||
@ApiOperation("删除报废单")
|
||||
@GetMapping("/deleteData")
|
||||
public Result deleteData(String billNo){
|
||||
return discardMainService.deleteData(billNo);
|
||||
}
|
||||
|
||||
@ApiOperation("查询报废单列表")
|
||||
@PostMapping("/queryList")
|
||||
public Result queryList(DiscardQueryVO discardQueryVO){
|
||||
return discardMainService.queryList(discardQueryVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询报废单详情")
|
||||
@GetMapping("/queryInfoOne")
|
||||
public Result queryInfoOne(String billNo){
|
||||
return discardMainService.queryInfoOne(billNo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.czblood.busBloodbank.mapper;
|
||||
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DiscardMapper {
|
||||
List<Map<String,Object>> queryList(DiscardQueryVO discardQueryVO);
|
||||
List<Map<String,Object>> queryDetailList(String billNo);
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.busBloodbank.pojo.DTO;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -14,6 +15,7 @@ import java.util.Map;
|
||||
public class BackinBloodDTO {
|
||||
private XkBackinDetail xkBackinDetail;
|
||||
private Map<String,Object> patientInfo;
|
||||
private XkBloodInfo xkBloodInfo;
|
||||
@ApiModelProperty("标志位,1:新增,2:删除")
|
||||
private String flag;
|
||||
}
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DiscardQueryVO {
|
||||
private String stime;
|
||||
private String etime;
|
||||
private String billNo;
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DiscardVO {
|
||||
private XkDiscardMain xkDiscardMain;
|
||||
private List<XkDiscardDetail> xkDiscardDetailList;
|
||||
private String userId;
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package com.czblood.busBloodbank.service;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
@ -15,4 +16,5 @@ public interface BackinService {
|
||||
List<Map<String,Object>> queryList(BackinQueryVO backinQueryVO);
|
||||
Result queryInfo(String billNo);
|
||||
Result print(String billNo,String templateName,String userId);
|
||||
Result deleteBloodInfo(XkBackinDetail xkBackinDetail);
|
||||
}
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
package com.czblood.busBloodbank.service;
|
||||
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
|
||||
public interface DiscardMainService {
|
||||
Result queryBloodInfo(String bloodNo, String productNo);
|
||||
Result saveData(DiscardVO discardVO);
|
||||
Result auditData(String billNo,String userId);
|
||||
Result deleteData(String billNo);
|
||||
Result queryList(DiscardQueryVO discardQueryVO);
|
||||
Result queryInfoOne(String billNo);
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.busBloodbank.service.BackinService;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.utils.spring.SpringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -25,6 +26,7 @@ import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BackinServiceImpl implements BackinService {
|
||||
|
||||
@Resource
|
||||
@ -136,6 +138,17 @@ public class BackinServiceImpl implements BackinService {
|
||||
|
||||
}else{
|
||||
//修改
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
newBillNo = xkBackinMain.getBill_no();
|
||||
for (BackinBloodDTO backinBloodDTO : xkBackinDetailList) {
|
||||
XkBackinDetail xkBackinDetail = backinBloodDTO.getXkBackinDetail();
|
||||
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(xkBackinDetail.getBlood_no(), xkBackinDetail.getProduct_no());
|
||||
if (!xkInstorageDetailList.isEmpty()) {
|
||||
totalMoney = totalMoney.add(xkInstorageDetailList.get(0).getPrice());
|
||||
xkBackinDetail.setPrice(xkInstorageDetailList.get(0).getPrice());
|
||||
}
|
||||
}
|
||||
xkBackinMain.setTotal_money(totalMoney); //总金额
|
||||
Result result = SpringUtils.getBean(BackinServiceImpl.class).updateChargeData(xkBackinMain, xkBackinDetailList, backinDataDTO);
|
||||
if(!result.getCode().equals("0")) return result;
|
||||
}
|
||||
@ -230,6 +243,7 @@ public class BackinServiceImpl implements BackinService {
|
||||
BackinBloodDTO backinBloodDTO = new BackinBloodDTO();
|
||||
backinBloodDTO.setPatientInfo(patientInfoList.get(0));
|
||||
backinBloodDTO.setXkBackinDetail(xkBackinDetail);
|
||||
backinBloodDTO.setXkBloodInfo(bloodBankUtil.queryBloodInfoOne(bloodNo, productNo));
|
||||
backinBloodDTOList.add(backinBloodDTO);
|
||||
}
|
||||
backinDataDTO.setXkBackinDetailList(backinBloodDTOList);
|
||||
@ -243,7 +257,20 @@ public class BackinServiceImpl implements BackinService {
|
||||
reportParam.setUserName(userName);
|
||||
Result result2 = reportUtil.printToPdf(BloodPrintTypeConstants.BLOOD_OUT_BACK, reportParam, true);
|
||||
if(!result2.getCode().equals("0")) return new Result("-1",result2.getMsg());
|
||||
return new Result("0","打印成功!");
|
||||
return new Result("0","打印成功!",result2.getData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result deleteBloodInfo(XkBackinDetail xkBackinDetail) {
|
||||
String billNo = BloodBankUtil.isBank(xkBackinDetail.getBill_no());
|
||||
if(billNo.equals("")) return new Result("0","删除成功!"); //新增的数据就做数据库处理了
|
||||
String bloodNo = xkBackinDetail.getBlood_no();
|
||||
String productNo = xkBackinDetail.getProduct_no();
|
||||
String chargeBillNo = xkBackinDetail.getCharge_billno();
|
||||
xkBackinDetailMapper.deleteOne(billNo,bloodNo,productNo);
|
||||
xkChargeMainMapper.deleteByBillNo(chargeBillNo);
|
||||
xkChargeDetailMapper.deleteByBillNo(chargeBillNo);
|
||||
return new Result("0","删除成功!");
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -279,7 +306,7 @@ public class BackinServiceImpl implements BackinService {
|
||||
xkBackinMainMapper.update(xkBackinMain);
|
||||
for (BackinBloodDTO backinBloodDTO : xkBackinDetailList) {
|
||||
XkBackinDetail xkBackinDetail = backinBloodDTO.getXkBackinDetail();
|
||||
String flag = backinBloodDTO.getFlag();
|
||||
String flag = BloodBankUtil.isBank(backinBloodDTO.getFlag());
|
||||
if(flag.equals("1")){
|
||||
//新增
|
||||
Result result = insertChargeInfo(backinBloodDTO,backinDataDTO.getUserId());
|
||||
@ -294,19 +321,26 @@ public class BackinServiceImpl implements BackinService {
|
||||
if(xkChargeMain != null) xkChargeMainMapper.insert(xkChargeMain);
|
||||
if(xkChargeDetail != null) xkChargeDetailMapper.insert(xkChargeDetail);
|
||||
//回写单号
|
||||
xkBackinDetail.setCharge_billno(xkChargeMain.getBill_no());
|
||||
if(xkChargeMain != null) xkBackinDetail.setCharge_billno(xkChargeMain.getBill_no());
|
||||
xkBackinDetailMapper.insert(xkBackinDetail);
|
||||
|
||||
}else if(flag.equals("2")){
|
||||
//删除
|
||||
xkBackinDetailMapper.deleteOne(xkBackinDetail.getBill_no(),xkBackinDetail.getBlood_no(),xkBackinDetail.getProduct_no());
|
||||
xkChargeMainMapper.deleteByBillNo(xkBackinDetail.getCharge_billno());
|
||||
xkChargeDetailMapper.deleteByBillNo(xkBackinDetail.getCharge_billno());
|
||||
}
|
||||
}
|
||||
return new Result("0","更新成功!");
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
// public void deleteBloodInfo(XkBackinDetail xkBackinDetail){
|
||||
// String billNo = BloodBankUtil.isBank(xkBackinDetail.getBill_no());
|
||||
// if(billNo.equals("")) return; //新增的数据就做数据库处理了
|
||||
// String bloodNo = xkBackinDetail.getBlood_no();
|
||||
// String productNo = xkBackinDetail.getProduct_no();
|
||||
// String chargeBillNo = xkBackinDetail.getCharge_billno();
|
||||
// xkBackinDetailMapper.deleteOne(billNo,bloodNo,productNo);
|
||||
// xkChargeMainMapper.deleteByBillNo(chargeBillNo);
|
||||
// xkChargeDetailMapper.deleteByBillNo(chargeBillNo);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 组装退费信息数据
|
||||
* @param backinBloodDTO
|
||||
|
||||
@ -1,13 +1,184 @@
|
||||
package com.czblood.busBloodbank.service.impl;
|
||||
|
||||
import com.czblood.bus.mapper.XkBloodInfoMapper;
|
||||
import com.czblood.bus.mapper.XkDiscardDetailMapper;
|
||||
import com.czblood.bus.mapper.XkDiscardMainMapper;
|
||||
import com.czblood.bus.mapper.XkInstorageDetailMapper;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
import com.czblood.bus.pojo.XkInstorageDetail;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.busBloodbank.mapper.DiscardMapper;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.busBloodbank.service.DiscardMainService;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.utils.spring.SpringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.swing.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class DiscardMainServiceImpl implements DiscardMainService {
|
||||
|
||||
@Resource
|
||||
BloodBankUtil bloodBankUtil;
|
||||
@Resource
|
||||
XkDiscardDetailMapper xkDiscardDetailMapper;
|
||||
@Resource
|
||||
XkInstorageDetailMapper xkInstorageDetailMapper;
|
||||
@Resource
|
||||
XkDiscardMainMapper xkDiscardMainMapper;
|
||||
@Resource
|
||||
XkBloodInfoMapper xkBloodInfoMapper;
|
||||
@Resource
|
||||
DiscardMapper discardMapper;
|
||||
|
||||
@Override
|
||||
public Result queryBloodInfo(String bloodNo, String productNo) {
|
||||
return null;
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!!!");
|
||||
XkDiscardDetail xkDiscardDetail = xkDiscardDetailMapper.queryDiscardDetail(bloodNo, productNo);
|
||||
if(xkDiscardDetail != null) return new Result("-1","血液流水号:"+bloodNo+",产品号:"+productNo+"的报废信息已经存在!!!");
|
||||
String bloodStatus = xkBloodInfo.getBlood_status();
|
||||
switch (bloodStatus){
|
||||
case "2":
|
||||
return new Result("-1","该血液已经报废!!!");
|
||||
case "4":
|
||||
return new Result("-1","该血液已经出库!!!");
|
||||
}
|
||||
return new Result("0","查询成功",xkBloodInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result saveData(DiscardVO discardVO) {
|
||||
XkDiscardMain xkDiscardMain = discardVO.getXkDiscardMain();
|
||||
List<XkDiscardDetail> xkDiscardDetailList = discardVO.getXkDiscardDetailList();
|
||||
String billNo = BloodBankUtil.isBank(xkDiscardMain.getBill_no());
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许修改!!");
|
||||
String newBillNo = "";
|
||||
if(billNo.equals("")){
|
||||
//新增
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
newBillNo = bloodBankUtil.produceBillNo("BFD");
|
||||
xkDiscardMain.setBill_no(newBillNo);
|
||||
xkDiscardMain.setInput_person(discardVO.getUserId());
|
||||
xkDiscardMain.setInput_date(bloodBankUtil.getCurrentTimeDate());
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(xkDiscardDetail.getBlood_no(), xkDiscardDetail.getProduct_no());
|
||||
if(!xkInstorageDetailList.isEmpty()){
|
||||
xkDiscardDetail.setPrice(xkInstorageDetailList.get(0).getPrice());
|
||||
totalMoney = totalMoney.add(xkInstorageDetailList.get(0).getPrice());
|
||||
}
|
||||
}
|
||||
xkDiscardMain.setTotal_money(totalMoney);
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).insertData(xkDiscardMain,xkDiscardDetailList);
|
||||
}else{
|
||||
//更新
|
||||
newBillNo = xkDiscardMain.getBill_no();
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).updateData(xkDiscardMain,xkDiscardDetailList);
|
||||
}
|
||||
return new Result("0","保存成功",newBillNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result auditData(String billNo,String userId) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
if(xkDiscardMain == null) return new Result("-1","单据不存在!!!");
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许重复审核!!");
|
||||
List<XkDiscardDetail> xkDiscardDetailList = xkDiscardDetailMapper.queryListByBillNo(billNo);
|
||||
List<XkBloodInfo> xkBloodInfoList = new ArrayList();
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
String bloodNo = xkDiscardDetail.getBlood_no();
|
||||
String productNo = xkDiscardDetail.getProduct_no();
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!!!");
|
||||
String bloodStatus = xkBloodInfo.getBlood_status();
|
||||
switch (bloodStatus){
|
||||
case "2":
|
||||
return new Result("-1","该血液"+bloodNo+",产品号:"+productNo+"已经报废!!!");
|
||||
case "4":
|
||||
return new Result("-1","该血液"+bloodNo+",产品号:"+productNo+"已经出库!!!");
|
||||
}
|
||||
XkBloodInfo xkBloodInfoTemp = new XkBloodInfo();
|
||||
xkBloodInfoTemp.setBlood_status("2");
|
||||
xkBloodInfoTemp.setBlood_no(bloodNo);
|
||||
xkBloodInfoTemp.setProduct_no(productNo);
|
||||
xkBloodInfoList.add(xkBloodInfoTemp);
|
||||
}
|
||||
|
||||
XkDiscardMain xkDiscardMainTemp = new XkDiscardMain();
|
||||
xkDiscardMainTemp.setAudit_person(userId);
|
||||
xkDiscardMainTemp.setAudit_date(bloodBankUtil.getCurrentTimeDate());
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).updateAuditData(xkBloodInfoList,xkDiscardMainTemp);
|
||||
return new Result("0","审核成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result deleteData(String billNo) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
if(xkDiscardMain == null) return new Result("-1","单据不存在!!!");
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许删除!!");
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).deleteDataTrans(billNo);
|
||||
return new Result("0","删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result queryList(DiscardQueryVO discardQueryVO) {
|
||||
List<Map<String,Object>> list = discardMapper.queryList(discardQueryVO);
|
||||
return new Result("0","查询成功",list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result queryInfoOne(String billNo) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
List<Map<String, Object>> xkDiscardDetailList = discardMapper.queryDetailList(billNo);
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("xkDiscardMain",xkDiscardMain);
|
||||
map.put("xkDiscardDetailList",xkDiscardDetailList);
|
||||
return new Result("0","查询成功",map);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void insertData(XkDiscardMain xkDiscardMain,List<XkDiscardDetail> xkDiscardDetailList){
|
||||
xkDiscardMainMapper.insert(xkDiscardMain);
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
xkDiscardDetailMapper.insert(xkDiscardDetail);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateData(XkDiscardMain xkDiscardMain,List<XkDiscardDetail> xkDiscardDetailList){
|
||||
xkDiscardMainMapper.update(xkDiscardMain);
|
||||
xkDiscardDetailMapper.delete(xkDiscardMain.getBill_no());
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
xkDiscardDetailMapper.insert(xkDiscardDetail);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateAuditData(List<XkBloodInfo> xkBloodInfoList,XkDiscardMain xkDiscardMain){
|
||||
for (XkBloodInfo xkBloodInfo : xkBloodInfoList) {
|
||||
xkBloodInfoMapper.update(xkBloodInfo);
|
||||
}
|
||||
xkDiscardMainMapper.update(xkDiscardMain);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteDataTrans(String billNo){
|
||||
xkDiscardMainMapper.deleteByBillNo(billNo);
|
||||
xkDiscardDetailMapper.delete(billNo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
Where xk_out_main.bill_no =xk_out_detail.bill_no and
|
||||
xk_out_detail.blood_no = #{bloodNo} and
|
||||
<![CDATA[xk_out_main.check_sign <> 'ZF' and]]>
|
||||
xk_out_detail.product_no = #{productNo}
|
||||
xk_out_detail.product_no = #{productNo} and isnull(xk_out_main.check_sign,'') = 'Y'
|
||||
|
||||
</select>
|
||||
<select id="queryPatientInfo" resultType="java.util.Map">
|
||||
@ -38,13 +38,15 @@
|
||||
xk_backin_main.handle_person,
|
||||
xk_backin_main.total_money,
|
||||
xk_backin_main.back_date ,
|
||||
xk_backin_main.audit_person,
|
||||
xk_backin_main.audit_date,
|
||||
xk_out_main.beinhos_id,
|
||||
xk_out_main.patient_name
|
||||
FROM xk_backin_main ,xk_backin_detail ,xk_out_detail,xk_out_main
|
||||
WHERE (xk_backin_main.back_date between #{stime} AND #{etime})
|
||||
and (xk_backin_main.org_type = 'A') and xk_backin_main.bill_no = xk_backin_detail.bill_no
|
||||
and xk_out_detail.blood_no = xk_backin_detail.blood_no and xk_out_detail.product_no = xk_backin_detail.product_no
|
||||
and xk_out_main.bill_no = xk_out_detail.bill_no and xk_out_detail.exp1='Y'
|
||||
and xk_out_main.bill_no = xk_out_detail.bill_no
|
||||
<if test="billNo != null">AND (xk_backin_main.bill_no = #{billNo})</if>
|
||||
<if test="dept != null">and xk_backin_main.dept_id = #{dept}</if>
|
||||
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.busBloodbank.mapper.DiscardMapper">
|
||||
<select id="queryList" resultType="java.util.Map">
|
||||
SELECT xk_discard_main.bill_no,
|
||||
xk_discard_main.handle_person,
|
||||
xk_discard_main.total_money,
|
||||
xk_discard_main.discard_date
|
||||
FROM xk_discard_main
|
||||
WHERE (xk_discard_main.discard_date between #{stime} and #{etime})
|
||||
<if test="billNo != null"> AND (xk_discard_main.bill_no = #{billNo})</if>
|
||||
|
||||
</select>
|
||||
<select id="queryDetailList" resultType="java.util.Map">
|
||||
select a.*,b.blood_breed,b.capacity,b.unit,b.blood_type,b.rh_blood_type,b.valid_date from xk_discard_detail a,xk_blood_info b
|
||||
where a.bill_no = #{billNo} and a.blood_no = b.blood_no and a.product_no = b.product_no
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,13 @@
|
||||
package com.czblood.busNurse.controller;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Api(tags = "血袋回收")
|
||||
@RestController
|
||||
@RequestMapping("/bus/nurse/recycleBag")
|
||||
@Slf4j
|
||||
public class RecycleBagController {
|
||||
}
|
||||
@ -214,3 +214,17 @@ update xk_charge_item set module_type = '002' where module_code = '0203'
|
||||
update xk_charge_item set module_type = '004' where module_code = '0204'
|
||||
update xk_charge_item set module_type = '003' where module_code = '0501'
|
||||
update xk_charge_item set module_type = '006' where module_code = '0302'
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_recycle_bag_main' AND type = 'PK' )
|
||||
BEGIN
|
||||
ALTER TABLE xk_recycle_bag_main ADD CONSTRAINT PK_xk_recycle_bag_main PRIMARY KEY CLUSTERED (bill_no);
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER TABLE xk_recycle_bag_detail ALTER COLUMN product_no VARCHAR(18) NOT NULL;
|
||||
go
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_recycle_bag_detail' AND type = 'PK' )
|
||||
BEGIN
|
||||
ALTER TABLE xk_recycle_bag_detail ADD CONSTRAINT PK_xk_recycle_bag_detail PRIMARY KEY CLUSTERED (bill_no,blood_no,product_no);
|
||||
END
|
||||
GO
|
||||
Loading…
x
Reference in New Issue
Block a user