diff --git a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java
index 0d69cdef4..507bfb19c 100644
--- a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java
+++ b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java
@@ -150,6 +150,7 @@ public class BasicOrderPrintController {
bizData.put("serialNo", udiProductEntity.getSerialNo() == null ? ' ' : udiProductEntity.getSerialNo());
bizData.put("productDate", obj.getProductDate());
bizData.put("expireDate", obj.getExpireDate());
+ bizData.put("confirmTime", formatter.format(ioOrderResponse.getConfirmTime()));
bizData.put("manufactor", obj.getManufacturer());
bizData.put("zczbhhzbapzbh", obj.getCertCode() == null ? ' ' : obj.getCertCode());
bizData.put("ylqxzcrbarmc", udiProductEntity.getYlqxzcrbarmc() == null ? ' ' : udiProductEntity.getYlqxzcrbarmc());
@@ -238,6 +239,7 @@ public class BasicOrderPrintController {
bizData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo());
bizData.put("productDate", ioOrderDetailBizEntity.getProductDate());
bizData.put("expireDate", ioOrderDetailBizEntity.getExpireDate());
+ bizData.put("confirmTime", formatter.format(ioOrderResponse.getConfirmTime()));
bizData.put("manufactor", ioOrderDetailBizEntity.getManufacturer());
bizData.put("zczbhhzbapzbh", ioOrderDetailBizEntity.getCertCode() == null ? ' ' : ioOrderDetailBizEntity.getCertCode());
bizData.put("udiCode", obj.getCode().replaceAll("\u001D", ""));
diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java
index 6d20e46e4..1051ec487 100644
--- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java
+++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java
@@ -386,6 +386,7 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setCatalogname3(udiRelevanceSaveRequest.getCatalogname3());
udiProductEntity.setMatrial(udiRelevanceSaveRequest.getMatrial());
udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode());
+ udiProductEntity.setRequireCost(udiRelevanceSaveRequest.getRequireCost());
udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm());
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) {
diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
index 61405a3b1..98aa95346 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
@@ -2,9 +2,11 @@ package com.glxp.api.controller.inout;
import com.glxp.api.annotation.CusRedissonAnnotation;
import com.glxp.api.constant.*;
+import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.exception.JsonException;
+import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.impl.InvProductDetailService;
import org.springframework.beans.BeanUtils;
@@ -93,6 +95,8 @@ public class IoCodeTempController extends BaseController {
IoOrderDetailCodeService ioOrderDetailCodeService;
@Resource
IoCheckInvService checkInvService;
+ @Resource
+ UdiRelevanceDao udiRelevanceDao;
/**
* PDA-----单据上传
@@ -430,6 +434,17 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "单据只允许录入不需要扫码产品" + ",请检查后重试!");
}
}
+
+ //是否需要收费校验 是否已绑定收费项目
+ if (IntUtil.value(bussinessTypeEntity.getRequireCost()) == 1 ){
+ FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
+ filterUdiRelRequest.setUuid(udiInfoEntity.getUuid());
+ UdiRelevanceResponse udiRelevanceResponse = udiRelevanceDao.selectOneUdiJoinSup(filterUdiRelRequest);
+ if(IntUtil.value(udiRelevanceResponse.getRequireCost()) == 1) {
+ String thirdId = udiRelevanceResponse.getThirdId();
+ if (StrUtil.isEmpty(thirdId)) return ResultVOUtils.error(500, "当前产品未绑定收费项目" + ",请检查后重试!");
+ }
+ }
}
diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java
index f43ea9087..3e3a65d51 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java
@@ -253,6 +253,12 @@ public class IoOrderDetailBizController extends BaseController {
return ResultVOUtils.error(500, "单据只允许录入不需要扫码产品" + ",请检查后重试!");
}
}
+
+ //是否需要收费校验 是否已绑定收费项目
+ if (IntUtil.value(bussinessTypeEntity.getRequireCost()) == 1 && IntUtil.value(udiRelevanceResponse.getRequireCost()) == 1) {
+ String thirdId = udiRelevanceResponse.getThirdId();
+ if (StrUtil.isEmpty(thirdId)) return ResultVOUtils.error(500, "当前产品未绑定收费项目" + ",请检查后重试!");
+ }
}
// todo 查询产品是否已经通过认证
diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java
index 7d653b812..0a4ddf0ad 100644
--- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java
+++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java
@@ -511,6 +511,12 @@ public class BasicBussinessTypeEntity {
@TableField(value = "requireScanCode")
private Integer requireScanCode;
+ /**
+ * 校验是否需要收费 :0:不需要;1.需要
+ */
+ @TableField(value = "requireCost")
+ private Integer requireCost;
+
/**
* 是否开启校验扫码 :0:不校验;1:只允许录入扫码产品;2:只允许录入不扫码产品
*/
diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java
index 34bab34d7..a4045a3e0 100644
--- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java
+++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java
@@ -140,5 +140,6 @@ public class UdiProductEntity {
private Integer hcType;
private Integer requireScanCode;
+ private Integer requireCost;
private Boolean isStack;
}
diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
index 0ce110322..6b635048a 100644
--- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
@@ -341,5 +341,9 @@ public class BussinessTypeSaveRequest {
@TableField(value = "codeCheck")
private Integer codeCheck;
-
+ /**
+ * 校验是否需要收费 :0:不需要;1.需要
+ */
+ @TableField(value = "requireCost")
+ private Integer requireCost;
}
diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java
index 22617300b..9f2e3aa3b 100644
--- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java
@@ -152,4 +152,5 @@ public class UdiRelevanceSaveRequest {
private String matrial;
private Integer requireScanCode;
+ private Integer requireCost;
}
diff --git a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
index ddd7feb26..03a631825 100644
--- a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
+++ b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
@@ -223,4 +223,6 @@ public class BasicBussinessTypeResponse {
@TableField(value = "codeCheck")
private Integer codeCheck;
+ private Integer requireCost;
+
}
diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java
index 42cc26b9f..565dfc36c 100644
--- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java
+++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java
@@ -202,6 +202,7 @@ public class UdiRelevanceResponse {
private Integer destinyType;
private Integer requireScanCode;
+ private Integer requireCost;
/**
* 包装规格
diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
index 7a241cfee..ae6b35797 100644
--- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
@@ -324,6 +324,13 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
throw new JsonException("单据只允许录入不需要扫码产品" + ",请检查后重试!");
}
}
+
+ //是否需要收费校验 是否已绑定收费项目
+ if (IntUtil.value(bussinessTypeEntity.getRequireCost()) == 1 && IntUtil.value(udiRelevanceResponse.getRequireCost()) == 1) {
+ String thirdId = udiRelevanceResponse.getThirdId();
+ if (StrUtil.isEmpty(thirdId)) throw new JsonException("当前产品未绑定收费项目" + ",请检查后重试!");
+ }
+
}
diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml
index 9a0be1941..566cdb83f 100644
--- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml
+++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml
@@ -736,6 +736,9 @@
requireScanCode=#{requireScanCode},
+
+ requireCost=#{requireCost},
+
where uuid = #{uuid}
diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml
index 1333ded13..2a0345479 100644
--- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml
+++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml
@@ -559,6 +559,7 @@
basic_products.catalogname3,
basic_products.matrial,
basic_products.requireScanCode,
+ basic_products.requireCost,
th.hsmc hslbName
FROM basic_products
inner JOIN basic_udirel
@@ -1676,6 +1677,8 @@
basic_products.mjfs,
basic_products.categoryName,
company_product_relevance.unitFk,
+ basic_products.requireScanCode,
+ basic_products.requireCost,
basic_corp.name companyName
FROM basic_udirel
inner JOIN basic_products
diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml
index bc6f42b35..b67be7ba3 100644
--- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml
+++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml
@@ -220,6 +220,9 @@
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and
date_format(#{endAduditTime}, '%Y-%m-%d')
+
+ AND date_format(a1.confirmTime, '%Y-%m-%d') between date_format(#{confirmStarTime}, '%Y-%m-%d') and date_format(#{confirmEndTime}, '%Y-%m-%d')
+
AND a1.`action` in
diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql
index efe880fe5..85f2e877b 100644
--- a/src/main/resources/schemas/schema_v2.4.sql
+++ b/src/main/resources/schemas/schema_v2.4.sql
@@ -3921,3 +3921,11 @@ CREATE TABLE IF NOT EXISTS `device_asset_contract`
INSERT ignore INTO `basic_bussiness_type`(`id`, `mainAction`, `action`, `name`, `enable`, `remark`, `thirdSysFk`, `genUnit`, `innerOrder`, `secCheckEnable`, `checkEnable`, `checkUdims`, `checkPdaEd`, `checkPdaUn`, `checkPc`, `checkWebNew`, `checkSp`, `checkChange`, `secCheckUdims`, `secCheckPdaEd`, `secCheckPdaUn`, `secCheckPc`, `secCheckWebNew`, `secCheckChange`, `secCheckSp`, `corpType`, `supplementOrderType`, `checkBalance`, `secCheckBalance`, `useDyCount`, `expireTip`, `updateTime`, `defaultUnit`, `prefix`, `outToSpms`, `ullageFill`, `scanPreIn`, `vailInv`, `entrutSpms`, `codeFillCheck`, `defaultSubInv`, `defaultInv`, `orderVisibleType`, `checkCopy`, `secCheckCopy`, `originAction`, `advanceType`, `changeEnable`, `spUse`, `preIn`, `preInBack`, `supplementAll`, `createUser`, `createTime`, `updateUser`, `vailDispatch`, `vailGroupBuy`, `busType`, `inStock`, `actionType`, `thrCheckEnable`, `thrCheckWebNew`, `thrCheckPdaUn`, `thrCheckPdaEd`, `thrCheckUdims`, `thrCheckPc`, `thrCheckSp`, `thrCheckChange`, `thrCheckBalance`, `thrCheckCopy`, `fillCodeRel`, `checkVailDate`, `checkExpire`, `checkCertExpire`, `preInBackAction`, `backPreinType`, `advancePreIn`, `sortNum`, `spaceOut`, `checkReview`, `secCheckReview`, `thrCheckReview`, `checkWebNewType`, `editType`, `inPreInBack`, `deptNoInvType`, `vailPrescribe`, `inputSick`, `groupBuySplit`, `vailInvBatchNo`, `vailProductAttributes`, `devInType`, `vailHcType`, `requireScanCode`, `codeCheck`) VALUES (1844274444567728128, 'WareHouseIn', 'SC72854426720051', '科室退费入库', 1, '', '', 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', 0, 0, 0, 1, '2024-10-10 15:49:37', NULL, NULL, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, NULL, NULL, 0, 0, NULL, 0, 0, NULL, NULL, '1', 0, 0, NULL, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, NULL, 1, 0, 999, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, NULL, 0, NULL, 0, NULL, b'0', NULL);
+
+CALL Pro_Temp_ColumnWork('basic_products', 'requireCost',
+ 'bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否需要收费 1是;0否''',
+ 1);
+
+CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'requireCost',
+ 'bit(1) NOT NULL DEFAULT b''0'' COMMENT ''校验是否需要收费 1是;0否''',
+ 1);
\ No newline at end of file