8/9 药品管理字段优化,生成单据的时候设置产品类型,响应字段,带票出入库根据订单号分组过滤

workplace
wangwei 11 months ago
parent 7e021afe6e
commit 95cd6628f5

@ -339,6 +339,13 @@ public class IoOrderController extends BaseController {
orderEntity.setDeptCode(addOrderRequest.getDeptCode()); orderEntity.setDeptCode(addOrderRequest.getDeptCode());
orderEntity.setBillNo(addOrderRequest.getBillNo()); orderEntity.setBillNo(addOrderRequest.getBillNo());
orderEntity.setInvCode(addOrderRequest.getInvCode()); orderEntity.setInvCode(addOrderRequest.getInvCode());
if (addOrderRequest.getProductType() == null){
//器械单据
orderEntity.setProductType(1);
}else {
//药品单据
orderEntity.setProductType(addOrderRequest.getProductType());
}
orderService.updateByBillNo(orderEntity); orderService.updateByBillNo(orderEntity);
IoCodeTempEntity warehouseEntity = new IoCodeTempEntity(); IoCodeTempEntity warehouseEntity = new IoCodeTempEntity();
warehouseEntity.setOrderId(orderEntity.getBillNo()); warehouseEntity.setOrderId(orderEntity.getBillNo());
@ -952,12 +959,15 @@ public class IoOrderController extends BaseController {
* @return * @return
*/ */
@GetMapping("udiwms/inout/order/filterOrderTrace") @GetMapping("udiwms/inout/order/filterOrderTrace")
public BaseResponse filterOrderTrace(String billNo) { public BaseResponse filterOrderTrace(String billNo,Integer productType) {
if (StrUtil.isBlank(billNo)) { if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
if (productType == null){
productType = 1;
}
//只用于单据维护 加了状态判断了 //只用于单据维护 加了状态判断了
List<IoOrderEntity> list = orderService.filterOrderTrace(billNo); List<IoOrderEntity> list = orderService.filterOrderTrace(billNo,productType);
List<IoOrderResponse> responses = orderService.findResponse(list); List<IoOrderResponse> responses = orderService.findResponse(list);
return ResultVOUtils.success(responses); return ResultVOUtils.success(responses);
} }

@ -423,6 +423,8 @@ public class IoOrderReviewController extends BaseController {
if (CollUtil.isNotEmpty(codeList)) { if (CollUtil.isNotEmpty(codeList)) {
if (StrUtil.isNotEmpty(code)) { if (StrUtil.isNotEmpty(code)) {
code = code.replace("\r\n", ""); code = code.replace("\r\n", "");
code = code.replace("\r", ""); // 替换单独的回车符
code = code.replace("\n", "");
} }
if (code.endsWith("\u001D")) { if (code.endsWith("\u001D")) {
code = code.replace("\u001D", ""); code = code.replace("\u001D", "");

@ -88,5 +88,5 @@ public class CompanyProductRelevanceRequest extends ListPageRequest {
@TableField(value = "codeCheck") @TableField(value = "codeCheck")
private Integer codeCheck; private Integer codeCheck;
private Integer productsType;//默认是耗材 private Integer productsType = 1;//默认是耗材
} }

@ -116,7 +116,7 @@ public class FilterUdiRelRequest extends ListPageRequest {
//药品参数 //药品参数
private String cpms; private String cpms;
private Integer productsType;//默认是耗材 private Integer productsType = 1;//默认是耗材
/** /**
* *

@ -45,4 +45,5 @@ public class AddOrderRequest {
private String sickerAdNum; private String sickerAdNum;
private String workPlaceCode; private String workPlaceCode;
private Integer productType;
} }

@ -61,4 +61,9 @@ public class FilterOrderDetailResultRequest extends ListPageRequest {
private String confirmStarTime; //发票确认起始日期 private String confirmStarTime; //发票确认起始日期
private String confirmEndTime; //发票确认结束日期 private String confirmEndTime; //发票确认结束日期
private String corpName;//供应商名字 private String corpName;//供应商名字
/**
* 1: 2:
*/
private Integer productType = 1;
} }

@ -221,4 +221,9 @@ public class FilterOrderRequest extends ListPageRequest {
* 12 * 12
*/ */
private Integer invoiceRegStatus; private Integer invoiceRegStatus;
/**
*
*/
private Integer productType = 1;
} }

@ -126,5 +126,6 @@ public class UdiRlSupResponse {
private String bzgg; private String bzgg;
private String prepnUnit; private String prepnUnit;
private String prepnSpec; private String prepnSpec;
private String packMatrial;
} }

@ -218,6 +218,18 @@ public class IoOrderDetailResultResponse {
private String corpName; private String corpName;
//制剂规格
private String prepnSpec;
//包装规格
private String bzgg;
//包装单位
private String prepnUnit;
//包装单位
private String packMatrial;
//生产企业
private String manufactory;
public String getFromName() { public String getFromName() {
if (StrUtil.isNotEmpty(fromCorpName)) if (StrUtil.isNotEmpty(fromCorpName))
return fromCorpName; return fromCorpName;

@ -102,7 +102,7 @@ public interface IoOrderService {
* @param billNo * @param billNo
* @return * @return
*/ */
List<IoOrderEntity> filterOrderTrace(String billNo); List<IoOrderEntity> filterOrderTrace(String billNo,Integer productType);
/** /**
* VO * VO

@ -810,8 +810,8 @@ public class IoOrderServiceImpl implements IoOrderService {
@Override @Override
public List<IoOrderEntity> filterOrderTrace(String billNo) { public List<IoOrderEntity> filterOrderTrace(String billNo,Integer productType) {
IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo).in("status", 5, 7, 10).in("dealStatus", 2, 3, 4)); IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo).eq("productType",productType).in("status", 5, 7, 10).in("dealStatus", 2, 3, 4));
if (null == order) { if (null == order) {
return Collections.emptyList(); return Collections.emptyList();

@ -584,7 +584,7 @@
basic_products.indate, basic_products.indate,
basic_products.majorType, basic_products.majorType,
basic_products.medicareType, basic_products.medicareType,
basic_products.requireScanCode, basic_products.requireScanCode,
th.hsmc hslbName th.hsmc hslbName
FROM basic_products FROM basic_products
inner JOIN basic_udirel inner JOIN basic_udirel

@ -112,6 +112,7 @@
basic_products.bzgg, basic_products.bzgg,
basic_products.prepnUnit, basic_products.prepnUnit,
basic_products.prepnSpec, basic_products.prepnSpec,
basic_products.packMatrial,
basic_products.matrial basic_products.matrial
FROM company_product_relevance FROM company_product_relevance
inner JOIN basic_udirel inner JOIN basic_udirel

@ -51,6 +51,9 @@
<if test="id != null and id != ''"> <if test="id != null and id != ''">
AND id = #{id} AND id = #{id}
</if> </if>
<if test="productType != null and productType != ''">
AND io.productType = #{productType}
</if>
<if test="keyWords != null and keyWords != ''"> <if test="keyWords != null and keyWords != ''">
AND (aw.name like concat('%', #{keyWords}, '%') or bc.name like concat('%', #{keyWords}, '%')) AND (aw.name like concat('%', #{keyWords}, '%') or bc.name like concat('%', #{keyWords}, '%'))
</if> </if>

@ -28,20 +28,28 @@
a1.mainAction, a1.mainAction,
a1.confirmTime as confirmTime, a1.confirmTime as confirmTime,
a1.auditTime, a1.auditTime,
bp.prepnSpec,
bp.bzgg,
bp.prepnUnit,
bp.packMatrial,
bp.manufactory,
b1.NAME AS corpName, b1.NAME AS corpName,
(select name from auth_warehouse aw where aw.code = a1.fromInvCode) as fromInvName, (select name from auth_warehouse aw where aw.code = a1.fromInvCode) as fromInvName,
(SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName (SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName
FROM io_order_detail_result a2 FROM io_order_detail_result a2
LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_corp b1 ON b1.erpId = a1.fromCorp LEFT JOIN basic_corp b1 ON b1.erpId = a1.fromCorp
LEFT JOIN basic_udirel bu ON a2.bindRlFk = bu.id
LEFT JOIN basic_products bp ON bp.uuid = bu.uuid
left join auth_warehouse aw on aw.code = a1.fromInvCode left join auth_warehouse aw on aw.code = a1.fromInvCode
<where> <where>
a1.status = 7 a1.status = 7
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND a2.orderIdFk = #{orderIdFk} AND a2.orderIdFk = #{orderIdFk}
</if> </if>
<if test="productType != null and productType != ''">
AND a1.productType = #{productType}
</if>
<if test="keyWords != null and keyWords != ''"> <if test="keyWords != null and keyWords != ''">
AND (aw.name like concat('%', #{keyWords}, '%') or b1.name like concat('%', #{keyWords}, '%')) AND (aw.name like concat('%', #{keyWords}, '%') or b1.name like concat('%', #{keyWords}, '%'))
</if> </if>
@ -100,6 +108,7 @@
</foreach> </foreach>
</if> </if>
</where> </where>
GROUP BY a1.billNo
</select> </select>
<select id="selectStatDataByTime" resultType="com.glxp.api.res.inv.IoOrderDetailStatRsponse"> <select id="selectStatDataByTime" resultType="com.glxp.api.res.inv.IoOrderDetailStatRsponse">

Loading…
Cancel
Save