| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation(value = "删除采购") |
| | | @DeleteMapping(value = "/delProcurement/{id}") |
| | | public R<String> delProcurement(@PathVariable String id) { |
| | | SysUser user = tokenService.getLoginUser().getUser(); |
| | | Integer roleType = user.getRoleType(); |
| | | String clinicSupplierId=null; |
| | | if(roleType == 5){ |
| | | // 诊所 |
| | | TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class) |
| | | .eq(TCrmClinic::getUserId, user.getUserId()) |
| | | .last("LIMIT 1")); |
| | | clinicSupplierId = crmClinic.getId(); |
| | | } |
| | | TErpProcurement tErpProcurement = erpProcurementService.getById(id); |
| | | if(tErpProcurement.getClinicId().equals(clinicSupplierId)){ |
| | | erpProcurementService.removeById( id); |
| | | return R.ok(); |
| | | }else { |
| | | return R.fail("无权限"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | public R<?> detailProcurementSend(@RequestBody DetailProcurementSendDto dto) { |
| | | SysUser user = tokenService.getLoginUser().getUser(); |
| | | Integer roleType = user.getRoleType(); |
| | | String clinicSupplierId=null; |
| | | List<String> clinicSupplierId=null; |
| | | if(roleType == 6){ |
| | | |
| | | TCrmWarehouse warehouse = crmWarehouseService.getOne(Wrappers.lambdaQuery(TCrmWarehouse.class) |
| | |
| | | .last("LIMIT 1")); |
| | | |
| | | // 供应商 |
| | | TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class) |
| | | .eq(TCrmSupplier::getWarehouseId, warehouse.getId()) |
| | | .last("LIMIT 1")); |
| | | clinicSupplierId=crmSupplier.getId(); |
| | | clinicSupplierId = crmSupplierService.list(Wrappers.lambdaQuery(TCrmSupplier.class) |
| | | .eq(TCrmSupplier::getWarehouseId, warehouse.getId())).stream().map(TCrmSupplier::getId).collect(Collectors.toList()); |
| | | } |
| | | erpProcurementService.detailProcurementSend(clinicSupplierId, user, dto.getId(),dto.getLogisticsNumber()); |
| | | return R.ok(); |
| | |
| | | |
| | | @ApiOperation(value = "采购详情入库") |
| | | @PostMapping(value = "/updateStatusProcurement") |
| | | public R<DetailProcurementVO> updateStatusProcurement(@RequestParam @Valid UpdateStatusProcurementLastDto dto) { |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R<DetailProcurementVO> updateStatusProcurement(@RequestBody @Valid UpdateStatusProcurementLastDto dto) { |
| | | SysUser user = tokenService.getLoginUser().getUser(); |
| | | Integer roleType = user.getRoleType(); |
| | | String clinicSupplierId=null; |
| | |
| | | return R.fail("目前状态无法入库"); |
| | | } |
| | | erpProcurement.setStatus(5); |
| | | erpProcurement.setWarehousingUserId(user.getUserId().toString()); |
| | | erpProcurement.setWarehousingTime(LocalDateTime.now()); |
| | | erpProcurementService.updateById(erpProcurement); |
| | | |
| | | List<String> collect = dto.getList().stream().map(UpdateStatusProcurementDto::getId).collect(Collectors.toList()); |
| | |
| | | // tErpClinicWarehousing.setUnitAmount(tErpProcurementGoods.getSalesAmount()); |
| | | tErpClinicWarehousing.setWarehousingType(1); |
| | | tErpClinicWarehousing.setType(1); |
| | | tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow()); |
| | | erpClinicWarehousingService.save(tErpClinicWarehousing); |
| | | |
| | | TErpClinicWarehousing last = erpClinicWarehousingService.getOne(new LambdaQueryWrapper<TErpClinicWarehousing>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpClinicWarehousing::getWarehouseNo).last("LIMIT 1")); |
| | | if(last==null){ |
| | | tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow()+"00001"); |
| | | }else { |
| | | String lastProcurementCode = last.getWarehouseNo(); |
| | | String datePart = "G" + DateUtils.dateTimeNow(); |
| | | |
| | | // 直接获取后五位数字并+1,不考虑是否同一天 |
| | | try { |
| | | String numberPart = lastProcurementCode.substring(Math.max(0, lastProcurementCode.length() - 5)); |
| | | int number = Integer.parseInt(numberPart); |
| | | if (number < 99999) { |
| | | number++; |
| | | } else { |
| | | number = 2; // 达到99999后重置为00002 |
| | | } |
| | | tErpClinicWarehousing.setWarehouseNo(datePart + String.format("%05d", number)); |
| | | } catch (NumberFormatException e) { |
| | | // 如果解析失败,默认从00001开始 |
| | | tErpClinicWarehousing.setWarehouseNo(datePart + "00001"); |
| | | } |
| | | } |
| | | tErpClinicWarehousing.setProcurementId(erpProcurement.getId()); |
| | | try { |
| | | erpClinicWarehousingService.save(tErpClinicWarehousing); |
| | | }catch (Exception e){ |
| | | throw new RuntimeException("网络繁忙,请重试"); |
| | | } |
| | | // goodsId分组 |
| | | for (UpdateStatusProcurementDto updateStatusProcurementDto : dto.getList()) { |
| | | TErpProcurementGoods tErpProcurementGoods = list.stream().filter(t -> t.getId().equals(updateStatusProcurementDto.getId())).findFirst().get(); |
| | |
| | | tErpProcurementCommission.setProcurementId(erpProcurement.getId()); |
| | | tErpProcurementCommission.setCommissionType(1); |
| | | tErpProcurementCommission.setBranchSalespersonId(branchId); |
| | | tErpProcurementCommission.setMoney(commission.doubleValue()); |
| | | tErpProcurementCommission.setMoney(commission); |
| | | erpProcurementCommissionService.save(tErpProcurementCommission); |
| | | |
| | | } |
| | |
| | | tErpProcurementCommission.setProcurementId(erpProcurement.getId()); |
| | | tErpProcurementCommission.setCommissionType(2); |
| | | tErpProcurementCommission.setBranchSalespersonId(salespersonId); |
| | | tErpProcurementCommission.setMoney(commission.doubleValue()); |
| | | tErpProcurementCommission.setMoney(commission); |
| | | erpProcurementCommissionService.save(tErpProcurementCommission); |
| | | } |
| | | |