|
|
|
@ -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;
|
|
|
|
|