|  |  |  | @ -143,6 +143,8 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             originCode = ""; | 
			
		
	
		
			
				
					|  |  |  |  |         code = originCode + addEnterCodeRequest.getCode(); | 
			
		
	
		
			
				
					|  |  |  |  |         String newCode = addEnterCodeRequest.getCode(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //重复判断
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addEnterCodeRequest.getOriginCode())) { | 
			
		
	
		
			
				
					|  |  |  |  |             String tempOriginCode = addEnterCodeRequest.getOriginCode(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -228,6 +230,11 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             baseResponse.setData(originCode); | 
			
		
	
		
			
				
					|  |  |  |  |             return baseResponse; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (IntUtil.value(udiEntity.getProductType()) == 2) { | 
			
		
	
		
			
				
					|  |  |  |  |             //药品
 | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(udiEntity); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             if (code.endsWith("10" + udiEntity.getBatchNo())) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -324,9 +331,7 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         if (bindingResult.hasErrors()) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         AddCodeResult addCodeResult = new AddCodeResult(); | 
			
		
	
		
			
				
					|  |  |  |  |         BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         String code = addOrderRequest.getCode(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); | 
			
		
	
		
			
				
					|  |  |  |  |         if (code.endsWith("\u001D")) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -348,6 +353,21 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setSerialNo(addOrderRequest.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (IntUtil.value(udiEntity.getProductType()) == 2) { | 
			
		
	
		
			
				
					|  |  |  |  |             return adddGrugOrder(addOrderRequest, udiEntity, code); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             return addMaterOrder(addOrderRequest, udiEntity, code); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse addMaterOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         AddCodeResult addCodeResult = new AddCodeResult(); | 
			
		
	
		
			
				
					|  |  |  |  |         BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "无效条码!序列号超出最大范围"); | 
			
		
	
	
		
			
				
					|  |  |  | @ -908,41 +928,10 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(addCodeResult); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     //前端扫码提交(药品)
 | 
			
		
	
		
			
				
					|  |  |  |  |     @RepeatSubmit() | 
			
		
	
		
			
				
					|  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("warehouse/inout/drug/addOrderWeb") | 
			
		
	
		
			
				
					|  |  |  |  |     @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()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse adddGrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { | 
			
		
	
		
			
				
					|  |  |  |  |         AddCodeResult addCodeResult = new AddCodeResult(); | 
			
		
	
		
			
				
					|  |  |  |  |         BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         String code = addOrderRequest.getCode(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); | 
			
		
	
		
			
				
					|  |  |  |  |         if (code.endsWith("\u001D")) { | 
			
		
	
		
			
				
					|  |  |  |  |             code = code.replace("\u001D", ""); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(code); | 
			
		
	
		
			
				
					|  |  |  |  |         if (udiEntity == null) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "无效条码!"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getBatchNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setBatchNo(addOrderRequest.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getProduceDate())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setProduceDate(addOrderRequest.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getExpireDate())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setExpireDate(addOrderRequest.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setSerialNo(addOrderRequest.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //批次号校验
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -1302,7 +1291,7 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |                 } else | 
			
		
	
		
			
				
					|  |  |  |  |                     codeTempService.insert(codeEnttity); | 
			
		
	
		
			
				
					|  |  |  |  | //            } else if (bussinessTypeEntity.getCheckWebNew() == 2 && bussinessTypeEntity.isCheckEnable()) {
 | 
			
		
	
		
			
				
					|  |  |  |  |             } else if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_WAIT && bussinessTypeEntity.isCheckEnable()) { | 
			
		
	
		
			
				
					|  |  |  |  |             } else if (IntUtil.value(addOrderRequest.getOrderType()) == ConstantStatus.ORDER_TYPE_WAIT && bussinessTypeEntity.isCheckEnable()) { | 
			
		
	
		
			
				
					|  |  |  |  |                 String errMsg = ioCheckInoutService.checkDrugNoPiCode(codeEnttity); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (errMsg != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                     return ResultVOUtils.error(500, errMsg); | 
			
		
	
	
		
			
				
					|  |  |  | @ -1318,8 +1307,46 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(addCodeResult); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     //前端扫码提交(药品)
 | 
			
		
	
		
			
				
					|  |  |  |  |     @RepeatSubmit() | 
			
		
	
		
			
				
					|  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("warehouse/inout/drug/addOrderWeb") | 
			
		
	
		
			
				
					|  |  |  |  |     @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()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (bindingResult.hasErrors()) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         String code = addOrderRequest.getCode(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); | 
			
		
	
		
			
				
					|  |  |  |  |         if (code.endsWith("\u001D")) { | 
			
		
	
		
			
				
					|  |  |  |  |             code = code.replace("\u001D", ""); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(code); | 
			
		
	
		
			
				
					|  |  |  |  |         if (udiEntity == null) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "无效条码!"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getBatchNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setBatchNo(addOrderRequest.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getProduceDate())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setProduceDate(addOrderRequest.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getExpireDate())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setExpireDate(addOrderRequest.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setSerialNo(addOrderRequest.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return adddGrugOrder(addOrderRequest, udiEntity, code); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public void checkPrice(IoCodeTempEntity codeTempEntity, BasicBussinessTypeEntity bussinessTypeEntity, String inBatch, List<IoCodeTempEntity> codeTempEntities) { | 
			
		
	
		
			
				
					|  |  |  |  |     public void checkPrice(IoCodeTempEntity codeTempEntity, BasicBussinessTypeEntity bussinessTypeEntity, String | 
			
		
	
		
			
				
					|  |  |  |  |             inBatch, List<IoCodeTempEntity> codeTempEntities) { | 
			
		
	
		
			
				
					|  |  |  |  |         String priceFifo = systemParamConfigService.selectValueByParamKey("price_fifo"); | 
			
		
	
		
			
				
					|  |  |  |  |         if (IntUtil.value(priceFifo) > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |             //入库时添加入库批号
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -1362,7 +1389,8 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     //校验供应商是否配送此产品
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse checkCorp(IoCodeTempEntity codeEnttity, BasicBussinessTypeEntity bussinessTypeEntity, String unitFk) { | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse checkCorp(IoCodeTempEntity codeEnttity, BasicBussinessTypeEntity | 
			
		
	
		
			
				
					|  |  |  |  |             bussinessTypeEntity, String unitFk) { | 
			
		
	
		
			
				
					|  |  |  |  |         CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEnttity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         companyProductRelevanceRequest.setNameCode(udiEntity.getUdi()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -1440,7 +1468,8 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     //校验供应商唯一性
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse checkSupId(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeEnttity, String unitFk) { | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse checkSupId(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity | 
			
		
	
		
			
				
					|  |  |  |  |             codeEnttity, String unitFk) { | 
			
		
	
		
			
				
					|  |  |  |  |         String originSupId = unitFk; | 
			
		
	
		
			
				
					|  |  |  |  |         if (originSupId != null) { | 
			
		
	
		
			
				
					|  |  |  |  |             codeEnttity.setSupId(originSupId); | 
			
		
	
	
		
			
				
					|  |  |  | @ -2200,7 +2229,8 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * @param purType 1:入账库;2:预验收库;3:寄售库 | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     public boolean checkDiAttribute(BasicBussinessTypeEntity bussinessTypeEntity, UdiRelevanceResponse udiRelevanceEntity, Integer purType) { | 
			
		
	
		
			
				
					|  |  |  |  |     public boolean checkDiAttribute(BasicBussinessTypeEntity bussinessTypeEntity, UdiRelevanceResponse | 
			
		
	
		
			
				
					|  |  |  |  |             udiRelevanceEntity, Integer purType) { | 
			
		
	
		
			
				
					|  |  |  |  |         if (bussinessTypeEntity.getUseDyCount() == 2) { | 
			
		
	
		
			
				
					|  |  |  |  |             if (IntUtil.value(udiRelevanceEntity.getPurType()) == IntUtil.value(purType)) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return true; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |