Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

workplace
anthonywj 11 months ago
commit bae3fb9c30

@ -899,7 +899,6 @@ public class IoCodeTempController extends BaseController {
@CusRedissonAnnotation(cacheName = RedissonCacheKey.WEB_ADD_CODE, key = {"#addOrderRequest.corpOrderId", "#addOrderRequest.code"}, timeOutMsg = "系统正在处理,请勿重复扫码")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addDrugOrderWeb(@RequestBody AddOrderRequest addOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
@ -1213,7 +1212,7 @@ public class IoCodeTempController extends BaseController {
}
BaseResponse baseResponse = checkRelId(codeEnttity, unitFk);
BaseResponse baseResponse = checkDrugRelId(codeEnttity, unitFk);
if (baseResponse != null) {
deleteEmptyBillNo(orderEntity);
}
@ -1285,7 +1284,8 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.insert(codeEnttity);
} else if (bussinessTypeEntity.getCheckWebNew() == 2 && bussinessTypeEntity.isCheckEnable()) {
// } else if (bussinessTypeEntity.getCheckWebNew() == 2 && bussinessTypeEntity.isCheckEnable()) {
} else if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_WAIT && bussinessTypeEntity.isCheckEnable()) {
String errMsg = ioCheckInoutService.checkDrugNoPiCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
@ -1349,6 +1349,7 @@ public class IoCodeTempController extends BaseController {
CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest();
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEnttity.getCode());
companyProductRelevanceRequest.setNameCode(udiEntity.getUdi());
companyProductRelevanceRequest.setProductsType(codeEnttity.getProductType());
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
companyProductRelevanceRequest.setUnitFk(unitFk);
List<UdiRlSupResponse> datas = udiRlSupService.filterUdiGp(companyProductRelevanceRequest);
@ -1389,6 +1390,37 @@ public class IoCodeTempController extends BaseController {
return null;
}
/**
* ID
* @param codeEnttity
* @param unitFk
* @return
*/
public BaseResponse checkDrugRelId(IoCodeTempEntity codeEnttity, String unitFk) {
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.selectDrugsByNameCode(codeEnttity, unitFk);
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && codeEnttity.getRelId() == null) {//同一个DI绑定多个产品西信息
// codeEnttity.setRelId(null);
// codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
// codeTempService.insert(codeEnttity);
// codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode());
BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品");
baseResponse.setData(codeEnttity);
return baseResponse;
} else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) {//未找到产品信息,一般不会出现
codeEnttity.setRelId(null);
codeEnttity.setStatus(2);
return ResultVOUtils.error(501, "耗材字典不存在此产品!");
} else {
codeEnttity.setStatus(0);
if (codeEnttity.getRelId() == null)
codeEnttity.setRelId(udiRelevanceEntities.get(0).getId());
}
return null;
}
//校验供应商唯一性
public BaseResponse checkSupId(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeEnttity, String unitFk) {
String originSupId = unitFk;

@ -15,11 +15,13 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.*;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvBusUserEntity;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.auth.FilterInvBusUserRequest;
@ -100,6 +102,9 @@ public class IoOrderController extends BaseController {
@Resource
IoOrderInvoiceService ioOrderInvoiceService;
@Resource
UdiProductDao udiProductDao;
/**
*
*
@ -672,6 +677,14 @@ public class IoOrderController extends BaseController {
codeTempEntity.setCheckStatus(2);
}
}
UdiProductEntity drug = udiProductDao.findByNameCode(codeTempEntity.getNameCode());
if (drug.getProductsType() == 2){
//药品添加药品数据
codeTempEntity.setBzgg(drug.getBzgg());
codeTempEntity.setPrepnUnit(drug.getPrepnUnit());
codeTempEntity.setPrepnSpec(drug.getPrepnSpec());
codeTempEntity.setSpec(drug.getGgxh());
}
}
}
}

@ -230,6 +230,7 @@ public class IoOrderDetailBizEntity {
@TableField(value = "regStatus")
private boolean regStatus;
/**
* id
*/
@ -243,4 +244,17 @@ public class IoOrderDetailBizEntity {
@TableField(value = "productType")
private Integer productType;
//药品数据
@TableField(exist = false)
private String bzgg;
@TableField(exist = false)
private String prepnSpec;
@TableField(exist = false)
private String prepnUnit;
}

@ -127,5 +127,14 @@ public class UdiRlSupResponse {
private String prepnUnit;
private String prepnSpec;
private String packMatrial;
private Integer majorType;
private Integer physicType;
private Integer medicareType;
private Integer majorStatus;
private String indate;
private String storageCondition;
private String transportCondition;
private String productPrice;
}

@ -155,4 +155,11 @@ public class IoCodeResponse {
private String mySupId; //更新供应商
//药品数据
private String bzgg;
private String prepnUnit;
private String prepnSpec;
private String spec;
}

@ -148,5 +148,9 @@ public class IoCodeTempResponse {
private String price;
//药品数据
private String bzgg;
private String prepnUnit;
private String prepnSpec;
}

@ -1,5 +1,6 @@
package com.glxp.api.res.inout;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
@ -167,5 +168,11 @@ public class IoOrderCheckResultResponse {
private int scanCount;
//药品数据
private String bzgg;
private String prepnSpec;
private String prepnUnit;
}

@ -183,5 +183,13 @@ public class IoOrderDetailBizResponse {
private String zczbhhzbapzbh;
//药品数据
private String bzgg;
private String prepnSpec;
private String prepnUnit;
}

@ -181,4 +181,10 @@ public class IoOrderDetailCodeResponse {
//金额
private BigDecimal amount;
//药品数据
private String bzgg;
private String prepnUnit;
private String prepnSpec;
}

@ -10,6 +10,7 @@ import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
@ -129,6 +130,27 @@ public class UdiRelevanceService extends ServiceImpl<UdiRelevanceDao, UdiRelevan
return udiRelevanceResponses;
}
/**
*
*/
public List<UdiRelevanceResponse> selectDrugsByNameCode(IoCodeTempEntity codeEnttity, String unitFk) {
List<UdiRelevanceResponse> udiRelevanceResponses;
if (StrUtil.isNotEmpty(unitFk)) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setUniqueNameCode(codeEnttity.getNameCode());
filterUdiRelRequest.setUnitFk(unitFk);
filterUdiRelRequest.setIsDisable(false);
filterUdiRelRequest.setKey("key");
if (codeEnttity.getProductType() != null){
filterUdiRelRequest.setProductsType(codeEnttity.getProductType());
}
udiRelevanceResponses = filterUdiJoinSup(filterUdiRelRequest);
} else {
udiRelevanceResponses = selectGroupByNameCode(codeEnttity.getNameCode(), false);
}
return udiRelevanceResponses;
}
/**
*
*

@ -7,11 +7,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
@ -74,6 +76,9 @@ public class IoCheckInoutService {
@Resource
IoSplitFifoCodeService splitFifoCodeService;
@Resource
UdiProductDao udiProductDao;
//判断是否需要手动校验
public boolean checkManual(String billNo) {
IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
@ -870,6 +875,14 @@ public class IoCheckInoutService {
ioOrderCheckResultResponse.setSExpireDate(codeEntity.getExpireDate());
ioOrderCheckResultResponse.setCount(0);
ioOrderCheckResultResponse.setScanCount(codeEntity.getReCount());
UdiProductEntity drug = udiProductDao.findByNameCode(codeEntity.getNameCode());
if (drug.getProductsType() == 2){
//药品添加药品数据
ioOrderCheckResultResponse.setBzgg(drug.getBzgg());
ioOrderCheckResultResponse.setPrepnUnit(drug.getPrepnUnit());
ioOrderCheckResultResponse.setPrepnSpec(drug.getPrepnSpec());
ioOrderCheckResultResponse.setSpec(drug.getGgxh());
}
orderCheckResultResponses.add(ioOrderCheckResultResponse);
}
}

@ -8,10 +8,12 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.BasicDestinyRelMapper;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.dao.inout.IoOrderDetailBizDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
@ -40,6 +42,7 @@ import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -384,6 +387,9 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Resource
IBasicBussinessTypeService bussinessTypeService;
@Resource
UdiProductDao udiProductDao;
@Override
public List<IoOrderDetailBizEntity> checkOrderList(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
@ -396,7 +402,22 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
checkInoutService.bizOrderCheck(orderDetailBizEntities, codeEntities);
}
return orderDetailBizEntities;
List<IoOrderDetailBizEntity> list = new ArrayList<>(orderDetailBizEntities.size());
for (IoOrderDetailBizEntity ioOrderDetailBizEntity : orderDetailBizEntities) {
IoOrderDetailBizEntity ioOrderDetailBizEntity1 = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(ioOrderDetailBizEntity, ioOrderDetailBizEntity1);
UdiProductEntity drug = udiProductDao.findByNameCode(ioOrderDetailBizEntity1.getNameCode());
if (drug.getProductsType() == 2){
//药品添加药品数据
ioOrderDetailBizEntity1.setBzgg(drug.getBzgg());
ioOrderDetailBizEntity1.setPrepnUnit(drug.getPrepnUnit());
ioOrderDetailBizEntity1.setPrepnSpec(drug.getPrepnSpec());
ioOrderDetailBizEntity1.setSpec(drug.getGgxh());
}
list.add(ioOrderDetailBizEntity1);
}
return list;
}
@Override

@ -1,5 +1,7 @@
package com.glxp.api.service.inout.impl;
import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.entity.basic.UdiProductEntity;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
@ -39,6 +41,9 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
@Resource
private BasicCorpDao basicCorpDao;
@Resource
UdiProductDao udiProductDao;
@Override
public List<IoOrderDetailCodeEntity> findByOrderId(String orderId) {
return ioOrderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).orderByDesc("updateTime"));
@ -135,6 +140,13 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
BeanUtils.copyProperties(ioOrderDetailCodeEntity, resp);
String supName = basicCorpDao.selectNameByErpId(ioOrderDetailCodeEntity.getSupId());
resp.setSupName(supName);
UdiProductEntity drug = udiProductDao.findByNameCode(ioOrderDetailCodeEntity.getNameCode());
if (drug.getProductsType() == 2){
//药品添加药品数据
resp.setBzgg(drug.getBzgg());
resp.setPrepnUnit(drug.getPrepnUnit());
resp.setPrepnSpec(drug.getPrepnSpec());
}
list.add(resp);
}
return list;

@ -32,7 +32,6 @@
select company_product_relevance.id,
company_product_relevance.customerId,
company_product_relevance.auditStatus,
company_product_relevance.price,
basic_udirel.uuid,
basic_udirel.thirdId,
basic_udirel.id rlId,
@ -113,6 +112,15 @@
basic_products.prepnUnit,
basic_products.prepnSpec,
basic_products.packMatrial,
basic_products.majorType,
basic_products.physicType,
basic_products.medicareType,
basic_products.medicareType,
basic_products.price as productPrice,
basic_products.indate,
basic_products.storageCondition,
basic_products.transportCondition,
basic_products.majorStatus,
basic_products.matrial
FROM company_product_relevance
inner JOIN basic_udirel

@ -5,6 +5,9 @@
select ic.*,
bp.cpmctymc productName,
bp.ggxh,
bp.bzgg,
bp.prepnUnit,
bp.prepnSpec,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
bp.manufactory,

@ -2,7 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inout.IoOrderDetailBizDao">
<select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailBizResponse">
select io_order_detail_biz.*,bp.zczbhhzbapzbh
select io_order_detail_biz.*,bp.zczbhhzbapzbh,
bp.ggxh,
bp.bzgg,
bp.prepnUnit,
bp.prepnSpec
from io_order_detail_biz
left join basic_udirel bu on bu.id = io_order_detail_biz.bindRlFk
left join basic_products bp on bu.uuid = bp.uuid

@ -3,6 +3,9 @@
<mapper namespace="com.glxp.api.dao.inout.IoOrderDetailCodeDao">
<select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailCodeResponse">
select io_order_detail_code.*,
bp.bzgg,
bp.prepnUnit,
bp.prepnSpec,
(select `name` from basic_corp where erpId = io_order_detail_code.supId) supName
from io_order_detail_code
left join basic_udirel bu on bu.id = io_order_detail_code.bindRlFk

@ -31,7 +31,7 @@
AND invCode = #{invCode}
</if>
<if test="productType != null and productType != ''">
AND productType = #{productType}
AND io.productType = #{productType}
</if>
<if test="createUser != '' and createUser != null">
AND io.createUser = #{createUser}

@ -9,6 +9,9 @@
bp.ylqxzcrbarmc,
bp.manufactory,
bp.measname,
bp.bzgg,
bp.prepnUnit,
bp.prepnSpec,
basic_corp.`name` supName
from pur_receive_detail
inner join basic_udirel on basic_udirel.id = pur_receive_detail.relIdFk

Loading…
Cancel
Save